From b9a5d10bde3015f5aa27e1578d28f2d1af373d98 Mon Sep 17 00:00:00 2001 From: hellertang Date: Thu, 28 Nov 2024 12:40:42 +0000 Subject: [PATCH] sync provider Signed-off-by: hellertang --- .../pulumi-resource-tencentcloud/schema.json | 15183 +++++++++++++++- provider/go.mod | 54 +- provider/go.sum | 147 +- sdk/dotnet/Config/Config.cs | 103 +- .../LifecycleHookLifecycleCommandArgs.cs | 33 + .../LifecycleHookLifecycleCommandGetArgs.cs | 33 + ...StartInstanceRefreshRefreshSettingsArgs.cs | 33 + ...rtInstanceRefreshRefreshSettingsGetArgs.cs | 33 + ...efreshSettingsRollingUpdateSettingsArgs.cs | 39 + ...eshSettingsRollingUpdateSettingsGetArgs.cs | 39 + sdk/dotnet/Tencentcloud/As/LifecycleHook.cs | 79 +- ...etScalingConfigsConfigurationListResult.cs | 9 +- .../Outputs/LifecycleHookLifecycleCommand.cs | 36 + .../StartInstanceRefreshRefreshSettings.cs | 36 + ...eshRefreshSettingsRollingUpdateSettings.cs | 43 + sdk/dotnet/Tencentcloud/As/ScalingConfig.cs | 84 +- sdk/dotnet/Tencentcloud/As/ScalingGroup.cs | 39 + .../Tencentcloud/As/StartInstanceRefresh.cs | 164 + sdk/dotnet/Tencentcloud/Audit/GetEvents.cs | 258 + .../Audit/Inputs/GetEventsLookupAttribute.cs | 35 + .../Inputs/GetEventsLookupAttributeArgs.cs | 35 + .../Audit/Inputs/TrackStorageArgs.cs | 12 + .../Audit/Inputs/TrackStorageGetArgs.cs | 12 + .../Outputs/GetEventsEventResourcesResult.cs | 37 + .../Audit/Outputs/GetEventsEventResult.cs | 143 + .../Outputs/GetEventsLookupAttributeResult.cs | 38 + .../Audit/Outputs/TrackStorage.cs | 14 + sdk/dotnet/Tencentcloud/Audit/Track.cs | 40 +- .../Batch/ApplyAccountBaselines.cs | 171 + ...yAccountBaselinesBaselineConfigItemArgs.cs | 33 + ...countBaselinesBaselineConfigItemGetArgs.cs | 33 + ...ApplyAccountBaselinesBaselineConfigItem.cs | 36 + sdk/dotnet/Tencentcloud/Batch/README.md | 1 + sdk/dotnet/Tencentcloud/Cam/GetRoleDetail.cs | 89 + sdk/dotnet/Tencentcloud/Cam/GetSubAccounts.cs | 89 + .../Outputs/GetRoleDetailRoleInfoResult.cs | 103 + .../Outputs/GetRoleDetailRoleInfoTagResult.cs | 36 + .../Outputs/GetSubAccountsSubAccountResult.cs | 73 + sdk/dotnet/Tencentcloud/Cbs/GetStorages.cs | 121 +- sdk/dotnet/Tencentcloud/Cbs/GetStoragesSet.cs | 31 +- .../GetStoragesSetStorageListResult.cs | 9 +- .../Outputs/GetStoragesStorageListResult.cs | 9 +- sdk/dotnet/Tencentcloud/Cbs/Storage.cs | 67 +- sdk/dotnet/Tencentcloud/Cbs/StorageSet.cs | 60 +- sdk/dotnet/Tencentcloud/Ccn/Attachment.cs | 125 +- .../Ccn/GetRouteTableInputPolicies.cs | 174 + sdk/dotnet/Tencentcloud/Ccn/GetRoutes.cs | 234 + .../Ccn/Inputs/GetRoutesFilter.cs | 39 + .../Ccn/Inputs/GetRoutesFilterArgs.cs | 39 + ...ableAssociateInstanceConfigInstanceArgs.cs | 33 + ...eAssociateInstanceConfigInstanceGetArgs.cs | 33 + .../RouteTableBroadcastPoliciesPolicyArgs.cs | 57 + ...astPoliciesPolicyBroadcastConditionArgs.cs | 45 + ...PoliciesPolicyBroadcastConditionGetArgs.cs | 45 + ...outeTableBroadcastPoliciesPolicyGetArgs.cs | 57 + ...oadcastPoliciesPolicyRouteConditionArgs.cs | 45 + ...castPoliciesPolicyRouteConditionGetArgs.cs | 45 + .../RouteTableInputPoliciesPolicyArgs.cs | 45 + .../RouteTableInputPoliciesPolicyGetArgs.cs | 45 + ...leInputPoliciesPolicyRouteConditionArgs.cs | 45 + ...nputPoliciesPolicyRouteConditionGetArgs.cs | 45 + ...bleSelectionPoliciesSelectionPolicyArgs.cs | 51 + ...SelectionPoliciesSelectionPolicyGetArgs.cs | 51 + sdk/dotnet/Tencentcloud/Ccn/Instance.cs | 62 +- ...TableInputPoliciesPolicySetPolicyResult.cs | 57 + ...ciesPolicySetPolicyRouteConditionResult.cs | 43 + ...tRouteTableInputPoliciesPolicySetResult.cs | 43 + .../Ccn/Outputs/GetRoutesFilterResult.cs | 36 + .../Ccn/Outputs/GetRoutesRouteListResult.cs | 113 + ...uteTableAssociateInstanceConfigInstance.cs | 36 + .../RouteTableBroadcastPoliciesPolicy.cs | 50 + ...oadcastPoliciesPolicyBroadcastCondition.cs | 43 + ...leBroadcastPoliciesPolicyRouteCondition.cs | 43 + .../Outputs/RouteTableInputPoliciesPolicy.cs | 43 + ...eTableInputPoliciesPolicyRouteCondition.cs | 43 + ...teTableSelectionPoliciesSelectionPolicy.cs | 57 + sdk/dotnet/Tencentcloud/Ccn/RouteTable.cs | 218 + .../Ccn/RouteTableAssociateInstanceConfig.cs | 237 + .../Ccn/RouteTableBroadcastPolicies.cs | 257 + .../Ccn/RouteTableInputPolicies.cs | 245 + .../Ccn/RouteTableSelectionPolicies.cs | 217 + sdk/dotnet/Tencentcloud/Ccn/Routes.cs | 12 +- .../Tencentcloud/Cdc/DedicatedCluster.cs | 192 + .../Cdc/GetDedicatedClusterHosts.cs | 140 + .../Cdc/GetDedicatedClusterInstanceTypes.cs | 140 + .../Cdc/GetDedicatedClusterOrders.cs | 240 + ...tDedicatedClusterHostsHostInfoSetResult.cs | 99 + ...esDedicatedClusterInstanceTypeSetResult.cs | 127 + ...OrderSetDedicatedClusterOrderItemResult.cs | 155 + ...terOrdersDedicatedClusterOrderSetResult.cs | 162 + sdk/dotnet/Tencentcloud/Cdc/README.md | 1 + sdk/dotnet/Tencentcloud/Cdc/Site.cs | 530 + sdk/dotnet/Tencentcloud/Cdn/Domain.cs | 18 + .../Cdn/Inputs/DomainOriginArgs.cs | 10 +- .../Cdn/Inputs/DomainOriginGetArgs.cs | 10 +- .../Inputs/DomainOthersPrivateAccessArgs.cs | 71 + .../DomainOthersPrivateAccessGetArgs.cs | 71 + .../Tencentcloud/Cdn/Outputs/DomainOrigin.cs | 11 +- .../Cdn/Outputs/DomainOthersPrivateAccess.cs | 57 + .../Tencentcloud/Cdwdoris/GetInstances.cs | 238 + .../Cdwdoris/Inputs/GetInstancesSearchTag.cs | 39 + .../Inputs/GetInstancesSearchTagArgs.cs | 39 + .../Cdwdoris/Inputs/InstanceBeSpecArgs.cs | 39 + .../Cdwdoris/Inputs/InstanceBeSpecGetArgs.cs | 39 + .../Inputs/InstanceChargePropertiesArgs.cs | 45 + .../Inputs/InstanceChargePropertiesGetArgs.cs | 45 + .../Cdwdoris/Inputs/InstanceFeSpecArgs.cs | 39 + .../Cdwdoris/Inputs/InstanceFeSpecGetArgs.cs | 39 + .../Cdwdoris/Inputs/InstanceTagArgs.cs | 33 + .../Cdwdoris/Inputs/InstanceTagGetArgs.cs | 33 + .../Inputs/InstanceUserMultiZoneInfosArgs.cs | 39 + .../InstanceUserMultiZoneInfosGetArgs.cs | 39 + .../Inputs/WorkloadGroupWorkloadGroupArgs.cs | 51 + .../WorkloadGroupWorkloadGroupGetArgs.cs | 51 + sdk/dotnet/Tencentcloud/Cdwdoris/Instance.cs | 607 + ...ancesListCoreSummaryAttachCbsSpecResult.cs | 50 + ...InstancesInstancesListCoreSummaryResult.cs | 120 + ...cesListMasterSummaryAttachCbsSpecResult.cs | 50 + ...stancesInstancesListMasterSummaryResult.cs | 120 + .../GetInstancesInstancesListResult.cs | 344 + .../GetInstancesInstancesListTagResult.cs | 36 + .../Outputs/GetInstancesSearchTagResult.cs | 43 + .../Cdwdoris/Outputs/InstanceBeSpec.cs | 43 + .../Outputs/InstanceChargeProperties.cs | 50 + .../Cdwdoris/Outputs/InstanceFeSpec.cs | 43 + .../Cdwdoris/Outputs/InstanceTag.cs | 36 + .../Outputs/InstanceUserMultiZoneInfos.cs | 43 + .../Outputs/WorkloadGroupWorkloadGroup.cs | 57 + sdk/dotnet/Tencentcloud/Cdwdoris/README.md | 1 + .../Tencentcloud/Cdwdoris/WorkloadGroup.cs | 210 + sdk/dotnet/Tencentcloud/Clb/Attachment.cs | 152 +- sdk/dotnet/Tencentcloud/Clb/Instance.cs | 417 +- sdk/dotnet/Tencentcloud/Clb/Listener.cs | 18 + .../Tencentcloud/Clb/ListenerDefaultDomain.cs | 177 + sdk/dotnet/Tencentcloud/Clb/ListenerRule.cs | 102 +- .../Clb/Outputs/GetInstancesClbListResult.cs | 7 + sdk/dotnet/Tencentcloud/Cls/DataTransform.cs | 54 +- sdk/dotnet/Tencentcloud/Cls/GetLogsets.cs | 210 + .../Inputs/DataTransformDstResourceArgs.cs | 4 +- .../Inputs/DataTransformDstResourceGetArgs.cs | 4 +- .../Cls/Inputs/GetLogsetsFilter.cs | 39 + .../Cls/Inputs/GetLogsetsFilterArgs.cs | 39 + .../Inputs/TopicExtendsAnonymousAccessArgs.cs | 45 + ...opicExtendsAnonymousAccessConditionArgs.cs | 39 + ...cExtendsAnonymousAccessConditionGetArgs.cs | 39 + .../TopicExtendsAnonymousAccessGetArgs.cs | 45 + .../Cls/Inputs/TopicExtendsArgs.cs | 27 + .../Cls/Inputs/TopicExtendsGetArgs.cs | 27 + .../Cls/Outputs/DataTransformDstResource.cs | 4 +- .../Cls/Outputs/GetLogsetsFilterResult.cs | 36 + .../Cls/Outputs/GetLogsetsLogsetResult.cs | 71 + .../Cls/Outputs/GetLogsetsLogsetTagResult.cs | 36 + .../Tencentcloud/Cls/Outputs/TopicExtends.cs | 28 + .../Outputs/TopicExtendsAnonymousAccess.cs | 36 + .../TopicExtendsAnonymousAccessCondition.cs | 43 + sdk/dotnet/Tencentcloud/Cls/Topic.cs | 104 +- sdk/dotnet/Tencentcloud/Cos/Batch.cs | 2 + sdk/dotnet/Tencentcloud/Cos/Bucket.cs | 269 +- .../Cos/BucketDomainCertificateAttachment.cs | 2 + ...etGenerateInventoryImmediatelyOperation.cs | 2 + .../Tencentcloud/Cos/BucketInventory.cs | 54 +- sdk/dotnet/Tencentcloud/Cos/BucketPolicy.cs | 6 +- sdk/dotnet/Tencentcloud/Cos/BucketReferer.cs | 2 + sdk/dotnet/Tencentcloud/Cos/GetBatchs.cs | 4 + .../Tencentcloud/Cos/GetBucketInventorys.cs | 4 + .../Cos/Inputs/BucketWebsiteArgs.cs | 6 + .../Cos/Inputs/BucketWebsiteGetArgs.cs | 6 + .../Tencentcloud/Cos/ObjectCopyOperation.cs | 6 +- .../Cos/ObjectRestoreOperation.cs | 2 + .../Tencentcloud/Cos/Outputs/BucketWebsite.cs | 9 +- sdk/dotnet/Tencentcloud/Cvm/ActionTimer.cs | 196 + .../Cvm/Inputs/ActionTimerActionTimerArgs.cs | 33 + .../Inputs/ActionTimerActionTimerGetArgs.cs | 33 + .../Cvm/Inputs/LaunchTemplatePlacementArgs.cs | 3 +- .../Inputs/LaunchTemplatePlacementGetArgs.cs | 3 +- .../Cvm/Outputs/ActionTimerActionTimer.cs | 36 + .../GetChcHostsChcHostSetPlacementResult.cs | 2 +- .../Cvm/Outputs/LaunchTemplatePlacement.cs | 2 +- sdk/dotnet/Tencentcloud/Cynosdb/Cluster.cs | 261 +- sdk/dotnet/Tencentcloud/Dasb/User.cs | 12 +- sdk/dotnet/Tencentcloud/Eip/Instance.cs | 18 + .../Inputs/InstanceCosBackupArgs.cs | 33 + .../Inputs/InstanceCosBackupGetArgs.cs | 33 + .../Inputs/InstanceNodeInfoListArgs.cs | 2 +- .../Inputs/InstanceNodeInfoListGetArgs.cs | 2 +- .../Tencentcloud/Elasticsearch/Instance.cs | 23 + .../Outputs/InstanceCosBackup.cs | 36 + .../Outputs/InstanceNodeInfoList.cs | 2 +- sdk/dotnet/Tencentcloud/Emr/Cluster.cs | 126 +- .../ClusterPreExecutedFileSettingArgs.cs | 75 + .../ClusterPreExecutedFileSettingGetArgs.cs | 75 + .../Emr/Inputs/ClusterResourceSpecArgs.cs | 12 + ...usterResourceSpecCommonResourceSpecArgs.cs | 41 + ...erResourceSpecCommonResourceSpecGetArgs.cs | 41 + ...urceSpecCommonResourceSpecMultiDiskArgs.cs | 42 + ...eSpecCommonResourceSpecMultiDiskGetArgs.cs | 42 + ...ClusterResourceSpecCoreResourceSpecArgs.cs | 41 + ...sterResourceSpecCoreResourceSpecGetArgs.cs | 41 + ...sourceSpecCoreResourceSpecMultiDiskArgs.cs | 42 + ...rceSpecCoreResourceSpecMultiDiskGetArgs.cs | 42 + .../Emr/Inputs/ClusterResourceSpecGetArgs.cs | 12 + ...usterResourceSpecMasterResourceSpecArgs.cs | 41 + ...erResourceSpecMasterResourceSpecGetArgs.cs | 41 + ...urceSpecMasterResourceSpecMultiDiskArgs.cs | 42 + ...eSpecMasterResourceSpecMultiDiskGetArgs.cs | 42 + ...ClusterResourceSpecTaskResourceSpecArgs.cs | 41 + ...sterResourceSpecTaskResourceSpecGetArgs.cs | 41 + ...sourceSpecTaskResourceSpecMultiDiskArgs.cs | 42 + ...rceSpecTaskResourceSpecMultiDiskGetArgs.cs | 42 + .../Inputs/ClusterTerminateNodeInfoArgs.cs | 39 + .../Inputs/ClusterTerminateNodeInfoGetArgs.cs | 39 + .../Outputs/ClusterPreExecutedFileSetting.cs | 78 + .../Emr/Outputs/ClusterResourceSpec.cs | 12 + .../ClusterResourceSpecCommonResourceSpec.cs | 36 + ...ResourceSpecCommonResourceSpecMultiDisk.cs | 46 + .../ClusterResourceSpecCoreResourceSpec.cs | 36 + ...erResourceSpecCoreResourceSpecMultiDisk.cs | 46 + .../ClusterResourceSpecMasterResourceSpec.cs | 36 + ...ResourceSpecMasterResourceSpecMultiDisk.cs | 46 + .../ClusterResourceSpecTaskResourceSpec.cs | 36 + ...erResourceSpecTaskResourceSpecMultiDisk.cs | 46 + .../Emr/Outputs/ClusterTerminateNodeInfo.cs | 36 + sdk/dotnet/Tencentcloud/Eni/Instance.cs | 12 + sdk/dotnet/Tencentcloud/Enis/GetInstance.cs | 2 +- .../Enis/Outputs/GetInstanceEniIpv6Result.cs | 57 + .../Enis/Outputs/GetInstanceEniResult.cs | 14 + sdk/dotnet/Tencentcloud/Events/AuditTrack.cs | 251 + .../Events/Inputs/AuditTrackFiltersArgs.cs | 33 + .../Events/Inputs/AuditTrackFiltersGetArgs.cs | 33 + .../AuditTrackFiltersResourceFieldArgs.cs | 45 + .../AuditTrackFiltersResourceFieldGetArgs.cs | 45 + .../Events/Inputs/AuditTrackStorageArgs.cs | 57 + .../Events/Inputs/AuditTrackStorageGetArgs.cs | 57 + .../Events/Outputs/AuditTrackFilters.cs | 28 + .../Outputs/AuditTrackFiltersResourceField.cs | 43 + .../Events/Outputs/AuditTrackStorage.cs | 64 + sdk/dotnet/Tencentcloud/Events/README.md | 1 + .../Tencentcloud/Gaap/GetLayer7Listeners.cs | 16 + .../Tencentcloud/Gaap/GetProxyStatistics.cs | 4 +- sdk/dotnet/Tencentcloud/Gaap/HttpDomain.cs | 36 + .../Tencentcloud/Gaap/Layer4Listener.cs | 144 +- .../Tencentcloud/Gaap/Layer7Listener.cs | 72 +- .../Outputs/GetHttpDomainsDomainResult.cs | 7 + .../GetLayer7ListenersListenerResult.cs | 16 +- .../GetProxyDetailProxyDetailResult.cs | 7 + .../CenterExternalSamlIdentityProvider.cs | 270 + .../Tencentcloud/Identity/CenterGroup.cs | 223 + .../Identity/CenterRoleAssignment.cs | 313 + .../Identity/CenterRoleConfiguration.cs | 235 + ...ationPermissionCustomPoliciesAttachment.cs | 215 + ...urationPermissionCustomPolicyAttachment.cs | 220 + ...ConfigurationPermissionPolicyAttachment.cs | 217 + .../Identity/CenterScimCredential.cs | 185 + .../Identity/CenterScimCredentialStatus.cs | 163 + .../CenterScimSynchronizationStatus.cs | 144 + .../Tencentcloud/Identity/CenterUser.cs | 301 + .../Identity/CenterUserGroupAttachment.cs | 163 + .../Identity/CenterUserSyncProvisioning.cs | 349 + .../Tencentcloud/Identity/GetCenterGroups.cs | 232 + .../Identity/GetCenterRoleConfigurations.cs | 200 + .../Tencentcloud/Identity/GetCenterUsers.cs | 248 + ...ssionCustomPoliciesAttachmentPolicyArgs.cs | 45 + ...onCustomPoliciesAttachmentPolicyGetArgs.cs | 45 + ...ermissionCustomPoliciesAttachmentPolicy.cs | 50 + .../Outputs/GetCenterGroupsGroupResult.cs | 78 + ...leConfigurationsRoleConfigurationResult.cs | 79 + .../Outputs/GetCenterUsersUserResult.cs | 106 + sdk/dotnet/Tencentcloud/Identity/README.md | 1 + .../Tencentcloud/Image/GetFromFamily.cs | 140 + sdk/dotnet/Tencentcloud/Image/Instance.cs | 45 + .../Image/Outputs/GetFromFamilyImageResult.cs | 155 + .../GetFromFamilyImageSnapshotSetResult.cs | 43 + .../Outputs/GetFromFamilyImageTagResult.cs | 36 + .../Inputs/ProviderAssumeRoleArgs.cs | 6 + .../Inputs/ProviderAssumeRoleWithSamlArgs.cs | 51 + .../ProviderAssumeRoleWithWebIdentityArgs.cs | 45 + .../Instance/Inputs/InstanceDataDiskArgs.cs | 6 + .../Inputs/InstanceDataDiskGetArgs.cs | 6 + sdk/dotnet/Tencentcloud/Instance/Instance.cs | 242 +- .../Instance/Outputs/InstanceDataDisk.cs | 7 + .../Tencentcloud/Instances/GetInstance.cs | 19 + .../Outputs/GetInstanceInstanceListResult.cs | 14 + ...OrganizationMemberOperationAuthFileArgs.cs | 33 + ...anizationMemberOperationAuthFileGetArgs.cs | 33 + .../OrganizationMemberOperationTagArgs.cs | 33 + .../OrganizationMemberOperationTagGetArgs.cs | 33 + .../Invite/OrganizationMemberOperation.cs | 342 + .../OrganizationMemberOperationAuthFile.cs | 36 + .../Outputs/OrganizationMemberOperationTag.cs | 36 + sdk/dotnet/Tencentcloud/Invite/README.md | 1 + .../Tencentcloud/Kubernetes/AddonConfig.cs | 177 + .../Tencentcloud/Kubernetes/AuthAttachment.cs | 8 +- sdk/dotnet/Tencentcloud/Kubernetes/Cluster.cs | 187 +- .../Kubernetes/ClusterAttachment.cs | 38 +- .../Kubernetes/ClusterMasterAttachment.cs | 361 + .../Kubernetes/GetClusterCommonNames.cs | 68 +- .../Kubernetes/HealthCheckPolicy.cs | 188 + .../ClusterAttachmentWorkerConfigArgs.cs | 14 +- .../ClusterAttachmentWorkerConfigGetArgs.cs | 14 +- ...sterAttachmentWorkerConfigOverridesArgs.cs | 13 +- ...rAttachmentWorkerConfigOverridesGetArgs.cs | 13 +- .../ClusterAttachmentWorkerConfigTaintArgs.cs | 39 + ...usterAttachmentWorkerConfigTaintGetArgs.cs | 39 + .../ClusterExistInstanceInstancesParaArgs.cs | 58 + ...lusterExistInstanceInstancesParaGetArgs.cs | 58 + ...stInstanceInstancesParaMasterConfigArgs.cs | 93 + ...ceInstancesParaMasterConfigDataDiskArgs.cs | 57 + ...nstancesParaMasterConfigDataDiskGetArgs.cs | 57 + ...eInstancesParaMasterConfigExtraArgsArgs.cs | 33 + ...stancesParaMasterConfigExtraArgsGetArgs.cs | 33 + ...nstanceInstancesParaMasterConfigGetArgs.cs | 93 + ...nceInstancesParaMasterConfigGpuArgsArgs.cs | 75 + ...InstancesParaMasterConfigGpuArgsGetArgs.cs | 75 + ...tanceInstancesParaMasterConfigLabelArgs.cs | 33 + ...ceInstancesParaMasterConfigLabelGetArgs.cs | 33 + ...tanceInstancesParaMasterConfigTaintArgs.cs | 39 + ...ceInstancesParaMasterConfigTaintGetArgs.cs | 39 + .../ClusterMasterAttachmentExtraArgsArgs.cs | 69 + ...ClusterMasterAttachmentExtraArgsGetArgs.cs | 69 + ...ClusterMasterAttachmentMasterConfigArgs.cs | 93 + ...asterAttachmentMasterConfigDataDiskArgs.cs | 57 + ...erAttachmentMasterConfigDataDiskGetArgs.cs | 57 + ...sterAttachmentMasterConfigExtraArgsArgs.cs | 33 + ...rAttachmentMasterConfigExtraArgsGetArgs.cs | 33 + ...sterMasterAttachmentMasterConfigGetArgs.cs | 93 + ...MasterAttachmentMasterConfigGpuArgsArgs.cs | 75 + ...terAttachmentMasterConfigGpuArgsGetArgs.cs | 75 + ...erMasterAttachmentMasterConfigLabelArgs.cs | 33 + ...asterAttachmentMasterConfigLabelGetArgs.cs | 33 + ...erMasterAttachmentMasterConfigTaintArgs.cs | 39 + ...asterAttachmentMasterConfigTaintGetArgs.cs | 39 + .../Inputs/ClusterResourceDeleteOptionArgs.cs | 39 + .../ClusterResourceDeleteOptionGetArgs.cs | 39 + .../Inputs/HealthCheckPolicyRuleArgs.cs | 39 + .../Inputs/HealthCheckPolicyRuleGetArgs.cs | 39 + .../Inputs/NativeNodePoolNativeArgs.cs | 6 + .../Inputs/NativeNodePoolNativeGetArgs.cs | 6 + .../Inputs/NodePoolAnnotationArgs.cs | 33 + .../Inputs/NodePoolAnnotationGetArgs.cs | 33 + .../Inputs/NodePoolAutoScalingConfigArgs.cs | 6 + .../NodePoolAutoScalingConfigGetArgs.cs | 6 + .../Inputs/ScaleWorkerDataDiskArgs.cs | 6 + .../Inputs/ScaleWorkerDataDiskGetArgs.cs | 6 + .../Kubernetes/Inputs/ScaleWorkerTaintArgs.cs | 39 + .../Inputs/ScaleWorkerTaintGetArgs.cs | 39 + .../Inputs/ScaleWorkerWorkerConfigArgs.cs | 2 +- .../Inputs/ScaleWorkerWorkerConfigGetArgs.cs | 2 +- .../Tencentcloud/Kubernetes/LogConfig.cs | 425 + .../Tencentcloud/Kubernetes/NodePool.cs | 44 +- .../Outputs/ClusterAttachmentWorkerConfig.cs | 9 +- .../ClusterAttachmentWorkerConfigOverrides.cs | 12 +- .../ClusterAttachmentWorkerConfigTaint.cs | 43 + .../ClusterExistInstanceInstancesPara.cs | 45 +- ...rExistInstanceInstancesParaMasterConfig.cs | 92 + ...stanceInstancesParaMasterConfigDataDisk.cs | 64 + ...tanceInstancesParaMasterConfigExtraArgs.cs | 28 + ...nstanceInstancesParaMasterConfigGpuArgs.cs | 57 + ...tInstanceInstancesParaMasterConfigLabel.cs | 36 + ...tInstanceInstancesParaMasterConfigTaint.cs | 43 + .../ClusterMasterAttachmentExtraArgs.cs | 50 + .../ClusterMasterAttachmentMasterConfig.cs | 92 + ...terMasterAttachmentMasterConfigDataDisk.cs | 64 + ...erMasterAttachmentMasterConfigExtraArgs.cs | 28 + ...sterMasterAttachmentMasterConfigGpuArgs.cs | 57 + ...lusterMasterAttachmentMasterConfigLabel.cs | 36 + ...lusterMasterAttachmentMasterConfigTaint.cs | 43 + .../Outputs/ClusterResourceDeleteOption.cs | 43 + .../GetClusterCommonNamesListResult.cs | 7 + .../Outputs/GetClustersListResult.cs | 7 + .../Outputs/HealthCheckPolicyRule.cs | 43 + .../Outputs/NativeNodePoolNative.cs | 7 + .../Kubernetes/Outputs/NodePoolAnnotation.cs | 36 + .../Outputs/NodePoolAutoScalingConfig.cs | 7 + .../Kubernetes/Outputs/ScaleWorkerDataDisk.cs | 7 + .../Kubernetes/Outputs/ScaleWorkerTaint.cs | 43 + .../Outputs/ScaleWorkerWorkerConfig.cs | 2 +- .../Tencentcloud/Kubernetes/ScaleWorker.cs | 63 +- .../Tencentcloud/Lite/GetHbaseInstances.cs | 216 + sdk/dotnet/Tencentcloud/Lite/HbaseInstance.cs | 282 + .../Lite/Inputs/GetHbaseInstancesFilter.cs | 39 + .../Inputs/GetHbaseInstancesFilterArgs.cs | 39 + .../Lite/Inputs/HbaseInstanceTagArgs.cs | 33 + .../Lite/Inputs/HbaseInstanceTagGetArgs.cs | 33 + .../Inputs/HbaseInstanceZoneSettingArgs.cs | 39 + .../Inputs/HbaseInstanceZoneSettingGetArgs.cs | 39 + ...HbaseInstanceZoneSettingVpcSettingsArgs.cs | 33 + ...seInstanceZoneSettingVpcSettingsGetArgs.cs | 33 + .../Outputs/GetHbaseInstancesFilterResult.cs | 36 + .../GetHbaseInstancesInstanceListResult.cs | 127 + .../GetHbaseInstancesInstanceListTagResult.cs | 36 + ...eInstancesInstanceListZoneSettingResult.cs | 43 + ...InstanceListZoneSettingVpcSettingResult.cs | 36 + .../Lite/Outputs/HbaseInstanceTag.cs | 36 + .../Lite/Outputs/HbaseInstanceZoneSetting.cs | 43 + .../HbaseInstanceZoneSettingVpcSettings.cs | 36 + sdk/dotnet/Tencentcloud/Lite/README.md | 1 + sdk/dotnet/Tencentcloud/Mongodb/Instance.cs | 42 + .../Tencentcloud/Monitor/GetTmpInstances.cs | 344 + .../Inputs/GetTmpInstancesTagFilter.cs | 33 + .../Inputs/GetTmpInstancesTagFilterArgs.cs | 33 + .../GetTmpInstancesInstanceSetGrantResult.cs | 64 + .../GetTmpInstancesInstanceSetResult.cs | 265 + ...tancesInstanceSetTagSpecificationResult.cs | 36 + .../Outputs/GetTmpInstancesTagFilterResult.cs | 36 + .../Tencentcloud/Monitor/TmpAlertGroup.cs | 47 +- .../Tencentcloud/Mysql/ClsLogAttachment.cs | 385 + sdk/dotnet/Tencentcloud/Mysql/Instance.cs | 18 + .../Tencentcloud/Mysql/ReadonlyInstance.cs | 18 + sdk/dotnet/Tencentcloud/Mysql/Ssl.cs | 156 + sdk/dotnet/Tencentcloud/Nat/Gateway.cs | 85 +- .../Open/IdentityCenterOperation.cs | 129 + sdk/dotnet/Tencentcloud/Open/README.md | 1 + .../Tencentcloud/Organization/GetNodes.cs | 166 + .../Tencentcloud/Organization/GetServices.cs | 178 + .../Organization/Inputs/GetNodesTag.cs | 33 + .../Organization/Inputs/GetNodesTagArgs.cs | 33 + .../Tencentcloud/Organization/Instance.cs | 18 + .../Tencentcloud/Organization/OrgMember.cs | 30 + .../Tencentcloud/Organization/OrgNode.cs | 30 + .../Outputs/GetNodesItemResult.cs | 71 + .../Outputs/GetNodesItemTagResult.cs | 36 + .../Organization/Outputs/GetNodesTagResult.cs | 36 + .../Outputs/GetServicesItemResult.cs | 114 + .../Organization/ServiceAssign.cs | 273 + sdk/dotnet/Tencentcloud/Postgresql/Account.cs | 284 + .../Postgresql/AccountPrivilegesOperation.cs | 239 + .../ApplyParameterTemplateOperation.cs | 136 + .../Postgresql/CloneDbInstance.cs | 637 + .../Postgresql/GetAccountPrivileges.cs | 202 + .../Postgresql/GetDedicatedClusters.cs | 210 + ...ivilegesOperationModifyPrivilegeSetArgs.cs | 39 + ...ModifyPrivilegeSetDatabasePrivilegeArgs.cs | 39 + ...ifyPrivilegeSetDatabasePrivilegeGetArgs.cs | 39 + ...PrivilegeSetDatabasePrivilegeObjectArgs.cs | 51 + ...vilegeSetDatabasePrivilegeObjectGetArgs.cs | 51 + ...legesOperationModifyPrivilegeSetGetArgs.cs | 39 + .../Inputs/CloneDbInstanceDbNodeSetArgs.cs | 41 + .../Inputs/CloneDbInstanceDbNodeSetGetArgs.cs | 41 + .../Inputs/CloneDbInstanceTagListArgs.cs | 33 + .../Inputs/CloneDbInstanceTagListGetArgs.cs | 33 + .../GetAccountPrivilegesDatabaseObjectSet.cs | 51 + ...tAccountPrivilegesDatabaseObjectSetArgs.cs | 51 + .../Inputs/GetDedicatedClustersFilter.cs | 39 + .../Inputs/GetDedicatedClustersFilterArgs.cs | 39 + .../Inputs/InstanceDbNodeSetArgs.cs | 6 + .../Inputs/InstanceDbNodeSetGetArgs.cs | 6 + .../Tencentcloud/Postgresql/Instance.cs | 153 +- ...ntPrivilegesOperationModifyPrivilegeSet.cs | 43 + ...tionModifyPrivilegeSetDatabasePrivilege.cs | 36 + ...difyPrivilegeSetDatabasePrivilegeObject.cs | 57 + .../Outputs/CloneDbInstanceDbNodeSet.cs | 45 + .../Outputs/CloneDbInstanceTagList.cs | 36 + ...ccountPrivilegesDatabaseObjectSetResult.cs | 57 + ...countPrivilegesPrivilegeSetObjectResult.cs | 57 + .../GetAccountPrivilegesPrivilegeSetResult.cs | 36 + ...icatedClustersDedicatedClusterSetResult.cs | 99 + .../GetDedicatedClustersFilterResult.cs | 36 + .../Postgresql/Outputs/InstanceDbNodeSet.cs | 7 + .../Postgresql/ReadonlyInstance.cs | 143 +- .../Tencentcloud/PrivateDns/EndPoint.cs | 200 + .../Tencentcloud/PrivateDns/ForwardRule.cs | 190 + .../Tencentcloud/PrivateDns/GetEndPoints.cs | 259 + .../PrivateDns/GetForwardRules.cs | 306 + .../PrivateDns/Inputs/GetEndPointsFilter.cs | 39 + .../Inputs/GetEndPointsFilterArgs.cs | 39 + .../Inputs/GetForwardRulesFilter.cs | 39 + .../Inputs/GetForwardRulesFilterArgs.cs | 39 + .../Outputs/GetEndPointsEndPointSetResult.cs | 66 + .../GetEndPointsEndPointSetTagResult.cs | 36 + .../Outputs/GetEndPointsFilterResult.cs | 36 + .../Outputs/GetForwardRulesFilterResult.cs | 36 + .../GetForwardRulesForwardRuleSetResult.cs | 108 + .../GetForwardRulesForwardRuleSetTagResult.cs | 36 + ...tForwardRulesForwardRuleSetVpcSetResult.cs | 36 + sdk/dotnet/Tencentcloud/PrivateDns/Record.cs | 15 +- sdk/dotnet/Tencentcloud/PrivateDns/Zone.cs | 2 + sdk/dotnet/Tencentcloud/Provider.cs | 66 +- sdk/dotnet/Tencentcloud/Redis/GetClusters.cs | 362 + sdk/dotnet/Tencentcloud/Redis/Instance.cs | 113 +- sdk/dotnet/Tencentcloud/Redis/LogDelivery.cs | 307 + .../GetClustersResourceBaseBundleResult.cs | 43 + ...GetClustersResourceResourceBundleResult.cs | 43 + .../Outputs/GetClustersResourceResult.cs | 120 + sdk/dotnet/Tencentcloud/Reserve/IpAddress.cs | 256 + sdk/dotnet/Tencentcloud/Reserve/README.md | 1 + sdk/dotnet/Tencentcloud/Route/TableEntry.cs | 42 +- sdk/dotnet/Tencentcloud/Rum/Project.cs | 29 +- sdk/dotnet/Tencentcloud/Rum/TawInstance.cs | 8 +- sdk/dotnet/Tencentcloud/Scf/Function.cs | 25 +- .../Scf/Inputs/FunctionTriggerArgs.cs | 2 +- .../Scf/Inputs/FunctionTriggerGetArgs.cs | 2 +- .../Scf/Inputs/FunctionTriggerInfoArgs.cs | 2 +- .../Scf/Inputs/FunctionTriggerInfoGetArgs.cs | 2 +- .../Scf/Outputs/FunctionTrigger.cs | 2 +- .../Scf/Outputs/FunctionTriggerInfo.cs | 2 +- .../Security/Inputs/GroupRuleSetEgressArgs.cs | 12 +- .../Inputs/GroupRuleSetEgressGetArgs.cs | 12 +- .../Inputs/GroupRuleSetIngressArgs.cs | 12 +- .../Inputs/GroupRuleSetIngressGetArgs.cs | 12 +- .../Security/Outputs/GroupRuleSetEgress.cs | 12 +- .../Security/Outputs/GroupRuleSetIngress.cs | 12 +- sdk/dotnet/Tencentcloud/Ses/EmailAddress.cs | 82 +- .../Tencentcloud/Sg/Inputs/RuleDataArgs.cs | 81 + .../Tencentcloud/Sg/Inputs/RuleDataGetArgs.cs | 81 + .../Tencentcloud/Sg/Outputs/RuleData.cs | 92 + sdk/dotnet/Tencentcloud/Sg/README.md | 1 + sdk/dotnet/Tencentcloud/Sg/Rule.cs | 155 + sdk/dotnet/Tencentcloud/Sqlserver/Instance.cs | 8 +- ...kCertificateDomainVerificationOperation.cs | 159 + ...ficationOperationVerificationResultArgs.cs | 75 + ...ationOperationVerificationResultGetArgs.cs | 75 + ...VerificationOperationVerificationResult.cs | 78 + .../GetCertificatesCertificateResult.cs | 16 +- sdk/dotnet/Tencentcloud/Subnet/Instance.cs | 22 +- .../Subscribe/PrivateZoneService.cs | 108 + sdk/dotnet/Tencentcloud/Subscribe/README.md | 1 + .../Tencentcloud/Tcr/TagRetentionRule.cs | 3 +- sdk/dotnet/Tencentcloud/Tcss/ImageRegistry.cs | 378 + .../ImageRegistryConnDetectConfigArgs.cs | 33 + .../ImageRegistryConnDetectConfigGetArgs.cs | 33 + .../Outputs/ImageRegistryConnDetectConfig.cs | 36 + sdk/dotnet/Tencentcloud/Tcss/README.md | 1 + .../Tencentcloud/Teo/AccelerationDomain.cs | 2 +- .../Tencentcloud/Teo/CertificateConfig.cs | 2 +- sdk/dotnet/Tencentcloud/Teo/Function.cs | 234 + sdk/dotnet/Tencentcloud/Teo/FunctionRule.cs | 288 + .../Tencentcloud/Teo/FunctionRulePriority.cs | 179 + .../Teo/FunctionRuntimeEnvironment.cs | 189 + .../FunctionRuleFunctionRuleConditionArgs.cs | 33 + ...unctionRuleFunctionRuleConditionGetArgs.cs | 33 + ...eFunctionRuleConditionRuleConditionArgs.cs | 66 + ...nctionRuleConditionRuleConditionGetArgs.cs | 66 + ...ntimeEnvironmentEnvironmentVariableArgs.cs | 39 + ...meEnvironmentEnvironmentVariableGetArgs.cs | 39 + .../Teo/Inputs/SecurityIpGroupIpGroupArgs.cs | 45 + .../Inputs/SecurityIpGroupIpGroupGetArgs.cs | 45 + .../FunctionRuleFunctionRuleCondition.cs | 28 + ...nRuleFunctionRuleConditionRuleCondition.cs | 66 + ...onRuntimeEnvironmentEnvironmentVariable.cs | 43 + .../Teo/Outputs/SecurityIpGroupIpGroup.cs | 43 + sdk/dotnet/Tencentcloud/Teo/RuleEngine.cs | 12 + .../Tencentcloud/Teo/SecurityIpGroup.cs | 112 + .../Thpc/Inputs/WorkspacesDataDiskArgs.cs | 75 + .../Thpc/Inputs/WorkspacesDataDiskGetArgs.cs | 75 + .../Inputs/WorkspacesEnhancedServiceArgs.cs | 39 + ...cesEnhancedServiceAutomationServiceArgs.cs | 27 + ...EnhancedServiceAutomationServiceGetArgs.cs | 27 + .../WorkspacesEnhancedServiceGetArgs.cs | 39 + ...spacesEnhancedServiceMonitorServiceArgs.cs | 27 + ...cesEnhancedServiceMonitorServiceGetArgs.cs | 27 + ...pacesEnhancedServiceSecurityServiceArgs.cs | 27 + ...esEnhancedServiceSecurityServiceGetArgs.cs | 27 + .../WorkspacesInternetAccessibleArgs.cs | 45 + .../WorkspacesInternetAccessibleGetArgs.cs | 45 + .../Inputs/WorkspacesLoginSettingsArgs.cs | 49 + .../Inputs/WorkspacesLoginSettingsGetArgs.cs | 49 + .../Thpc/Inputs/WorkspacesPlacementArgs.cs | 33 + .../Thpc/Inputs/WorkspacesPlacementGetArgs.cs | 33 + .../WorkspacesSpaceChargePrepaidArgs.cs | 33 + .../WorkspacesSpaceChargePrepaidGetArgs.cs | 33 + .../Thpc/Inputs/WorkspacesSystemDiskArgs.cs | 39 + .../Inputs/WorkspacesSystemDiskGetArgs.cs | 39 + .../Inputs/WorkspacesTagSpecificationArgs.cs | 33 + .../WorkspacesTagSpecificationGetArgs.cs | 33 + .../WorkspacesTagSpecificationTagArgs.cs | 33 + .../WorkspacesTagSpecificationTagGetArgs.cs | 33 + .../WorkspacesVirtualPrivateCloudArgs.cs | 57 + .../WorkspacesVirtualPrivateCloudGetArgs.cs | 57 + .../Thpc/Outputs/WorkspacesDataDisk.cs | 85 + .../Thpc/Outputs/WorkspacesEnhancedService.cs | 43 + ...kspacesEnhancedServiceAutomationService.cs | 28 + ...WorkspacesEnhancedServiceMonitorService.cs | 28 + ...orkspacesEnhancedServiceSecurityService.cs | 28 + .../Outputs/WorkspacesInternetAccessible.cs | 50 + .../Thpc/Outputs/WorkspacesLoginSettings.cs | 36 + .../Thpc/Outputs/WorkspacesPlacement.cs | 36 + .../Outputs/WorkspacesSpaceChargePrepaid.cs | 36 + .../Thpc/Outputs/WorkspacesSystemDisk.cs | 43 + .../Outputs/WorkspacesTagSpecification.cs | 28 + .../Outputs/WorkspacesTagSpecificationTag.cs | 36 + .../Outputs/WorkspacesVirtualPrivateCloud.cs | 57 + sdk/dotnet/Tencentcloud/Thpc/README.md | 1 + sdk/dotnet/Tencentcloud/Thpc/Workspaces.cs | 750 + sdk/dotnet/Tencentcloud/Vpc/EndPoint.cs | 12 + .../Tencentcloud/Vpc/EndPointService.cs | 12 + sdk/dotnet/Tencentcloud/Vpc/FlowLog.cs | 2 +- sdk/dotnet/Tencentcloud/Vpc/GetSubnets.cs | 95 +- sdk/dotnet/Tencentcloud/Vpc/NotifyRoutes.cs | 33 +- .../Outputs/GetSubnetsInstanceListResult.cs | 7 + .../Tencentcloud/Vpc/PrivateNatGateway.cs | 198 + sdk/dotnet/Tencentcloud/Vpn/Connection.cs | 4 +- sdk/dotnet/Tencentcloud/Waf/GetWafInfos.cs | 89 - .../Waf/Inputs/GetWafInfosParam.cs | 39 - .../Waf/Inputs/GetWafInfosParamArgs.cs | 39 - .../IpAccessControlV2JobDateTimeArgs.cs | 54 + .../IpAccessControlV2JobDateTimeCronArgs.cs | 63 + ...IpAccessControlV2JobDateTimeCronGetArgs.cs | 63 + .../IpAccessControlV2JobDateTimeGetArgs.cs | 54 + .../IpAccessControlV2JobDateTimeTimedArgs.cs | 35 + ...pAccessControlV2JobDateTimeTimedGetArgs.cs | 35 + .../Tencentcloud/Waf/IpAccessControl.cs | 2 + .../Tencentcloud/Waf/IpAccessControlV2.cs | 270 + .../Tencentcloud/Waf/ModifyAccessPeriod.cs | 136 - .../GetWafInfosHostListLoadBalancerResult.cs | 99 - .../Waf/Outputs/GetWafInfosHostListResult.cs | 57 - .../Waf/Outputs/GetWafInfosParamResult.cs | 43 - .../Outputs/IpAccessControlV2JobDateTime.cs | 46 + .../IpAccessControlV2JobDateTimeCron.cs | 56 + .../IpAccessControlV2JobDateTimeTimed.cs | 38 + sdk/go.mod | 118 +- sdk/go.sum | 418 +- sdk/go/tencentcloud/as/init.go | 7 + sdk/go/tencentcloud/as/lifecycleHook.go | 98 +- sdk/go/tencentcloud/as/pulumiTypes.go | 510 + sdk/go/tencentcloud/as/scalingConfig.go | 105 +- sdk/go/tencentcloud/as/scalingGroup.go | 33 + .../tencentcloud/as/startInstanceRefresh.go | 289 + sdk/go/tencentcloud/audit/getEvents.go | 184 + sdk/go/tencentcloud/audit/pulumiTypes.go | 569 + sdk/go/tencentcloud/audit/track.go | 46 +- .../batch/applyAccountBaselines.go | 276 + sdk/go/tencentcloud/batch/init.go | 44 + sdk/go/tencentcloud/batch/pulumiTypes.go | 127 + sdk/go/tencentcloud/cam/getRoleDetail.go | 103 + sdk/go/tencentcloud/cam/getSubAccounts.go | 96 + sdk/go/tencentcloud/cam/pulumiTypes.go | 474 + sdk/go/tencentcloud/cbs/getStorages.go | 79 +- sdk/go/tencentcloud/cbs/getStoragesSet.go | 17 +- sdk/go/tencentcloud/cbs/pulumiTypes.go | 30 +- sdk/go/tencentcloud/cbs/storage.go | 77 +- sdk/go/tencentcloud/cbs/storageSet.go | 71 +- sdk/go/tencentcloud/ccn/attachment.go | 157 +- .../ccn/getRouteTableInputPolicies.go | 150 + sdk/go/tencentcloud/ccn/getRoutes.go | 178 + sdk/go/tencentcloud/ccn/init.go | 35 + sdk/go/tencentcloud/ccn/instance.go | 54 +- sdk/go/tencentcloud/ccn/pulumiTypes.go | 2697 ++- sdk/go/tencentcloud/ccn/routeTable.go | 354 + .../ccn/routeTableAssociateInstanceConfig.go | 364 + .../ccn/routeTableBroadcastPolicies.go | 380 + .../ccn/routeTableInputPolicies.go | 368 + .../ccn/routeTableSelectionPolicies.go | 348 + sdk/go/tencentcloud/ccn/routes.go | 12 +- sdk/go/tencentcloud/cdc/dedicatedCluster.go | 317 + .../cdc/getDedicatedClusterHosts.go | 131 + .../cdc/getDedicatedClusterInstanceTypes.go | 133 + .../cdc/getDedicatedClusterOrders.go | 188 + sdk/go/tencentcloud/cdc/init.go | 51 + sdk/go/tencentcloud/cdc/pulumiTypes.go | 1014 ++ sdk/go/tencentcloud/cdc/site.go | 617 + sdk/go/tencentcloud/cdn/domain.go | 15 + sdk/go/tencentcloud/cdn/pulumiTypes.go | 252 +- sdk/go/tencentcloud/cdwdoris/getInstances.go | 183 + sdk/go/tencentcloud/cdwdoris/init.go | 51 + sdk/go/tencentcloud/cdwdoris/instance.go | 692 + sdk/go/tencentcloud/cdwdoris/pulumiTypes.go | 2322 +++ sdk/go/tencentcloud/cdwdoris/workloadGroup.go | 340 + sdk/go/tencentcloud/clb/attachment.go | 163 +- sdk/go/tencentcloud/clb/init.go | 7 + sdk/go/tencentcloud/clb/instance.go | 499 +- sdk/go/tencentcloud/clb/listener.go | 15 + .../tencentcloud/clb/listenerDefaultDomain.go | 306 + sdk/go/tencentcloud/clb/listenerRule.go | 115 +- sdk/go/tencentcloud/clb/pulumiTypes.go | 9 + sdk/go/tencentcloud/cls/dataTransform.go | 96 +- sdk/go/tencentcloud/cls/getLogsets.go | 166 + sdk/go/tencentcloud/cls/pulumiTypes.go | 807 +- sdk/go/tencentcloud/cls/topic.go | 100 +- sdk/go/tencentcloud/config/config.go | 32 +- sdk/go/tencentcloud/config/pulumiTypes.go | 180 + sdk/go/tencentcloud/cos/batch.go | 2 + sdk/go/tencentcloud/cos/bucket.go | 314 +- .../cos/bucketDomainCertificateAttachment.go | 2 + ...etGenerateInventoryImmediatelyOperation.go | 2 + sdk/go/tencentcloud/cos/bucketInventory.go | 54 +- sdk/go/tencentcloud/cos/bucketPolicy.go | 12 +- sdk/go/tencentcloud/cos/bucketReferer.go | 2 + sdk/go/tencentcloud/cos/getBatchs.go | 2 + .../tencentcloud/cos/getBucketInventorys.go | 2 + .../tencentcloud/cos/objectCopyOperation.go | 12 +- .../cos/objectRestoreOperation.go | 2 + sdk/go/tencentcloud/cos/pulumiTypes.go | 19 + sdk/go/tencentcloud/cvm/actionTimer.go | 332 + sdk/go/tencentcloud/cvm/init.go | 7 + sdk/go/tencentcloud/cvm/pulumiTypes.go | 188 +- sdk/go/tencentcloud/cynosdb/cluster.go | 310 +- sdk/go/tencentcloud/dasb/user.go | 24 +- sdk/go/tencentcloud/eip/instance.go | 15 + sdk/go/tencentcloud/elasticsearch/instance.go | 19 + .../tencentcloud/elasticsearch/pulumiTypes.go | 166 +- sdk/go/tencentcloud/emr/cluster.go | 141 +- sdk/go/tencentcloud/emr/pulumiTypes.go | 1254 +- sdk/go/tencentcloud/eni/instance.go | 11 + sdk/go/tencentcloud/enis/getInstance.go | 4 +- sdk/go/tencentcloud/enis/pulumiTypes.go | 155 + sdk/go/tencentcloud/events/auditTrack.go | 365 + sdk/go/tencentcloud/events/init.go | 44 + sdk/go/tencentcloud/events/pulumiTypes.go | 513 + .../tencentcloud/gaap/getLayer7Listeners.go | 9 + .../tencentcloud/gaap/getProxyStatistics.go | 4 +- sdk/go/tencentcloud/gaap/httpDomain.go | 30 + sdk/go/tencentcloud/gaap/layer4Listener.go | 141 +- sdk/go/tencentcloud/gaap/layer7Listener.go | 58 +- sdk/go/tencentcloud/gaap/pulumiTypes.go | 36 + .../centerExternalSamlIdentityProvider.go | 375 + sdk/go/tencentcloud/identity/centerGroup.go | 345 + .../identity/centerRoleAssignment.go | 450 + .../identity/centerRoleConfiguration.go | 353 + ...ationPermissionCustomPoliciesAttachment.go | 340 + ...urationPermissionCustomPolicyAttachment.go | 358 + ...ConfigurationPermissionPolicyAttachment.go | 349 + .../identity/centerScimCredential.go | 310 + .../identity/centerScimCredentialStatus.go | 293 + .../centerScimSynchronizationStatus.go | 274 + sdk/go/tencentcloud/identity/centerUser.go | 409 + .../identity/centerUserGroupAttachment.go | 293 + .../identity/centerUserSyncProvisioning.go | 471 + .../tencentcloud/identity/getCenterGroups.go | 176 + .../identity/getCenterRoleConfigurations.go | 160 + .../tencentcloud/identity/getCenterUsers.go | 185 + sdk/go/tencentcloud/identity/init.go | 128 + sdk/go/tencentcloud/identity/pulumiTypes.go | 682 + sdk/go/tencentcloud/image/getFromFamily.go | 131 + sdk/go/tencentcloud/image/instance.go | 49 + sdk/go/tencentcloud/image/pulumiTypes.go | 492 + sdk/go/tencentcloud/instance/instance.go | 255 +- sdk/go/tencentcloud/instance/pulumiTypes.go | 9 + sdk/go/tencentcloud/instances/getInstance.go | 11 + sdk/go/tencentcloud/instances/pulumiTypes.go | 18 + sdk/go/tencentcloud/invite/init.go | 44 + .../invite/organizationMemberOperation.go | 416 + sdk/go/tencentcloud/invite/pulumiTypes.go | 237 + sdk/go/tencentcloud/kubernetes/addonConfig.go | 291 + .../tencentcloud/kubernetes/authAttachment.go | 8 +- sdk/go/tencentcloud/kubernetes/cluster.go | 161 +- .../kubernetes/clusterAttachment.go | 33 +- .../kubernetes/clusterMasterAttachment.go | 412 + .../kubernetes/getClusterCommonNames.go | 39 +- .../kubernetes/healthCheckPolicy.go | 300 + sdk/go/tencentcloud/kubernetes/init.go | 28 + sdk/go/tencentcloud/kubernetes/logConfig.go | 549 + sdk/go/tencentcloud/kubernetes/nodePool.go | 27 +- sdk/go/tencentcloud/kubernetes/pulumiTypes.go | 3790 +++- sdk/go/tencentcloud/kubernetes/scaleWorker.go | 51 +- sdk/go/tencentcloud/lite/getHbaseInstances.go | 174 + sdk/go/tencentcloud/lite/hbaseInstance.go | 380 + sdk/go/tencentcloud/lite/init.go | 44 + sdk/go/tencentcloud/lite/pulumiTypes.go | 989 + sdk/go/tencentcloud/mongodb/instance.go | 42 + .../tencentcloud/monitor/getTmpInstances.go | 235 + sdk/go/tencentcloud/monitor/pulumiTypes.go | 829 + sdk/go/tencentcloud/monitor/tmpAlertGroup.go | 56 +- sdk/go/tencentcloud/mysql/clsLogAttachment.go | 509 + sdk/go/tencentcloud/mysql/init.go | 14 + sdk/go/tencentcloud/mysql/instance.go | 15 + sdk/go/tencentcloud/mysql/readonlyInstance.go | 15 + sdk/go/tencentcloud/mysql/ssl.go | 285 + sdk/go/tencentcloud/nat/gateway.go | 125 +- .../open/identityCenterOperation.go | 258 + sdk/go/tencentcloud/open/init.go | 44 + sdk/go/tencentcloud/organization/getNodes.go | 136 + .../tencentcloud/organization/getServices.go | 159 + sdk/go/tencentcloud/organization/init.go | 7 + sdk/go/tencentcloud/organization/instance.go | 15 + sdk/go/tencentcloud/organization/orgMember.go | 15 + sdk/go/tencentcloud/organization/orgNode.go | 15 + .../tencentcloud/organization/pulumiTypes.go | 587 + .../organization/serviceAssign.go | 362 + sdk/go/tencentcloud/postgresql/account.go | 399 + .../postgresql/accountPrivilegesOperation.go | 363 + .../applyParameterTemplateOperation.go | 266 + .../postgresql/cloneDbInstance.go | 732 + .../postgresql/getAccountPrivileges.go | 158 + .../postgresql/getDedicatedClusters.go | 168 + sdk/go/tencentcloud/postgresql/init.go | 28 + sdk/go/tencentcloud/postgresql/instance.go | 181 +- sdk/go/tencentcloud/postgresql/pulumiTypes.go | 1993 +- .../postgresql/readonlyInstance.go | 154 +- sdk/go/tencentcloud/privatedns/endPoint.go | 320 + sdk/go/tencentcloud/privatedns/forwardRule.go | 321 + .../tencentcloud/privatedns/getEndPoints.go | 186 + .../privatedns/getForwardRules.go | 202 + sdk/go/tencentcloud/privatedns/init.go | 14 + sdk/go/tencentcloud/privatedns/pulumiTypes.go | 908 + sdk/go/tencentcloud/privatedns/record.go | 27 +- sdk/go/tencentcloud/privatedns/zone.go | 2 + sdk/go/tencentcloud/provider.go | 82 +- sdk/go/tencentcloud/pulumiTypes.go | 434 + sdk/go/tencentcloud/redis/getClusters.go | 228 + sdk/go/tencentcloud/redis/init.go | 7 + sdk/go/tencentcloud/redis/instance.go | 124 +- sdk/go/tencentcloud/redis/logDelivery.go | 432 + sdk/go/tencentcloud/redis/pulumiTypes.go | 456 + sdk/go/tencentcloud/reserve/init.go | 44 + sdk/go/tencentcloud/reserve/ipAddress.go | 348 + sdk/go/tencentcloud/route/tableEntry.go | 38 +- sdk/go/tencentcloud/rum/project.go | 33 +- sdk/go/tencentcloud/rum/tawInstance.go | 8 +- sdk/go/tencentcloud/scf/function.go | 30 +- sdk/go/tencentcloud/scf/pulumiTypes.go | 12 +- sdk/go/tencentcloud/security/pulumiTypes.go | 72 +- sdk/go/tencentcloud/ses/emailAddress.go | 76 +- sdk/go/tencentcloud/sg/init.go | 44 + sdk/go/tencentcloud/sg/pulumiTypes.go | 329 + sdk/go/tencentcloud/sg/rule.go | 281 + sdk/go/tencentcloud/sqlserver/instance.go | 30 +- ...kCertificateDomainVerificationOperation.go | 292 + sdk/go/tencentcloud/ssl/init.go | 7 + sdk/go/tencentcloud/ssl/pulumiTypes.go | 184 + sdk/go/tencentcloud/subnet/instance.go | 19 +- sdk/go/tencentcloud/subscribe/init.go | 44 + .../subscribe/privateZoneService.go | 237 + sdk/go/tencentcloud/tcr/tagRetentionRule.go | 3 +- sdk/go/tencentcloud/tcss/imageRegistry.go | 455 + sdk/go/tencentcloud/tcss/init.go | 44 + sdk/go/tencentcloud/tcss/pulumiTypes.go | 127 + sdk/go/tencentcloud/teo/accelerationDomain.go | 2 +- sdk/go/tencentcloud/teo/certificateConfig.go | 2 +- sdk/go/tencentcloud/teo/function.go | 355 + sdk/go/tencentcloud/teo/functionRule.go | 387 + .../tencentcloud/teo/functionRulePriority.go | 296 + .../teo/functionRuntimeEnvironment.go | 306 + sdk/go/tencentcloud/teo/init.go | 35 + sdk/go/tencentcloud/teo/pulumiTypes.go | 565 + sdk/go/tencentcloud/teo/ruleEngine.go | 11 + sdk/go/tencentcloud/teo/securityIpGroup.go | 236 + sdk/go/tencentcloud/thpc/init.go | 44 + sdk/go/tencentcloud/thpc/pulumiTypes.go | 2079 +++ sdk/go/tencentcloud/thpc/workspaces.go | 780 + sdk/go/tencentcloud/vpc/endPoint.go | 11 + sdk/go/tencentcloud/vpc/endPointService.go | 11 + sdk/go/tencentcloud/vpc/flowLog.go | 2 +- sdk/go/tencentcloud/vpc/getSubnets.go | 66 +- sdk/go/tencentcloud/vpc/init.go | 7 + sdk/go/tencentcloud/vpc/notifyRoutes.go | 23 +- sdk/go/tencentcloud/vpc/privateNatGateway.go | 316 + sdk/go/tencentcloud/vpc/pulumiTypes.go | 9 + sdk/go/tencentcloud/vpn/connection.go | 12 +- sdk/go/tencentcloud/waf/getWafInfos.go | 96 - sdk/go/tencentcloud/waf/init.go | 6 +- sdk/go/tencentcloud/waf/ipAccessControl.go | 2 + sdk/go/tencentcloud/waf/ipAccessControlV2.go | 378 + sdk/go/tencentcloud/waf/modifyAccessPeriod.go | 266 - sdk/go/tencentcloud/waf/pulumiTypes.go | 900 +- sdk/nodejs/as/index.ts | 8 + sdk/nodejs/as/lifecycleHook.ts | 65 +- sdk/nodejs/as/scalingConfig.ts | 64 +- sdk/nodejs/as/scalingGroup.ts | 31 + sdk/nodejs/as/startInstanceRefresh.ts | 142 + sdk/nodejs/audit/getEvents.ts | 169 + sdk/nodejs/audit/index.ts | 5 + sdk/nodejs/audit/track.ts | 29 +- sdk/nodejs/batch/applyAccountBaselines.ts | 126 + sdk/nodejs/batch/index.ts | 25 + sdk/nodejs/cam/getRoleDetail.ts | 53 + sdk/nodejs/cam/getSubAccounts.ts | 48 + sdk/nodejs/cam/index.ts | 10 + sdk/nodejs/cbs/getStorages.ts | 89 +- sdk/nodejs/cbs/getStoragesSet.ts | 25 +- sdk/nodejs/cbs/storage.ts | 55 +- sdk/nodejs/cbs/storageSet.ts | 49 +- sdk/nodejs/ccn/attachment.ts | 99 +- sdk/nodejs/ccn/getRouteTableInputPolicies.ts | 117 + sdk/nodejs/ccn/getRoutes.ts | 143 + sdk/nodejs/ccn/index.ts | 50 + sdk/nodejs/ccn/instance.ts | 52 +- sdk/nodejs/ccn/routeTable.ts | 183 + .../ccn/routeTableAssociateInstanceConfig.ts | 187 + sdk/nodejs/ccn/routeTableBroadcastPolicies.ts | 197 + sdk/nodejs/ccn/routeTableInputPolicies.ts | 189 + sdk/nodejs/ccn/routeTableSelectionPolicies.ts | 172 + sdk/nodejs/ccn/routes.ts | 12 +- sdk/nodejs/cdc/dedicatedCluster.ts | 164 + sdk/nodejs/cdc/getDedicatedClusterHosts.ts | 95 + .../cdc/getDedicatedClusterInstanceTypes.ts | 95 + sdk/nodejs/cdc/getDedicatedClusterOrders.ts | 150 + sdk/nodejs/cdc/index.ts | 48 + sdk/nodejs/cdc/site.ts | 435 + sdk/nodejs/cdn/domain.ts | 14 + sdk/nodejs/cdwdoris/getInstances.ts | 150 + sdk/nodejs/cdwdoris/index.ts | 38 + sdk/nodejs/cdwdoris/instance.ts | 467 + sdk/nodejs/cdwdoris/workloadGroup.ts | 175 + sdk/nodejs/clb/attachment.ts | 112 +- sdk/nodejs/clb/index.ts | 8 + sdk/nodejs/clb/instance.ts | 349 +- sdk/nodejs/clb/listener.ts | 14 + sdk/nodejs/clb/listenerDefaultDomain.ts | 156 + sdk/nodejs/clb/listenerRule.ts | 79 +- sdk/nodejs/cls/dataTransform.ts | 54 +- sdk/nodejs/cls/getLogsets.ts | 128 + sdk/nodejs/cls/index.ts | 5 + sdk/nodejs/cls/topic.ts | 80 +- sdk/nodejs/config/vars.ts | 60 +- sdk/nodejs/cos/batch.ts | 2 + sdk/nodejs/cos/bucket.ts | 186 +- .../cos/bucketDomainCertificateAttachment.ts | 2 + ...etGenerateInventoryImmediatelyOperation.ts | 2 + sdk/nodejs/cos/bucketInventory.ts | 46 +- sdk/nodejs/cos/bucketPolicy.ts | 6 +- sdk/nodejs/cos/bucketReferer.ts | 2 + sdk/nodejs/cos/getBatchs.ts | 4 + sdk/nodejs/cos/getBucketInventorys.ts | 4 + sdk/nodejs/cos/objectCopyOperation.ts | 6 +- sdk/nodejs/cos/objectRestoreOperation.ts | 2 + sdk/nodejs/cvm/actionTimer.ts | 161 + sdk/nodejs/cvm/index.ts | 8 + sdk/nodejs/cynosdb/cluster.ts | 202 +- sdk/nodejs/dasb/user.ts | 12 +- sdk/nodejs/eip/instance.ts | 14 + sdk/nodejs/elasticsearch/instance.ts | 18 + sdk/nodejs/emr/cluster.ts | 90 +- sdk/nodejs/eni/instance.ts | 10 + sdk/nodejs/enis/getInstance.ts | 2 +- sdk/nodejs/events/auditTrack.ts | 211 + sdk/nodejs/events/index.ts | 25 + sdk/nodejs/gaap/getLayer7Listeners.ts | 10 + sdk/nodejs/gaap/getProxyStatistics.ts | 4 +- sdk/nodejs/gaap/httpDomain.ts | 28 + sdk/nodejs/gaap/layer4Listener.ts | 116 +- sdk/nodejs/gaap/layer7Listener.ts | 49 +- .../centerExternalSamlIdentityProvider.ts | 219 + sdk/nodejs/identity/centerGroup.ts | 191 + sdk/nodejs/identity/centerRoleAssignment.ts | 277 + .../identity/centerRoleConfiguration.ts | 199 + ...ationPermissionCustomPoliciesAttachment.ts | 183 + ...urationPermissionCustomPolicyAttachment.ts | 196 + ...ConfigurationPermissionPolicyAttachment.ts | 188 + sdk/nodejs/identity/centerScimCredential.ts | 156 + .../identity/centerScimCredentialStatus.ts | 144 + .../centerScimSynchronizationStatus.ts | 126 + sdk/nodejs/identity/centerUser.ts | 251 + .../identity/centerUserGroupAttachment.ts | 144 + .../identity/centerUserSyncProvisioning.ts | 292 + sdk/nodejs/identity/getCenterGroups.ts | 145 + .../identity/getCenterRoleConfigurations.ts | 125 + sdk/nodejs/identity/getCenterUsers.ts | 155 + sdk/nodejs/identity/index.ts | 136 + sdk/nodejs/image/getFromFamily.ts | 95 + sdk/nodejs/image/index.ts | 5 + sdk/nodejs/image/instance.ts | 31 + sdk/nodejs/index.ts | 26 + sdk/nodejs/instance/instance.ts | 170 +- sdk/nodejs/instances/getInstance.ts | 13 + sdk/nodejs/invite/index.ts | 25 + .../invite/organizationMemberOperation.ts | 259 + sdk/nodejs/kubernetes/addonConfig.ts | 154 + sdk/nodejs/kubernetes/authAttachment.ts | 8 +- sdk/nodejs/kubernetes/cluster.ts | 135 +- sdk/nodejs/kubernetes/clusterAttachment.ts | 30 +- .../kubernetes/clusterMasterAttachment.ts | 265 + .../kubernetes/getClusterCommonNames.ts | 48 +- sdk/nodejs/kubernetes/healthCheckPolicy.ts | 153 + sdk/nodejs/kubernetes/index.ts | 32 + sdk/nodejs/kubernetes/logConfig.ts | 340 + sdk/nodejs/kubernetes/nodePool.ts | 28 +- sdk/nodejs/kubernetes/scaleWorker.ts | 43 +- sdk/nodejs/lite/getHbaseInstances.ts | 141 + sdk/nodejs/lite/hbaseInstance.ts | 225 + sdk/nodejs/lite/index.ts | 30 + sdk/nodejs/mongodb/instance.ts | 34 + sdk/nodejs/monitor/getTmpInstances.ts | 198 + sdk/nodejs/monitor/index.ts | 5 + sdk/nodejs/monitor/tmpAlertGroup.ts | 39 +- sdk/nodejs/mysql/clsLogAttachment.ts | 315 + sdk/nodejs/mysql/index.ts | 16 + sdk/nodejs/mysql/instance.ts | 14 + sdk/nodejs/mysql/readonlyInstance.ts | 14 + sdk/nodejs/mysql/ssl.ts | 136 + sdk/nodejs/nat/gateway.ts | 66 +- sdk/nodejs/open/identityCenterOperation.ts | 108 + sdk/nodejs/open/index.ts | 25 + sdk/nodejs/organization/getNodes.ts | 102 + sdk/nodejs/organization/getServices.ts | 122 + sdk/nodejs/organization/index.ts | 18 + sdk/nodejs/organization/instance.ts | 14 + sdk/nodejs/organization/orgMember.ts | 14 + sdk/nodejs/organization/orgNode.ts | 14 + sdk/nodejs/organization/serviceAssign.ts | 196 + sdk/nodejs/postgresql/account.ts | 225 + .../postgresql/accountPrivilegesOperation.ts | 192 + .../applyParameterTemplateOperation.ts | 118 + sdk/nodejs/postgresql/cloneDbInstance.ts | 487 + sdk/nodejs/postgresql/getAccountPrivileges.ts | 125 + sdk/nodejs/postgresql/getDedicatedClusters.ts | 128 + sdk/nodejs/postgresql/index.ts | 42 + sdk/nodejs/postgresql/instance.ts | 118 +- sdk/nodejs/postgresql/readonlyInstance.ts | 112 +- sdk/nodejs/privatedns/endPoint.ts | 169 + sdk/nodejs/privatedns/forwardRule.ts | 168 + sdk/nodejs/privatedns/getEndPoints.ts | 157 + sdk/nodejs/privatedns/getForwardRules.ts | 180 + sdk/nodejs/privatedns/index.ts | 26 + sdk/nodejs/privatedns/record.ts | 15 +- sdk/nodejs/privatedns/zone.ts | 2 + sdk/nodejs/provider.ts | 57 +- sdk/nodejs/redis/getClusters.ts | 216 + sdk/nodejs/redis/index.ts | 13 + sdk/nodejs/redis/instance.ts | 87 +- sdk/nodejs/redis/logDelivery.ts | 248 + sdk/nodejs/reserve/index.ts | 25 + sdk/nodejs/reserve/ipAddress.ts | 204 + sdk/nodejs/route/tableEntry.ts | 35 +- sdk/nodejs/rum/project.ts | 26 +- sdk/nodejs/rum/tawInstance.ts | 8 +- sdk/nodejs/scf/function.ts | 21 +- sdk/nodejs/ses/emailAddress.ts | 49 +- sdk/nodejs/sg/index.ts | 25 + sdk/nodejs/sg/rule.ts | 135 + sdk/nodejs/sqlserver/instance.ts | 14 +- ...kCertificateDomainVerificationOperation.ts | 125 + sdk/nodejs/ssl/index.ts | 8 + sdk/nodejs/subnet/instance.ts | 18 +- sdk/nodejs/subscribe/index.ts | 25 + sdk/nodejs/subscribe/privateZoneService.ts | 91 + sdk/nodejs/tcr/tagRetentionRule.ts | 3 +- sdk/nodejs/tcss/imageRegistry.ts | 291 + sdk/nodejs/tcss/index.ts | 25 + sdk/nodejs/teo/accelerationDomain.ts | 2 +- sdk/nodejs/teo/certificateConfig.ts | 2 +- sdk/nodejs/teo/function.ts | 200 + sdk/nodejs/teo/functionRule.ts | 228 + sdk/nodejs/teo/functionRulePriority.ts | 147 + sdk/nodejs/teo/functionRuntimeEnvironment.ts | 157 + sdk/nodejs/teo/index.ts | 40 + sdk/nodejs/teo/ruleEngine.ts | 10 + sdk/nodejs/teo/securityIpGroup.ts | 103 + sdk/nodejs/thpc/index.ts | 25 + sdk/nodejs/thpc/workspaces.ts | 543 + sdk/nodejs/tsconfig.json | 95 +- sdk/nodejs/types/input.ts | 2460 ++- sdk/nodejs/types/output.ts | 4148 ++++- sdk/nodejs/vpc/endPoint.ts | 10 + sdk/nodejs/vpc/endPointService.ts | 10 + sdk/nodejs/vpc/flowLog.ts | 2 +- sdk/nodejs/vpc/getSubnets.ts | 77 +- sdk/nodejs/vpc/index.ts | 8 + sdk/nodejs/vpc/notifyRoutes.ts | 17 +- sdk/nodejs/vpc/privateNatGateway.ts | 165 + sdk/nodejs/vpn/connection.ts | 4 +- sdk/nodejs/waf/getWafInfos.ts | 48 - sdk/nodejs/waf/index.ts | 19 +- sdk/nodejs/waf/ipAccessControl.ts | 2 + sdk/nodejs/waf/ipAccessControlV2.ts | 222 + sdk/nodejs/waf/modifyAccessPeriod.ts | 118 - .../tencentcloud_iac_pulumi/__init__.py | 491 +- sdk/python/tencentcloud_iac_pulumi/_inputs.py | 167 + .../tencentcloud_iac_pulumi/as_/__init__.py | 1 + .../tencentcloud_iac_pulumi/as_/_inputs.py | 133 + .../as_/lifecycle_hook.py | 166 +- .../tencentcloud_iac_pulumi/as_/outputs.py | 175 +- .../as_/scaling_config.py | 185 +- .../as_/scaling_group.py | 104 +- .../as_/start_instance_refresh.py | 285 + .../tencentcloud_iac_pulumi/audit/__init__.py | 1 + .../tencentcloud_iac_pulumi/audit/_inputs.py | 77 +- .../audit/get_events.py | 229 + .../tencentcloud_iac_pulumi/audit/outputs.py | 316 +- .../tencentcloud_iac_pulumi/audit/track.py | 56 +- .../tencentcloud_iac_pulumi/batch/__init__.py | 10 + .../tencentcloud_iac_pulumi/batch/_inputs.py | 54 + .../batch/apply_account_baselines.py | 234 + .../tencentcloud_iac_pulumi/batch/outputs.py | 46 + .../tencentcloud_iac_pulumi/cam/__init__.py | 2 + .../cam/get_role_detail.py | 114 + .../cam/get_sub_accounts.py | 101 + .../tencentcloud_iac_pulumi/cam/outputs.py | 257 + .../cbs/get_storages.py | 88 +- .../cbs/get_storages_set.py | 32 +- .../tencentcloud_iac_pulumi/cbs/outputs.py | 30 +- .../tencentcloud_iac_pulumi/cbs/storage.py | 129 +- .../cbs/storage_set.py | 117 +- .../tencentcloud_iac_pulumi/ccn/__init__.py | 7 + .../tencentcloud_iac_pulumi/ccn/_inputs.py | 439 + .../tencentcloud_iac_pulumi/ccn/attachment.py | 243 +- .../ccn/get_route_table_input_policies.py | 166 + .../tencentcloud_iac_pulumi/ccn/get_routes.py | 184 + .../tencentcloud_iac_pulumi/ccn/instance.py | 150 +- .../tencentcloud_iac_pulumi/ccn/outputs.py | 769 + .../ccn/route_table.py | 389 + .../route_table_associate_instance_config.py | 368 + .../ccn/route_table_broadcast_policies.py | 390 + .../ccn/route_table_input_policies.py | 379 + .../ccn/route_table_selection_policies.py | 326 + .../tencentcloud_iac_pulumi/ccn/routes.py | 24 +- .../tencentcloud_iac_pulumi/cdc/__init__.py | 13 + .../cdc/dedicated_cluster.py | 348 + .../cdc/get_dedicated_cluster_hosts.py | 134 + .../get_dedicated_cluster_instance_types.py | 134 + .../cdc/get_dedicated_cluster_orders.py | 194 + .../tencentcloud_iac_pulumi/cdc/outputs.py | 762 + .../tencentcloud_iac_pulumi/cdc/site.py | 1203 ++ .../tencentcloud_iac_pulumi/cdn/_inputs.py | 111 +- .../tencentcloud_iac_pulumi/cdn/domain.py | 47 + .../tencentcloud_iac_pulumi/cdn/outputs.py | 108 +- .../cdwdoris/__init__.py | 12 + .../cdwdoris/_inputs.py | 430 + .../cdwdoris/get_instances.py | 199 + .../cdwdoris/instance.py | 1152 ++ .../cdwdoris/outputs.py | 1443 ++ .../cdwdoris/workload_group.py | 337 + .../tencentcloud_iac_pulumi/clb/__init__.py | 1 + .../tencentcloud_iac_pulumi/clb/attachment.py | 262 +- .../tencentcloud_iac_pulumi/clb/instance.py | 767 +- .../tencentcloud_iac_pulumi/clb/listener.py | 47 + .../clb/listener_default_domain.py | 318 + .../clb/listener_rule.py | 200 +- .../tencentcloud_iac_pulumi/clb/outputs.py | 11 + .../tencentcloud_iac_pulumi/cls/__init__.py | 1 + .../tencentcloud_iac_pulumi/cls/_inputs.py | 166 +- .../cls/data_transform.py | 122 +- .../cls/get_logsets.py | 167 + .../tencentcloud_iac_pulumi/cls/outputs.py | 283 +- .../tencentcloud_iac_pulumi/cls/topic.py | 192 +- .../config/__init__.pyi | 30 +- .../tencentcloud_iac_pulumi/config/outputs.py | 127 + .../tencentcloud_iac_pulumi/config/vars.py | 40 +- .../tencentcloud_iac_pulumi/cos/_inputs.py | 18 +- .../tencentcloud_iac_pulumi/cos/batch.py | 4 + .../tencentcloud_iac_pulumi/cos/bucket.py | 400 +- .../bucket_domain_certificate_attachment.py | 4 + ...enerate_inventory_immediately_operation.py | 4 + .../cos/bucket_inventory.py | 90 +- .../cos/bucket_policy.py | 14 +- .../cos/bucket_referer.py | 4 + .../tencentcloud_iac_pulumi/cos/get_batchs.py | 4 + .../cos/get_bucket_inventorys.py | 4 + .../cos/object_copy_operation.py | 14 +- .../cos/object_restore_operation.py | 4 + .../tencentcloud_iac_pulumi/cos/outputs.py | 16 +- .../tencentcloud_iac_pulumi/cvm/__init__.py | 1 + .../tencentcloud_iac_pulumi/cvm/_inputs.py | 50 +- .../cvm/action_timer.py | 300 + .../tencentcloud_iac_pulumi/cvm/outputs.py | 65 +- .../cynosdb/cluster.py | 449 +- .../tencentcloud_iac_pulumi/dasb/user.py | 28 +- .../tencentcloud_iac_pulumi/eip/instance.py | 47 + .../elasticsearch/_inputs.py | 42 +- .../elasticsearch/instance.py | 55 + .../elasticsearch/outputs.py | 53 +- .../tencentcloud_iac_pulumi/emr/_inputs.py | 688 + .../tencentcloud_iac_pulumi/emr/cluster.py | 253 +- .../tencentcloud_iac_pulumi/emr/outputs.py | 706 + .../tencentcloud_iac_pulumi/eni/instance.py | 28 + .../enis/get_instance.py | 2 +- .../tencentcloud_iac_pulumi/enis/outputs.py | 85 + .../events/__init__.py | 10 + .../tencentcloud_iac_pulumi/events/_inputs.py | 191 + .../events/audit_track.py | 464 + .../tencentcloud_iac_pulumi/events/outputs.py | 217 + .../gaap/get_layer7_listeners.py | 21 +- .../gaap/get_proxy_statistics.py | 4 +- .../gaap/http_domain.py | 94 + .../gaap/layer4_listener.py | 377 +- .../gaap/layer7_listener.py | 182 +- .../tencentcloud_iac_pulumi/gaap/outputs.py | 46 +- .../identity/__init__.py | 25 + .../identity/_inputs.py | 84 + .../center_external_saml_identity_provider.py | 535 + .../identity/center_group.py | 425 + .../identity/center_role_assignment.py | 658 + .../identity/center_role_configuration.py | 463 + ...n_permission_custom_policies_attachment.py | 362 + ...ion_permission_custom_policy_attachment.py | 420 + ...figuration_permission_policy_attachment.py | 417 + .../identity/center_scim_credential.py | 324 + .../identity/center_scim_credential_status.py | 286 + .../center_scim_synchronization_status.py | 236 + .../identity/center_user.py | 632 + .../identity/center_user_group_attachment.py | 286 + .../identity/center_user_sync_provisioning.py | 740 + .../identity/get_center_groups.py | 209 + .../get_center_role_configurations.py | 179 + .../identity/get_center_users.py | 224 + .../identity/outputs.py | 453 + .../tencentcloud_iac_pulumi/image/__init__.py | 1 + .../image/get_from_family.py | 134 + .../tencentcloud_iac_pulumi/image/instance.py | 79 + .../tencentcloud_iac_pulumi/image/outputs.py | 289 + .../instance/_inputs.py | 16 + .../instance/instance.py | 381 +- .../instance/outputs.py | 14 + .../instances/get_instance.py | 20 +- .../instances/outputs.py | 22 + .../invite/__init__.py | 10 + .../tencentcloud_iac_pulumi/invite/_inputs.py | 90 + .../invite/organization_member_operation.py | 661 + .../tencentcloud_iac_pulumi/invite/outputs.py | 93 + .../kubernetes/__init__.py | 4 + .../kubernetes/_inputs.py | 1615 +- .../kubernetes/addon_config.py | 348 + .../kubernetes/auth_attachment.py | 16 +- .../kubernetes/cluster.py | 363 +- .../kubernetes/cluster_attachment.py | 86 +- .../kubernetes/cluster_master_attachment.py | 716 + .../kubernetes/get_cluster_common_names.py | 40 +- .../kubernetes/health_check_policy.py | 307 + .../kubernetes/log_config.py | 706 + .../kubernetes/node_pool.py | 73 +- .../kubernetes/outputs.py | 1520 +- .../kubernetes/scale_worker.py | 130 +- .../tencentcloud_iac_pulumi/lite/__init__.py | 11 + .../tencentcloud_iac_pulumi/lite/_inputs.py | 183 + .../lite/get_hbase_instances.py | 196 + .../lite/hbase_instance.py | 507 + .../tencentcloud_iac_pulumi/lite/outputs.py | 481 + .../mongodb/instance.py | 108 + .../monitor/__init__.py | 1 + .../monitor/_inputs.py | 38 + .../monitor/get_tmp_instances.py | 267 + .../monitor/outputs.py | 538 + .../monitor/tmp_alert_group.py | 78 +- .../tencentcloud_iac_pulumi/mysql/__init__.py | 2 + .../mysql/cls_log_attachment.py | 755 + .../tencentcloud_iac_pulumi/mysql/instance.py | 47 + .../mysql/readonly_instance.py | 47 + .../tencentcloud_iac_pulumi/mysql/ssl.py | 264 + .../tencentcloud_iac_pulumi/nat/gateway.py | 149 +- .../tencentcloud_iac_pulumi/open/__init__.py | 8 + .../open/identity_center_operation.py | 196 + .../organization/__init__.py | 3 + .../organization/_inputs.py | 38 + .../organization/get_nodes.py | 141 + .../organization/get_services.py | 160 + .../organization/instance.py | 54 +- .../organization/org_member.py | 49 +- .../organization/org_node.py | 49 +- .../organization/outputs.py | 298 + .../organization/service_assign.py | 431 + .../postgresql/__init__.py | 6 + .../postgresql/_inputs.py | 420 + .../postgresql/account.py | 498 + .../account_privileges_operation.py | 378 + .../apply_parameter_template_operation.py | 220 + .../postgresql/clone_db_instance.py | 1220 ++ .../postgresql/get_account_privileges.py | 175 + .../postgresql/get_dedicated_clusters.py | 167 + .../postgresql/instance.py | 253 +- .../postgresql/outputs.py | 677 + .../postgresql/readonly_instance.py | 237 +- .../privatedns/__init__.py | 4 + .../privatedns/_inputs.py | 76 + .../privatedns/end_point.py | 363 + .../privatedns/forward_rule.py | 346 + .../privatedns/get_end_points.py | 196 + .../privatedns/get_forward_rules.py | 219 + .../privatedns/outputs.py | 372 + .../privatedns/record.py | 34 +- .../privatedns/zone.py | 4 + .../tencentcloud_iac_pulumi/provider.py | 166 +- .../tencentcloud_iac_pulumi/redis/__init__.py | 2 + .../redis/get_clusters.py | 279 + .../tencentcloud_iac_pulumi/redis/instance.py | 212 +- .../redis/log_delivery.py | 595 + .../tencentcloud_iac_pulumi/redis/outputs.py | 244 + .../reserve/__init__.py | 8 + .../reserve/ip_address.py | 519 + .../route/table_entry.py | 78 +- .../tencentcloud_iac_pulumi/rum/project.py | 54 +- .../rum/taw_instance.py | 16 +- .../tencentcloud_iac_pulumi/scf/_inputs.py | 8 +- .../tencentcloud_iac_pulumi/scf/function.py | 48 +- .../tencentcloud_iac_pulumi/scf/outputs.py | 8 +- .../security/_inputs.py | 48 +- .../security/outputs.py | 48 +- .../ses/email_address.py | 121 +- .../tencentcloud_iac_pulumi/sg/__init__.py | 10 + .../tencentcloud_iac_pulumi/sg/_inputs.py | 176 + .../tencentcloud_iac_pulumi/sg/outputs.py | 165 + sdk/python/tencentcloud_iac_pulumi/sg/rule.py | 257 + .../sqlserver/instance.py | 31 +- .../tencentcloud_iac_pulumi/ssl/__init__.py | 1 + .../tencentcloud_iac_pulumi/ssl/_inputs.py | 136 + ...rtificate_domain_verification_operation.py | 228 + .../tencentcloud_iac_pulumi/ssl/outputs.py | 153 +- .../subnet/instance.py | 55 +- .../subscribe/__init__.py | 8 + .../subscribe/private_zone_service.py | 149 + .../tcr/tag_retention_rule.py | 10 +- .../tencentcloud_iac_pulumi/tcss/__init__.py | 10 + .../tencentcloud_iac_pulumi/tcss/_inputs.py | 54 + .../tcss/image_registry.py | 745 + .../tencentcloud_iac_pulumi/tcss/outputs.py | 46 + .../tencentcloud_iac_pulumi/teo/__init__.py | 5 + .../tencentcloud_iac_pulumi/teo/_inputs.py | 234 + .../teo/acceleration_domain.py | 4 +- .../teo/certificate_config.py | 4 +- .../tencentcloud_iac_pulumi/teo/function.py | 454 + .../teo/function_rule.py | 495 + .../teo/function_rule_priority.py | 292 + .../teo/function_runtime_environment.py | 310 + .../tencentcloud_iac_pulumi/teo/outputs.py | 237 + .../teo/rule_engine.py | 28 + .../teo/security_ip_group.py | 194 + .../tencentcloud_iac_pulumi/thpc/__init__.py | 10 + .../tencentcloud_iac_pulumi/thpc/_inputs.py | 688 + .../tencentcloud_iac_pulumi/thpc/outputs.py | 717 + .../thpc/workspaces.py | 1418 ++ .../tencentcloud_iac_pulumi/vpc/__init__.py | 1 + .../tencentcloud_iac_pulumi/vpc/end_point.py | 28 + .../vpc/end_point_service.py | 28 + .../tencentcloud_iac_pulumi/vpc/flow_log.py | 4 +- .../vpc/get_subnets.py | 74 +- .../vpc/notify_routes.py | 50 +- .../tencentcloud_iac_pulumi/vpc/outputs.py | 11 + .../vpc/private_nat_gateway.py | 376 + .../tencentcloud_iac_pulumi/vpn/connection.py | 4 +- .../tencentcloud_iac_pulumi/waf/__init__.py | 3 +- .../tencentcloud_iac_pulumi/waf/_inputs.py | 245 +- .../waf/ip_access_control.py | 4 + .../waf/ip_access_control_v2.py | 512 + .../tencentcloud_iac_pulumi/waf/outputs.py | 446 +- 1312 files changed, 194663 insertions(+), 7303 deletions(-) create mode 100644 sdk/dotnet/Tencentcloud/As/Inputs/LifecycleHookLifecycleCommandArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/As/Inputs/LifecycleHookLifecycleCommandGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/As/Inputs/StartInstanceRefreshRefreshSettingsArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/As/Inputs/StartInstanceRefreshRefreshSettingsGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/As/Inputs/StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/As/Inputs/StartInstanceRefreshRefreshSettingsRollingUpdateSettingsGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/As/Outputs/LifecycleHookLifecycleCommand.cs create mode 100644 sdk/dotnet/Tencentcloud/As/Outputs/StartInstanceRefreshRefreshSettings.cs create mode 100644 sdk/dotnet/Tencentcloud/As/Outputs/StartInstanceRefreshRefreshSettingsRollingUpdateSettings.cs create mode 100644 sdk/dotnet/Tencentcloud/As/StartInstanceRefresh.cs create mode 100644 sdk/dotnet/Tencentcloud/Audit/GetEvents.cs create mode 100644 sdk/dotnet/Tencentcloud/Audit/Inputs/GetEventsLookupAttribute.cs create mode 100644 sdk/dotnet/Tencentcloud/Audit/Inputs/GetEventsLookupAttributeArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Audit/Outputs/GetEventsEventResourcesResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Audit/Outputs/GetEventsEventResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Audit/Outputs/GetEventsLookupAttributeResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Batch/ApplyAccountBaselines.cs create mode 100644 sdk/dotnet/Tencentcloud/Batch/Inputs/ApplyAccountBaselinesBaselineConfigItemArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Batch/Inputs/ApplyAccountBaselinesBaselineConfigItemGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Batch/Outputs/ApplyAccountBaselinesBaselineConfigItem.cs create mode 100644 sdk/dotnet/Tencentcloud/Batch/README.md create mode 100644 sdk/dotnet/Tencentcloud/Cam/GetRoleDetail.cs create mode 100644 sdk/dotnet/Tencentcloud/Cam/GetSubAccounts.cs create mode 100644 sdk/dotnet/Tencentcloud/Cam/Outputs/GetRoleDetailRoleInfoResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Cam/Outputs/GetRoleDetailRoleInfoTagResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Cam/Outputs/GetSubAccountsSubAccountResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Ccn/GetRouteTableInputPolicies.cs create mode 100644 sdk/dotnet/Tencentcloud/Ccn/GetRoutes.cs create mode 100644 sdk/dotnet/Tencentcloud/Ccn/Inputs/GetRoutesFilter.cs create mode 100644 sdk/dotnet/Tencentcloud/Ccn/Inputs/GetRoutesFilterArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableAssociateInstanceConfigInstanceArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableAssociateInstanceConfigInstanceGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableBroadcastPoliciesPolicyArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableBroadcastPoliciesPolicyBroadcastConditionGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableBroadcastPoliciesPolicyGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableBroadcastPoliciesPolicyRouteConditionArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableBroadcastPoliciesPolicyRouteConditionGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableInputPoliciesPolicyArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableInputPoliciesPolicyGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableInputPoliciesPolicyRouteConditionArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableInputPoliciesPolicyRouteConditionGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableSelectionPoliciesSelectionPolicyArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableSelectionPoliciesSelectionPolicyGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Ccn/Outputs/GetRouteTableInputPoliciesPolicySetPolicyResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Ccn/Outputs/GetRouteTableInputPoliciesPolicySetPolicyRouteConditionResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Ccn/Outputs/GetRouteTableInputPoliciesPolicySetResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Ccn/Outputs/GetRoutesFilterResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Ccn/Outputs/GetRoutesRouteListResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Ccn/Outputs/RouteTableAssociateInstanceConfigInstance.cs create mode 100644 sdk/dotnet/Tencentcloud/Ccn/Outputs/RouteTableBroadcastPoliciesPolicy.cs create mode 100644 sdk/dotnet/Tencentcloud/Ccn/Outputs/RouteTableBroadcastPoliciesPolicyBroadcastCondition.cs create mode 100644 sdk/dotnet/Tencentcloud/Ccn/Outputs/RouteTableBroadcastPoliciesPolicyRouteCondition.cs create mode 100644 sdk/dotnet/Tencentcloud/Ccn/Outputs/RouteTableInputPoliciesPolicy.cs create mode 100644 sdk/dotnet/Tencentcloud/Ccn/Outputs/RouteTableInputPoliciesPolicyRouteCondition.cs create mode 100644 sdk/dotnet/Tencentcloud/Ccn/Outputs/RouteTableSelectionPoliciesSelectionPolicy.cs create mode 100644 sdk/dotnet/Tencentcloud/Ccn/RouteTable.cs create mode 100644 sdk/dotnet/Tencentcloud/Ccn/RouteTableAssociateInstanceConfig.cs create mode 100644 sdk/dotnet/Tencentcloud/Ccn/RouteTableBroadcastPolicies.cs create mode 100644 sdk/dotnet/Tencentcloud/Ccn/RouteTableInputPolicies.cs create mode 100644 sdk/dotnet/Tencentcloud/Ccn/RouteTableSelectionPolicies.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdc/DedicatedCluster.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdc/GetDedicatedClusterHosts.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdc/GetDedicatedClusterInstanceTypes.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdc/GetDedicatedClusterOrders.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdc/Outputs/GetDedicatedClusterHostsHostInfoSetResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdc/Outputs/GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdc/Outputs/GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdc/Outputs/GetDedicatedClusterOrdersDedicatedClusterOrderSetResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdc/README.md create mode 100644 sdk/dotnet/Tencentcloud/Cdc/Site.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdn/Inputs/DomainOthersPrivateAccessArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdn/Inputs/DomainOthersPrivateAccessGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdn/Outputs/DomainOthersPrivateAccess.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdwdoris/GetInstances.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/GetInstancesSearchTag.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/GetInstancesSearchTagArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceBeSpecArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceBeSpecGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceChargePropertiesArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceChargePropertiesGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceFeSpecArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceFeSpecGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceTagArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceTagGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceUserMultiZoneInfosArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceUserMultiZoneInfosGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/WorkloadGroupWorkloadGroupArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/WorkloadGroupWorkloadGroupGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdwdoris/Instance.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/GetInstancesInstancesListCoreSummaryAttachCbsSpecResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/GetInstancesInstancesListCoreSummaryResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/GetInstancesInstancesListMasterSummaryAttachCbsSpecResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/GetInstancesInstancesListMasterSummaryResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/GetInstancesInstancesListResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/GetInstancesInstancesListTagResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/GetInstancesSearchTagResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/InstanceBeSpec.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/InstanceChargeProperties.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/InstanceFeSpec.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/InstanceTag.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/InstanceUserMultiZoneInfos.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/WorkloadGroupWorkloadGroup.cs create mode 100644 sdk/dotnet/Tencentcloud/Cdwdoris/README.md create mode 100644 sdk/dotnet/Tencentcloud/Cdwdoris/WorkloadGroup.cs create mode 100644 sdk/dotnet/Tencentcloud/Clb/ListenerDefaultDomain.cs create mode 100644 sdk/dotnet/Tencentcloud/Cls/GetLogsets.cs create mode 100644 sdk/dotnet/Tencentcloud/Cls/Inputs/GetLogsetsFilter.cs create mode 100644 sdk/dotnet/Tencentcloud/Cls/Inputs/GetLogsetsFilterArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Cls/Inputs/TopicExtendsAnonymousAccessArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Cls/Inputs/TopicExtendsAnonymousAccessConditionArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Cls/Inputs/TopicExtendsAnonymousAccessConditionGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Cls/Inputs/TopicExtendsAnonymousAccessGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Cls/Inputs/TopicExtendsArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Cls/Inputs/TopicExtendsGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Cls/Outputs/GetLogsetsFilterResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Cls/Outputs/GetLogsetsLogsetResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Cls/Outputs/GetLogsetsLogsetTagResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Cls/Outputs/TopicExtends.cs create mode 100644 sdk/dotnet/Tencentcloud/Cls/Outputs/TopicExtendsAnonymousAccess.cs create mode 100644 sdk/dotnet/Tencentcloud/Cls/Outputs/TopicExtendsAnonymousAccessCondition.cs create mode 100644 sdk/dotnet/Tencentcloud/Cvm/ActionTimer.cs create mode 100644 sdk/dotnet/Tencentcloud/Cvm/Inputs/ActionTimerActionTimerArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Cvm/Inputs/ActionTimerActionTimerGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Cvm/Outputs/ActionTimerActionTimer.cs create mode 100644 sdk/dotnet/Tencentcloud/Elasticsearch/Inputs/InstanceCosBackupArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Elasticsearch/Inputs/InstanceCosBackupGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Elasticsearch/Outputs/InstanceCosBackup.cs create mode 100644 sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterPreExecutedFileSettingArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterPreExecutedFileSettingGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecCommonResourceSpecMultiDiskArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecCommonResourceSpecMultiDiskGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecCoreResourceSpecMultiDiskArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecCoreResourceSpecMultiDiskGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecMasterResourceSpecMultiDiskArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecMasterResourceSpecMultiDiskGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecTaskResourceSpecMultiDiskArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecTaskResourceSpecMultiDiskGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterTerminateNodeInfoArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterTerminateNodeInfoGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterPreExecutedFileSetting.cs create mode 100644 sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterResourceSpecCommonResourceSpecMultiDisk.cs create mode 100644 sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterResourceSpecCoreResourceSpecMultiDisk.cs create mode 100644 sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterResourceSpecMasterResourceSpecMultiDisk.cs create mode 100644 sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterResourceSpecTaskResourceSpecMultiDisk.cs create mode 100644 sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterTerminateNodeInfo.cs create mode 100644 sdk/dotnet/Tencentcloud/Enis/Outputs/GetInstanceEniIpv6Result.cs create mode 100644 sdk/dotnet/Tencentcloud/Events/AuditTrack.cs create mode 100644 sdk/dotnet/Tencentcloud/Events/Inputs/AuditTrackFiltersArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Events/Inputs/AuditTrackFiltersGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Events/Inputs/AuditTrackFiltersResourceFieldArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Events/Inputs/AuditTrackFiltersResourceFieldGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Events/Inputs/AuditTrackStorageArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Events/Inputs/AuditTrackStorageGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Events/Outputs/AuditTrackFilters.cs create mode 100644 sdk/dotnet/Tencentcloud/Events/Outputs/AuditTrackFiltersResourceField.cs create mode 100644 sdk/dotnet/Tencentcloud/Events/Outputs/AuditTrackStorage.cs create mode 100644 sdk/dotnet/Tencentcloud/Events/README.md create mode 100644 sdk/dotnet/Tencentcloud/Identity/CenterExternalSamlIdentityProvider.cs create mode 100644 sdk/dotnet/Tencentcloud/Identity/CenterGroup.cs create mode 100644 sdk/dotnet/Tencentcloud/Identity/CenterRoleAssignment.cs create mode 100644 sdk/dotnet/Tencentcloud/Identity/CenterRoleConfiguration.cs create mode 100644 sdk/dotnet/Tencentcloud/Identity/CenterRoleConfigurationPermissionCustomPoliciesAttachment.cs create mode 100644 sdk/dotnet/Tencentcloud/Identity/CenterRoleConfigurationPermissionCustomPolicyAttachment.cs create mode 100644 sdk/dotnet/Tencentcloud/Identity/CenterRoleConfigurationPermissionPolicyAttachment.cs create mode 100644 sdk/dotnet/Tencentcloud/Identity/CenterScimCredential.cs create mode 100644 sdk/dotnet/Tencentcloud/Identity/CenterScimCredentialStatus.cs create mode 100644 sdk/dotnet/Tencentcloud/Identity/CenterScimSynchronizationStatus.cs create mode 100644 sdk/dotnet/Tencentcloud/Identity/CenterUser.cs create mode 100644 sdk/dotnet/Tencentcloud/Identity/CenterUserGroupAttachment.cs create mode 100644 sdk/dotnet/Tencentcloud/Identity/CenterUserSyncProvisioning.cs create mode 100644 sdk/dotnet/Tencentcloud/Identity/GetCenterGroups.cs create mode 100644 sdk/dotnet/Tencentcloud/Identity/GetCenterRoleConfigurations.cs create mode 100644 sdk/dotnet/Tencentcloud/Identity/GetCenterUsers.cs create mode 100644 sdk/dotnet/Tencentcloud/Identity/Inputs/CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Identity/Inputs/CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Identity/Outputs/CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicy.cs create mode 100644 sdk/dotnet/Tencentcloud/Identity/Outputs/GetCenterGroupsGroupResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Identity/Outputs/GetCenterRoleConfigurationsRoleConfigurationResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Identity/Outputs/GetCenterUsersUserResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Identity/README.md create mode 100644 sdk/dotnet/Tencentcloud/Image/GetFromFamily.cs create mode 100644 sdk/dotnet/Tencentcloud/Image/Outputs/GetFromFamilyImageResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Image/Outputs/GetFromFamilyImageSnapshotSetResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Image/Outputs/GetFromFamilyImageTagResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Inputs/ProviderAssumeRoleWithSamlArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Inputs/ProviderAssumeRoleWithWebIdentityArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Invite/Inputs/OrganizationMemberOperationAuthFileArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Invite/Inputs/OrganizationMemberOperationAuthFileGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Invite/Inputs/OrganizationMemberOperationTagArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Invite/Inputs/OrganizationMemberOperationTagGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Invite/OrganizationMemberOperation.cs create mode 100644 sdk/dotnet/Tencentcloud/Invite/Outputs/OrganizationMemberOperationAuthFile.cs create mode 100644 sdk/dotnet/Tencentcloud/Invite/Outputs/OrganizationMemberOperationTag.cs create mode 100644 sdk/dotnet/Tencentcloud/Invite/README.md create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/AddonConfig.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/ClusterMasterAttachment.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/HealthCheckPolicy.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterAttachmentWorkerConfigTaintArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterAttachmentWorkerConfigTaintGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigDataDiskArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigDataDiskGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigExtraArgsArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigExtraArgsGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigGpuArgsArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigGpuArgsGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigLabelArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigLabelGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigTaintArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigTaintGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentExtraArgsArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentExtraArgsGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigDataDiskArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigDataDiskGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigExtraArgsArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigExtraArgsGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigGpuArgsArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigGpuArgsGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigLabelArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigLabelGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigTaintArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigTaintGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterResourceDeleteOptionArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterResourceDeleteOptionGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Inputs/HealthCheckPolicyRuleArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Inputs/HealthCheckPolicyRuleGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NodePoolAnnotationArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NodePoolAnnotationGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ScaleWorkerTaintArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ScaleWorkerTaintGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/LogConfig.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterAttachmentWorkerConfigTaint.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterExistInstanceInstancesParaMasterConfig.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterExistInstanceInstancesParaMasterConfigDataDisk.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterExistInstanceInstancesParaMasterConfigExtraArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterExistInstanceInstancesParaMasterConfigGpuArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterExistInstanceInstancesParaMasterConfigLabel.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterExistInstanceInstancesParaMasterConfigTaint.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterMasterAttachmentExtraArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterMasterAttachmentMasterConfig.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterMasterAttachmentMasterConfigDataDisk.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterMasterAttachmentMasterConfigExtraArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterMasterAttachmentMasterConfigGpuArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterMasterAttachmentMasterConfigLabel.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterMasterAttachmentMasterConfigTaint.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterResourceDeleteOption.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Outputs/HealthCheckPolicyRule.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NodePoolAnnotation.cs create mode 100644 sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ScaleWorkerTaint.cs create mode 100644 sdk/dotnet/Tencentcloud/Lite/GetHbaseInstances.cs create mode 100644 sdk/dotnet/Tencentcloud/Lite/HbaseInstance.cs create mode 100644 sdk/dotnet/Tencentcloud/Lite/Inputs/GetHbaseInstancesFilter.cs create mode 100644 sdk/dotnet/Tencentcloud/Lite/Inputs/GetHbaseInstancesFilterArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Lite/Inputs/HbaseInstanceTagArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Lite/Inputs/HbaseInstanceTagGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Lite/Inputs/HbaseInstanceZoneSettingArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Lite/Inputs/HbaseInstanceZoneSettingGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Lite/Inputs/HbaseInstanceZoneSettingVpcSettingsArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Lite/Inputs/HbaseInstanceZoneSettingVpcSettingsGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Lite/Outputs/GetHbaseInstancesFilterResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Lite/Outputs/GetHbaseInstancesInstanceListResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Lite/Outputs/GetHbaseInstancesInstanceListTagResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Lite/Outputs/GetHbaseInstancesInstanceListZoneSettingResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Lite/Outputs/GetHbaseInstancesInstanceListZoneSettingVpcSettingResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Lite/Outputs/HbaseInstanceTag.cs create mode 100644 sdk/dotnet/Tencentcloud/Lite/Outputs/HbaseInstanceZoneSetting.cs create mode 100644 sdk/dotnet/Tencentcloud/Lite/Outputs/HbaseInstanceZoneSettingVpcSettings.cs create mode 100644 sdk/dotnet/Tencentcloud/Lite/README.md create mode 100644 sdk/dotnet/Tencentcloud/Monitor/GetTmpInstances.cs create mode 100644 sdk/dotnet/Tencentcloud/Monitor/Inputs/GetTmpInstancesTagFilter.cs create mode 100644 sdk/dotnet/Tencentcloud/Monitor/Inputs/GetTmpInstancesTagFilterArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Monitor/Outputs/GetTmpInstancesInstanceSetGrantResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Monitor/Outputs/GetTmpInstancesInstanceSetResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Monitor/Outputs/GetTmpInstancesInstanceSetTagSpecificationResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Monitor/Outputs/GetTmpInstancesTagFilterResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Mysql/ClsLogAttachment.cs create mode 100644 sdk/dotnet/Tencentcloud/Mysql/Ssl.cs create mode 100644 sdk/dotnet/Tencentcloud/Open/IdentityCenterOperation.cs create mode 100644 sdk/dotnet/Tencentcloud/Open/README.md create mode 100644 sdk/dotnet/Tencentcloud/Organization/GetNodes.cs create mode 100644 sdk/dotnet/Tencentcloud/Organization/GetServices.cs create mode 100644 sdk/dotnet/Tencentcloud/Organization/Inputs/GetNodesTag.cs create mode 100644 sdk/dotnet/Tencentcloud/Organization/Inputs/GetNodesTagArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Organization/Outputs/GetNodesItemResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Organization/Outputs/GetNodesItemTagResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Organization/Outputs/GetNodesTagResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Organization/Outputs/GetServicesItemResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Organization/ServiceAssign.cs create mode 100644 sdk/dotnet/Tencentcloud/Postgresql/Account.cs create mode 100644 sdk/dotnet/Tencentcloud/Postgresql/AccountPrivilegesOperation.cs create mode 100644 sdk/dotnet/Tencentcloud/Postgresql/ApplyParameterTemplateOperation.cs create mode 100644 sdk/dotnet/Tencentcloud/Postgresql/CloneDbInstance.cs create mode 100644 sdk/dotnet/Tencentcloud/Postgresql/GetAccountPrivileges.cs create mode 100644 sdk/dotnet/Tencentcloud/Postgresql/GetDedicatedClusters.cs create mode 100644 sdk/dotnet/Tencentcloud/Postgresql/Inputs/AccountPrivilegesOperationModifyPrivilegeSetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Postgresql/Inputs/AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Postgresql/Inputs/AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Postgresql/Inputs/AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Postgresql/Inputs/AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Postgresql/Inputs/AccountPrivilegesOperationModifyPrivilegeSetGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Postgresql/Inputs/CloneDbInstanceDbNodeSetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Postgresql/Inputs/CloneDbInstanceDbNodeSetGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Postgresql/Inputs/CloneDbInstanceTagListArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Postgresql/Inputs/CloneDbInstanceTagListGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Postgresql/Inputs/GetAccountPrivilegesDatabaseObjectSet.cs create mode 100644 sdk/dotnet/Tencentcloud/Postgresql/Inputs/GetAccountPrivilegesDatabaseObjectSetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Postgresql/Inputs/GetDedicatedClustersFilter.cs create mode 100644 sdk/dotnet/Tencentcloud/Postgresql/Inputs/GetDedicatedClustersFilterArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Postgresql/Outputs/AccountPrivilegesOperationModifyPrivilegeSet.cs create mode 100644 sdk/dotnet/Tencentcloud/Postgresql/Outputs/AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege.cs create mode 100644 sdk/dotnet/Tencentcloud/Postgresql/Outputs/AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject.cs create mode 100644 sdk/dotnet/Tencentcloud/Postgresql/Outputs/CloneDbInstanceDbNodeSet.cs create mode 100644 sdk/dotnet/Tencentcloud/Postgresql/Outputs/CloneDbInstanceTagList.cs create mode 100644 sdk/dotnet/Tencentcloud/Postgresql/Outputs/GetAccountPrivilegesDatabaseObjectSetResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Postgresql/Outputs/GetAccountPrivilegesPrivilegeSetObjectResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Postgresql/Outputs/GetAccountPrivilegesPrivilegeSetResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Postgresql/Outputs/GetDedicatedClustersDedicatedClusterSetResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Postgresql/Outputs/GetDedicatedClustersFilterResult.cs create mode 100644 sdk/dotnet/Tencentcloud/PrivateDns/EndPoint.cs create mode 100644 sdk/dotnet/Tencentcloud/PrivateDns/ForwardRule.cs create mode 100644 sdk/dotnet/Tencentcloud/PrivateDns/GetEndPoints.cs create mode 100644 sdk/dotnet/Tencentcloud/PrivateDns/GetForwardRules.cs create mode 100644 sdk/dotnet/Tencentcloud/PrivateDns/Inputs/GetEndPointsFilter.cs create mode 100644 sdk/dotnet/Tencentcloud/PrivateDns/Inputs/GetEndPointsFilterArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/PrivateDns/Inputs/GetForwardRulesFilter.cs create mode 100644 sdk/dotnet/Tencentcloud/PrivateDns/Inputs/GetForwardRulesFilterArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/PrivateDns/Outputs/GetEndPointsEndPointSetResult.cs create mode 100644 sdk/dotnet/Tencentcloud/PrivateDns/Outputs/GetEndPointsEndPointSetTagResult.cs create mode 100644 sdk/dotnet/Tencentcloud/PrivateDns/Outputs/GetEndPointsFilterResult.cs create mode 100644 sdk/dotnet/Tencentcloud/PrivateDns/Outputs/GetForwardRulesFilterResult.cs create mode 100644 sdk/dotnet/Tencentcloud/PrivateDns/Outputs/GetForwardRulesForwardRuleSetResult.cs create mode 100644 sdk/dotnet/Tencentcloud/PrivateDns/Outputs/GetForwardRulesForwardRuleSetTagResult.cs create mode 100644 sdk/dotnet/Tencentcloud/PrivateDns/Outputs/GetForwardRulesForwardRuleSetVpcSetResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Redis/GetClusters.cs create mode 100644 sdk/dotnet/Tencentcloud/Redis/LogDelivery.cs create mode 100644 sdk/dotnet/Tencentcloud/Redis/Outputs/GetClustersResourceBaseBundleResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Redis/Outputs/GetClustersResourceResourceBundleResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Redis/Outputs/GetClustersResourceResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Reserve/IpAddress.cs create mode 100644 sdk/dotnet/Tencentcloud/Reserve/README.md create mode 100644 sdk/dotnet/Tencentcloud/Sg/Inputs/RuleDataArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Sg/Inputs/RuleDataGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Sg/Outputs/RuleData.cs create mode 100644 sdk/dotnet/Tencentcloud/Sg/README.md create mode 100644 sdk/dotnet/Tencentcloud/Sg/Rule.cs create mode 100644 sdk/dotnet/Tencentcloud/Ssl/CheckCertificateDomainVerificationOperation.cs create mode 100644 sdk/dotnet/Tencentcloud/Ssl/Inputs/CheckCertificateDomainVerificationOperationVerificationResultArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Ssl/Inputs/CheckCertificateDomainVerificationOperationVerificationResultGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Ssl/Outputs/CheckCertificateDomainVerificationOperationVerificationResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Subscribe/PrivateZoneService.cs create mode 100644 sdk/dotnet/Tencentcloud/Subscribe/README.md create mode 100644 sdk/dotnet/Tencentcloud/Tcss/ImageRegistry.cs create mode 100644 sdk/dotnet/Tencentcloud/Tcss/Inputs/ImageRegistryConnDetectConfigArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Tcss/Inputs/ImageRegistryConnDetectConfigGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Tcss/Outputs/ImageRegistryConnDetectConfig.cs create mode 100644 sdk/dotnet/Tencentcloud/Tcss/README.md create mode 100644 sdk/dotnet/Tencentcloud/Teo/Function.cs create mode 100644 sdk/dotnet/Tencentcloud/Teo/FunctionRule.cs create mode 100644 sdk/dotnet/Tencentcloud/Teo/FunctionRulePriority.cs create mode 100644 sdk/dotnet/Tencentcloud/Teo/FunctionRuntimeEnvironment.cs create mode 100644 sdk/dotnet/Tencentcloud/Teo/Inputs/FunctionRuleFunctionRuleConditionArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Teo/Inputs/FunctionRuleFunctionRuleConditionGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Teo/Inputs/FunctionRuleFunctionRuleConditionRuleConditionArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Teo/Inputs/FunctionRuleFunctionRuleConditionRuleConditionGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Teo/Inputs/FunctionRuntimeEnvironmentEnvironmentVariableArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Teo/Inputs/FunctionRuntimeEnvironmentEnvironmentVariableGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Teo/Inputs/SecurityIpGroupIpGroupArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Teo/Inputs/SecurityIpGroupIpGroupGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Teo/Outputs/FunctionRuleFunctionRuleCondition.cs create mode 100644 sdk/dotnet/Tencentcloud/Teo/Outputs/FunctionRuleFunctionRuleConditionRuleCondition.cs create mode 100644 sdk/dotnet/Tencentcloud/Teo/Outputs/FunctionRuntimeEnvironmentEnvironmentVariable.cs create mode 100644 sdk/dotnet/Tencentcloud/Teo/Outputs/SecurityIpGroupIpGroup.cs create mode 100644 sdk/dotnet/Tencentcloud/Teo/SecurityIpGroup.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesDataDiskArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesDataDiskGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesEnhancedServiceArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesEnhancedServiceAutomationServiceArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesEnhancedServiceAutomationServiceGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesEnhancedServiceGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesEnhancedServiceMonitorServiceArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesEnhancedServiceMonitorServiceGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesEnhancedServiceSecurityServiceArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesEnhancedServiceSecurityServiceGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesInternetAccessibleArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesInternetAccessibleGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesLoginSettingsArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesLoginSettingsGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesPlacementArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesPlacementGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesSpaceChargePrepaidArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesSpaceChargePrepaidGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesSystemDiskArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesSystemDiskGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesTagSpecificationArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesTagSpecificationGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesTagSpecificationTagArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesTagSpecificationTagGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesVirtualPrivateCloudArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesVirtualPrivateCloudGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesDataDisk.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesEnhancedService.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesEnhancedServiceAutomationService.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesEnhancedServiceMonitorService.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesEnhancedServiceSecurityService.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesInternetAccessible.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesLoginSettings.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesPlacement.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesSpaceChargePrepaid.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesSystemDisk.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesTagSpecification.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesTagSpecificationTag.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesVirtualPrivateCloud.cs create mode 100644 sdk/dotnet/Tencentcloud/Thpc/README.md create mode 100644 sdk/dotnet/Tencentcloud/Thpc/Workspaces.cs create mode 100644 sdk/dotnet/Tencentcloud/Vpc/PrivateNatGateway.cs delete mode 100644 sdk/dotnet/Tencentcloud/Waf/GetWafInfos.cs delete mode 100644 sdk/dotnet/Tencentcloud/Waf/Inputs/GetWafInfosParam.cs delete mode 100644 sdk/dotnet/Tencentcloud/Waf/Inputs/GetWafInfosParamArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Waf/Inputs/IpAccessControlV2JobDateTimeArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Waf/Inputs/IpAccessControlV2JobDateTimeCronArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Waf/Inputs/IpAccessControlV2JobDateTimeCronGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Waf/Inputs/IpAccessControlV2JobDateTimeGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Waf/Inputs/IpAccessControlV2JobDateTimeTimedArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Waf/Inputs/IpAccessControlV2JobDateTimeTimedGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Waf/IpAccessControlV2.cs delete mode 100644 sdk/dotnet/Tencentcloud/Waf/ModifyAccessPeriod.cs delete mode 100644 sdk/dotnet/Tencentcloud/Waf/Outputs/GetWafInfosHostListLoadBalancerResult.cs delete mode 100644 sdk/dotnet/Tencentcloud/Waf/Outputs/GetWafInfosHostListResult.cs delete mode 100644 sdk/dotnet/Tencentcloud/Waf/Outputs/GetWafInfosParamResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Waf/Outputs/IpAccessControlV2JobDateTime.cs create mode 100644 sdk/dotnet/Tencentcloud/Waf/Outputs/IpAccessControlV2JobDateTimeCron.cs create mode 100644 sdk/dotnet/Tencentcloud/Waf/Outputs/IpAccessControlV2JobDateTimeTimed.cs create mode 100644 sdk/go/tencentcloud/as/startInstanceRefresh.go create mode 100644 sdk/go/tencentcloud/audit/getEvents.go create mode 100644 sdk/go/tencentcloud/batch/applyAccountBaselines.go create mode 100644 sdk/go/tencentcloud/batch/init.go create mode 100644 sdk/go/tencentcloud/batch/pulumiTypes.go create mode 100644 sdk/go/tencentcloud/cam/getRoleDetail.go create mode 100644 sdk/go/tencentcloud/cam/getSubAccounts.go create mode 100644 sdk/go/tencentcloud/ccn/getRouteTableInputPolicies.go create mode 100644 sdk/go/tencentcloud/ccn/getRoutes.go create mode 100644 sdk/go/tencentcloud/ccn/routeTable.go create mode 100644 sdk/go/tencentcloud/ccn/routeTableAssociateInstanceConfig.go create mode 100644 sdk/go/tencentcloud/ccn/routeTableBroadcastPolicies.go create mode 100644 sdk/go/tencentcloud/ccn/routeTableInputPolicies.go create mode 100644 sdk/go/tencentcloud/ccn/routeTableSelectionPolicies.go create mode 100644 sdk/go/tencentcloud/cdc/dedicatedCluster.go create mode 100644 sdk/go/tencentcloud/cdc/getDedicatedClusterHosts.go create mode 100644 sdk/go/tencentcloud/cdc/getDedicatedClusterInstanceTypes.go create mode 100644 sdk/go/tencentcloud/cdc/getDedicatedClusterOrders.go create mode 100644 sdk/go/tencentcloud/cdc/init.go create mode 100644 sdk/go/tencentcloud/cdc/pulumiTypes.go create mode 100644 sdk/go/tencentcloud/cdc/site.go create mode 100644 sdk/go/tencentcloud/cdwdoris/getInstances.go create mode 100644 sdk/go/tencentcloud/cdwdoris/init.go create mode 100644 sdk/go/tencentcloud/cdwdoris/instance.go create mode 100644 sdk/go/tencentcloud/cdwdoris/pulumiTypes.go create mode 100644 sdk/go/tencentcloud/cdwdoris/workloadGroup.go create mode 100644 sdk/go/tencentcloud/clb/listenerDefaultDomain.go create mode 100644 sdk/go/tencentcloud/cls/getLogsets.go create mode 100644 sdk/go/tencentcloud/cvm/actionTimer.go create mode 100644 sdk/go/tencentcloud/events/auditTrack.go create mode 100644 sdk/go/tencentcloud/events/init.go create mode 100644 sdk/go/tencentcloud/events/pulumiTypes.go create mode 100644 sdk/go/tencentcloud/identity/centerExternalSamlIdentityProvider.go create mode 100644 sdk/go/tencentcloud/identity/centerGroup.go create mode 100644 sdk/go/tencentcloud/identity/centerRoleAssignment.go create mode 100644 sdk/go/tencentcloud/identity/centerRoleConfiguration.go create mode 100644 sdk/go/tencentcloud/identity/centerRoleConfigurationPermissionCustomPoliciesAttachment.go create mode 100644 sdk/go/tencentcloud/identity/centerRoleConfigurationPermissionCustomPolicyAttachment.go create mode 100644 sdk/go/tencentcloud/identity/centerRoleConfigurationPermissionPolicyAttachment.go create mode 100644 sdk/go/tencentcloud/identity/centerScimCredential.go create mode 100644 sdk/go/tencentcloud/identity/centerScimCredentialStatus.go create mode 100644 sdk/go/tencentcloud/identity/centerScimSynchronizationStatus.go create mode 100644 sdk/go/tencentcloud/identity/centerUser.go create mode 100644 sdk/go/tencentcloud/identity/centerUserGroupAttachment.go create mode 100644 sdk/go/tencentcloud/identity/centerUserSyncProvisioning.go create mode 100644 sdk/go/tencentcloud/identity/getCenterGroups.go create mode 100644 sdk/go/tencentcloud/identity/getCenterRoleConfigurations.go create mode 100644 sdk/go/tencentcloud/identity/getCenterUsers.go create mode 100644 sdk/go/tencentcloud/identity/init.go create mode 100644 sdk/go/tencentcloud/identity/pulumiTypes.go create mode 100644 sdk/go/tencentcloud/image/getFromFamily.go create mode 100644 sdk/go/tencentcloud/invite/init.go create mode 100644 sdk/go/tencentcloud/invite/organizationMemberOperation.go create mode 100644 sdk/go/tencentcloud/invite/pulumiTypes.go create mode 100644 sdk/go/tencentcloud/kubernetes/addonConfig.go create mode 100644 sdk/go/tencentcloud/kubernetes/clusterMasterAttachment.go create mode 100644 sdk/go/tencentcloud/kubernetes/healthCheckPolicy.go create mode 100644 sdk/go/tencentcloud/kubernetes/logConfig.go create mode 100644 sdk/go/tencentcloud/lite/getHbaseInstances.go create mode 100644 sdk/go/tencentcloud/lite/hbaseInstance.go create mode 100644 sdk/go/tencentcloud/lite/init.go create mode 100644 sdk/go/tencentcloud/lite/pulumiTypes.go create mode 100644 sdk/go/tencentcloud/monitor/getTmpInstances.go create mode 100644 sdk/go/tencentcloud/mysql/clsLogAttachment.go create mode 100644 sdk/go/tencentcloud/mysql/ssl.go create mode 100644 sdk/go/tencentcloud/open/identityCenterOperation.go create mode 100644 sdk/go/tencentcloud/open/init.go create mode 100644 sdk/go/tencentcloud/organization/getNodes.go create mode 100644 sdk/go/tencentcloud/organization/getServices.go create mode 100644 sdk/go/tencentcloud/organization/serviceAssign.go create mode 100644 sdk/go/tencentcloud/postgresql/account.go create mode 100644 sdk/go/tencentcloud/postgresql/accountPrivilegesOperation.go create mode 100644 sdk/go/tencentcloud/postgresql/applyParameterTemplateOperation.go create mode 100644 sdk/go/tencentcloud/postgresql/cloneDbInstance.go create mode 100644 sdk/go/tencentcloud/postgresql/getAccountPrivileges.go create mode 100644 sdk/go/tencentcloud/postgresql/getDedicatedClusters.go create mode 100644 sdk/go/tencentcloud/privatedns/endPoint.go create mode 100644 sdk/go/tencentcloud/privatedns/forwardRule.go create mode 100644 sdk/go/tencentcloud/privatedns/getEndPoints.go create mode 100644 sdk/go/tencentcloud/privatedns/getForwardRules.go create mode 100644 sdk/go/tencentcloud/redis/getClusters.go create mode 100644 sdk/go/tencentcloud/redis/logDelivery.go create mode 100644 sdk/go/tencentcloud/reserve/init.go create mode 100644 sdk/go/tencentcloud/reserve/ipAddress.go create mode 100644 sdk/go/tencentcloud/sg/init.go create mode 100644 sdk/go/tencentcloud/sg/pulumiTypes.go create mode 100644 sdk/go/tencentcloud/sg/rule.go create mode 100644 sdk/go/tencentcloud/ssl/checkCertificateDomainVerificationOperation.go create mode 100644 sdk/go/tencentcloud/subscribe/init.go create mode 100644 sdk/go/tencentcloud/subscribe/privateZoneService.go create mode 100644 sdk/go/tencentcloud/tcss/imageRegistry.go create mode 100644 sdk/go/tencentcloud/tcss/init.go create mode 100644 sdk/go/tencentcloud/tcss/pulumiTypes.go create mode 100644 sdk/go/tencentcloud/teo/function.go create mode 100644 sdk/go/tencentcloud/teo/functionRule.go create mode 100644 sdk/go/tencentcloud/teo/functionRulePriority.go create mode 100644 sdk/go/tencentcloud/teo/functionRuntimeEnvironment.go create mode 100644 sdk/go/tencentcloud/teo/securityIpGroup.go create mode 100644 sdk/go/tencentcloud/thpc/init.go create mode 100644 sdk/go/tencentcloud/thpc/pulumiTypes.go create mode 100644 sdk/go/tencentcloud/thpc/workspaces.go create mode 100644 sdk/go/tencentcloud/vpc/privateNatGateway.go delete mode 100644 sdk/go/tencentcloud/waf/getWafInfos.go create mode 100644 sdk/go/tencentcloud/waf/ipAccessControlV2.go delete mode 100644 sdk/go/tencentcloud/waf/modifyAccessPeriod.go create mode 100644 sdk/nodejs/as/startInstanceRefresh.ts create mode 100644 sdk/nodejs/audit/getEvents.ts create mode 100644 sdk/nodejs/batch/applyAccountBaselines.ts create mode 100644 sdk/nodejs/batch/index.ts create mode 100644 sdk/nodejs/cam/getRoleDetail.ts create mode 100644 sdk/nodejs/cam/getSubAccounts.ts create mode 100644 sdk/nodejs/ccn/getRouteTableInputPolicies.ts create mode 100644 sdk/nodejs/ccn/getRoutes.ts create mode 100644 sdk/nodejs/ccn/routeTable.ts create mode 100644 sdk/nodejs/ccn/routeTableAssociateInstanceConfig.ts create mode 100644 sdk/nodejs/ccn/routeTableBroadcastPolicies.ts create mode 100644 sdk/nodejs/ccn/routeTableInputPolicies.ts create mode 100644 sdk/nodejs/ccn/routeTableSelectionPolicies.ts create mode 100644 sdk/nodejs/cdc/dedicatedCluster.ts create mode 100644 sdk/nodejs/cdc/getDedicatedClusterHosts.ts create mode 100644 sdk/nodejs/cdc/getDedicatedClusterInstanceTypes.ts create mode 100644 sdk/nodejs/cdc/getDedicatedClusterOrders.ts create mode 100644 sdk/nodejs/cdc/index.ts create mode 100644 sdk/nodejs/cdc/site.ts create mode 100644 sdk/nodejs/cdwdoris/getInstances.ts create mode 100644 sdk/nodejs/cdwdoris/index.ts create mode 100644 sdk/nodejs/cdwdoris/instance.ts create mode 100644 sdk/nodejs/cdwdoris/workloadGroup.ts create mode 100644 sdk/nodejs/clb/listenerDefaultDomain.ts create mode 100644 sdk/nodejs/cls/getLogsets.ts create mode 100644 sdk/nodejs/cvm/actionTimer.ts create mode 100644 sdk/nodejs/events/auditTrack.ts create mode 100644 sdk/nodejs/events/index.ts create mode 100644 sdk/nodejs/identity/centerExternalSamlIdentityProvider.ts create mode 100644 sdk/nodejs/identity/centerGroup.ts create mode 100644 sdk/nodejs/identity/centerRoleAssignment.ts create mode 100644 sdk/nodejs/identity/centerRoleConfiguration.ts create mode 100644 sdk/nodejs/identity/centerRoleConfigurationPermissionCustomPoliciesAttachment.ts create mode 100644 sdk/nodejs/identity/centerRoleConfigurationPermissionCustomPolicyAttachment.ts create mode 100644 sdk/nodejs/identity/centerRoleConfigurationPermissionPolicyAttachment.ts create mode 100644 sdk/nodejs/identity/centerScimCredential.ts create mode 100644 sdk/nodejs/identity/centerScimCredentialStatus.ts create mode 100644 sdk/nodejs/identity/centerScimSynchronizationStatus.ts create mode 100644 sdk/nodejs/identity/centerUser.ts create mode 100644 sdk/nodejs/identity/centerUserGroupAttachment.ts create mode 100644 sdk/nodejs/identity/centerUserSyncProvisioning.ts create mode 100644 sdk/nodejs/identity/getCenterGroups.ts create mode 100644 sdk/nodejs/identity/getCenterRoleConfigurations.ts create mode 100644 sdk/nodejs/identity/getCenterUsers.ts create mode 100644 sdk/nodejs/identity/index.ts create mode 100644 sdk/nodejs/image/getFromFamily.ts create mode 100644 sdk/nodejs/invite/index.ts create mode 100644 sdk/nodejs/invite/organizationMemberOperation.ts create mode 100644 sdk/nodejs/kubernetes/addonConfig.ts create mode 100644 sdk/nodejs/kubernetes/clusterMasterAttachment.ts create mode 100644 sdk/nodejs/kubernetes/healthCheckPolicy.ts create mode 100644 sdk/nodejs/kubernetes/logConfig.ts create mode 100644 sdk/nodejs/lite/getHbaseInstances.ts create mode 100644 sdk/nodejs/lite/hbaseInstance.ts create mode 100644 sdk/nodejs/lite/index.ts create mode 100644 sdk/nodejs/monitor/getTmpInstances.ts create mode 100644 sdk/nodejs/mysql/clsLogAttachment.ts create mode 100644 sdk/nodejs/mysql/ssl.ts create mode 100644 sdk/nodejs/open/identityCenterOperation.ts create mode 100644 sdk/nodejs/open/index.ts create mode 100644 sdk/nodejs/organization/getNodes.ts create mode 100644 sdk/nodejs/organization/getServices.ts create mode 100644 sdk/nodejs/organization/serviceAssign.ts create mode 100644 sdk/nodejs/postgresql/account.ts create mode 100644 sdk/nodejs/postgresql/accountPrivilegesOperation.ts create mode 100644 sdk/nodejs/postgresql/applyParameterTemplateOperation.ts create mode 100644 sdk/nodejs/postgresql/cloneDbInstance.ts create mode 100644 sdk/nodejs/postgresql/getAccountPrivileges.ts create mode 100644 sdk/nodejs/postgresql/getDedicatedClusters.ts create mode 100644 sdk/nodejs/privatedns/endPoint.ts create mode 100644 sdk/nodejs/privatedns/forwardRule.ts create mode 100644 sdk/nodejs/privatedns/getEndPoints.ts create mode 100644 sdk/nodejs/privatedns/getForwardRules.ts create mode 100644 sdk/nodejs/redis/getClusters.ts create mode 100644 sdk/nodejs/redis/logDelivery.ts create mode 100644 sdk/nodejs/reserve/index.ts create mode 100644 sdk/nodejs/reserve/ipAddress.ts create mode 100644 sdk/nodejs/sg/index.ts create mode 100644 sdk/nodejs/sg/rule.ts create mode 100644 sdk/nodejs/ssl/checkCertificateDomainVerificationOperation.ts create mode 100644 sdk/nodejs/subscribe/index.ts create mode 100644 sdk/nodejs/subscribe/privateZoneService.ts create mode 100644 sdk/nodejs/tcss/imageRegistry.ts create mode 100644 sdk/nodejs/tcss/index.ts create mode 100644 sdk/nodejs/teo/function.ts create mode 100644 sdk/nodejs/teo/functionRule.ts create mode 100644 sdk/nodejs/teo/functionRulePriority.ts create mode 100644 sdk/nodejs/teo/functionRuntimeEnvironment.ts create mode 100644 sdk/nodejs/teo/securityIpGroup.ts create mode 100644 sdk/nodejs/thpc/index.ts create mode 100644 sdk/nodejs/thpc/workspaces.ts create mode 100644 sdk/nodejs/vpc/privateNatGateway.ts delete mode 100644 sdk/nodejs/waf/getWafInfos.ts create mode 100644 sdk/nodejs/waf/ipAccessControlV2.ts delete mode 100644 sdk/nodejs/waf/modifyAccessPeriod.ts create mode 100644 sdk/python/tencentcloud_iac_pulumi/as_/start_instance_refresh.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/audit/get_events.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/batch/__init__.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/batch/_inputs.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/batch/apply_account_baselines.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/batch/outputs.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/cam/get_role_detail.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/cam/get_sub_accounts.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/ccn/get_route_table_input_policies.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/ccn/get_routes.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/ccn/route_table.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/ccn/route_table_associate_instance_config.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/ccn/route_table_broadcast_policies.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/ccn/route_table_input_policies.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/ccn/route_table_selection_policies.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/cdc/__init__.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/cdc/dedicated_cluster.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/cdc/get_dedicated_cluster_hosts.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/cdc/get_dedicated_cluster_instance_types.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/cdc/get_dedicated_cluster_orders.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/cdc/outputs.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/cdc/site.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/cdwdoris/__init__.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/cdwdoris/_inputs.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/cdwdoris/get_instances.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/cdwdoris/instance.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/cdwdoris/outputs.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/cdwdoris/workload_group.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/clb/listener_default_domain.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/cls/get_logsets.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/cvm/action_timer.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/events/__init__.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/events/_inputs.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/events/audit_track.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/events/outputs.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/identity/__init__.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/identity/_inputs.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/identity/center_external_saml_identity_provider.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/identity/center_group.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/identity/center_role_assignment.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/identity/center_role_configuration.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/identity/center_role_configuration_permission_custom_policies_attachment.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/identity/center_role_configuration_permission_custom_policy_attachment.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/identity/center_role_configuration_permission_policy_attachment.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/identity/center_scim_credential.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/identity/center_scim_credential_status.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/identity/center_scim_synchronization_status.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/identity/center_user.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/identity/center_user_group_attachment.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/identity/center_user_sync_provisioning.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/identity/get_center_groups.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/identity/get_center_role_configurations.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/identity/get_center_users.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/identity/outputs.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/image/get_from_family.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/invite/__init__.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/invite/_inputs.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/invite/organization_member_operation.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/invite/outputs.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/kubernetes/addon_config.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/kubernetes/cluster_master_attachment.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/kubernetes/health_check_policy.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/kubernetes/log_config.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/lite/__init__.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/lite/_inputs.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/lite/get_hbase_instances.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/lite/hbase_instance.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/lite/outputs.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/monitor/get_tmp_instances.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/mysql/cls_log_attachment.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/mysql/ssl.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/open/__init__.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/open/identity_center_operation.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/organization/get_nodes.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/organization/get_services.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/organization/service_assign.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/postgresql/account.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/postgresql/account_privileges_operation.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/postgresql/apply_parameter_template_operation.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/postgresql/clone_db_instance.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/postgresql/get_account_privileges.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/postgresql/get_dedicated_clusters.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/privatedns/end_point.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/privatedns/forward_rule.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/privatedns/get_end_points.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/privatedns/get_forward_rules.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/redis/get_clusters.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/redis/log_delivery.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/reserve/__init__.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/reserve/ip_address.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/sg/__init__.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/sg/_inputs.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/sg/outputs.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/sg/rule.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/ssl/check_certificate_domain_verification_operation.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/subscribe/__init__.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/subscribe/private_zone_service.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/tcss/__init__.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/tcss/_inputs.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/tcss/image_registry.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/tcss/outputs.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/teo/function.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/teo/function_rule.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/teo/function_rule_priority.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/teo/function_runtime_environment.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/teo/security_ip_group.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/thpc/__init__.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/thpc/_inputs.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/thpc/outputs.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/thpc/workspaces.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/vpc/private_nat_gateway.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/waf/ip_access_control_v2.py diff --git a/provider/cmd/pulumi-resource-tencentcloud/schema.json b/provider/cmd/pulumi-resource-tencentcloud/schema.json index c7e299dc9..09516ad63 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,42 @@ "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" + }, + "maxSurge": { + "type": "integer", + "description": "Maximum Extra Quantity. After setting this parameter, a batch of pay-as-you-go extra instances will be created according to the launch configuration before the rolling update starts, and the extra instances will be destroyed after the rolling update is completed.\n" + } + }, + "type": "object", + "required": [ + "batchNumber" + ] + }, "tencentcloud:As/getAdvicesAutoScalingAdviceSet:getAdvicesAutoScalingAdviceSet": { "properties": { "advices": { @@ -4639,6 +4709,10 @@ "userData": { "type": "string", "description": "Base64-encoded User Data text.\n" + }, + "versionNumber": { + "type": "integer", + "description": "Version Number.\n" } }, "type": "object", @@ -4662,7 +4736,8 @@ "status", "systemDiskSize", "systemDiskType", - "userData" + "userData", + "versionNumber" ], "language": { "nodejs": { @@ -4966,6 +5041,14 @@ }, "tencentcloud:Audit/TrackStorage:TrackStorage": { "properties": { + "storageAccountId": { + "type": "string", + "description": "Designated to store user ID.\n" + }, + "storageAppId": { + "type": "string", + "description": "Designated to store user appid.\n" + }, "storageName": { "type": "string", "description": "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`.\n" @@ -5013,6 +5096,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 +5316,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": { @@ -5923,6 +6121,98 @@ } } }, + "tencentcloud:Cam/getRoleDetailRoleInfo:getRoleDetailRoleInfo": { + "properties": { + "addTime": { + "type": "string", + "description": "Time role created\n" + }, + "consoleLogin": { + "type": "integer", + "description": "If login is allowed for the role\n" + }, + "deletionTaskId": { + "type": "string", + "description": "Task identifier for deleting a service-linked role \nNote: this field may return null, indicating that no valid values can be obtained.\n" + }, + "description": { + "type": "string", + "description": "Role description\n" + }, + "policyDocument": { + "type": "string", + "description": "Role policy document\n" + }, + "roleId": { + "type": "string", + "description": "Role ID\n" + }, + "roleName": { + "type": "string", + "description": "Role name\n" + }, + "roleType": { + "type": "string", + "description": "User role. Valid values: `user`, `system`, `service_linked`\nNote: this field may return null, indicating that no valid values can be obtained.\n" + }, + "sessionDuration": { + "type": "integer", + "description": "Valid period\nNote: this field may return null, indicating that no valid values can be obtained.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Cam/getRoleDetailRoleInfoTag:getRoleDetailRoleInfoTag" + }, + "description": "Tags.\nNote: This field may return `null`, indicating that no valid values can be obtained.\n" + }, + "updateTime": { + "type": "string", + "description": "Time role last updated\n" + } + }, + "type": "object", + "required": [ + "addTime", + "consoleLogin", + "deletionTaskId", + "description", + "policyDocument", + "roleId", + "roleName", + "roleType", + "sessionDuration", + "tags", + "updateTime" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Cam/getRoleDetailRoleInfoTag:getRoleDetailRoleInfoTag": { + "properties": { + "key": { + "type": "string", + "description": "Tag key.\n" + }, + "value": { + "type": "string", + "description": "Tag value.\n" + } + }, + "type": "object", + "required": [ + "key", + "value" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "tencentcloud:Cam/getRolePolicyAttachmentsRolePolicyAttachmentList:getRolePolicyAttachmentsRolePolicyAttachmentList": { "properties": { "createMode": { @@ -6071,6 +6361,56 @@ } } }, + "tencentcloud:Cam/getSubAccountsSubAccount:getSubAccountsSubAccount": { + "properties": { + "createTime": { + "type": "string", + "description": "Creation time\nNote: this field may return null, indicating that no valid values can be obtained.\n" + }, + "lastLoginIp": { + "type": "string" + }, + "lastLoginTime": { + "type": "string" + }, + "name": { + "type": "string", + "description": "Sub-user name\n" + }, + "remark": { + "type": "string", + "description": "Sub-user remarks\n" + }, + "uid": { + "type": "integer", + "description": "Sub-user UID. UID is the unique identifier of a user who is a message recipient, while UIN is a unique identifier of a user.\n" + }, + "uin": { + "type": "integer", + "description": "Sub-user ID\n" + }, + "userType": { + "type": "integer", + "description": "User type (1: root account; 2: sub-user; 3: WeCom sub-user; 4: collaborator; 5: message recipient)\n" + } + }, + "type": "object", + "required": [ + "createTime", + "lastLoginIp", + "lastLoginTime", + "name", + "remark", + "uid", + "uin", + "userType" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "tencentcloud:Cam/getUserPolicyAttachmentsUserPolicyAttachmentList:getUserPolicyAttachmentsUserPolicyAttachmentList": { "properties": { "createMode": { @@ -6484,106 +6824,15 @@ }, "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" }, - "encrypt": { - "type": "boolean", - "description": "Indicates whether CBS is encrypted.\n" - }, - "instanceId": { - "type": "string", - "description": "ID of the CVM instance that be mounted by this CBS.\n" - }, - "prepaidRenewFlag": { + "dedicatedClusterId": { "type": "string", - "description": "The way that CBS instance will be renew automatically or not when it reach the end of the prepaid tenancy.\n" - }, - "projectId": { - "type": "integer", - "description": "ID of the project with which the CBS is associated.\n" - }, - "status": { - "type": "string", - "description": "Status of CBS.\n" - }, - "storageId": { - "type": "string", - "description": "ID of the CBS to be queried.\n" - }, - "storageName": { - "type": "string", - "description": "Name of the CBS to be queried.\n" - }, - "storageSize": { - "type": "integer", - "description": "Volume of CBS.\n" - }, - "storageType": { - "type": "string", - "description": "Filter by cloud disk media type (`CLOUD_BASIC`: HDD cloud disk | `CLOUD_PREMIUM`: Premium Cloud Storage | `CLOUD_SSD`: SSD cloud disk).\n" - }, - "storageUsage": { - "type": "string", - "description": "Filter by cloud disk type (`SYSTEM_DISK`: system disk | `DATA_DISK`: data disk).\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" - } - }, - "type": "object", - "required": [ - "attached", - "availabilityZone", - "chargeType", - "createTime", - "encrypt", - "instanceId", - "prepaidRenewFlag", - "projectId", - "status", - "storageId", - "storageName", - "storageSize", - "storageType", - "storageUsage", - "tags", - "throughputPerformance" - ], - "language": { - "nodejs": { - "requiredInputs": [] - } - } - }, - "tencentcloud:Cbs/getStoragesStorageList:getStoragesStorageList": { - "properties": { - "attached": { - "type": "boolean", - "description": "Indicates whether the CBS is mounted the CVM.\n" - }, - "availabilityZone": { - "type": "string", - "description": "The available zone that the CBS instance locates at.\n" - }, - "chargeType": { - "type": "string", - "description": "List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID`).\n" - }, - "createTime": { - "type": "string", - "description": "Creation time of CBS.\n" + "description": "Exclusive cluster id.\n" }, "encrypt": { "type": "boolean", @@ -6643,6 +6892,107 @@ "availabilityZone", "chargeType", "createTime", + "dedicatedClusterId", + "encrypt", + "instanceId", + "prepaidRenewFlag", + "projectId", + "status", + "storageId", + "storageName", + "storageSize", + "storageType", + "storageUsage", + "tags", + "throughputPerformance" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Cbs/getStoragesStorageList:getStoragesStorageList": { + "properties": { + "attached": { + "type": "boolean", + "description": "Indicates whether the CBS is mounted the CVM.\n" + }, + "availabilityZone": { + "type": "string", + "description": "The available zone that the CBS instance locates at.\n" + }, + "chargeType": { + "type": "string", + "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" + }, + "instanceId": { + "type": "string", + "description": "ID of the CVM instance that be mounted by this CBS.\n" + }, + "prepaidRenewFlag": { + "type": "string", + "description": "The way that CBS instance will be renew automatically or not when it reach the end of the prepaid tenancy.\n" + }, + "projectId": { + "type": "integer", + "description": "ID of the project with which the CBS is associated.\n" + }, + "status": { + "type": "string", + "description": "Status of CBS.\n" + }, + "storageId": { + "type": "string", + "description": "ID of the CBS to be queried.\n" + }, + "storageName": { + "type": "string", + "description": "Name of the CBS to be queried.\n" + }, + "storageSize": { + "type": "integer", + "description": "Volume of CBS.\n" + }, + "storageType": { + "type": "string", + "description": "Filter by cloud disk media type (`CLOUD_BASIC`: HDD cloud disk | `CLOUD_PREMIUM`: Premium Cloud Storage | `CLOUD_SSD`: SSD cloud disk).\n" + }, + "storageUsage": { + "type": "string", + "description": "Filter by cloud disk type (`SYSTEM_DISK`: system disk | `DATA_DISK`: data disk).\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" + } + }, + "type": "object", + "required": [ + "attached", + "availabilityZone", + "chargeType", + "createTime", + "dedicatedClusterId", "encrypt", "instanceId", "prepaidRenewFlag", @@ -6749,6 +7099,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 +7579,585 @@ } } }, + "tencentcloud:Ccn/getRouteTableInputPoliciesPolicySet:getRouteTableInputPoliciesPolicySet": { + "properties": { + "createTime": { + "type": "string", + "description": "Create time.\n" + }, + "policyVersion": { + "type": "integer", + "description": "Policy version.\n" + }, + "policys": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Ccn/getRouteTableInputPoliciesPolicySetPolicy:getRouteTableInputPoliciesPolicySetPolicy" + }, + "description": "Policys.\n" + } + }, + "type": "object" + }, + "tencentcloud:Ccn/getRouteTableInputPoliciesPolicySetPolicy:getRouteTableInputPoliciesPolicySetPolicy": { + "properties": { + "action": { + "type": "string", + "description": "Routing behavior, `accept` allows, `drop` rejects.\n" + }, + "asPathOperateMode": { + "type": "string", + "description": "as-path operate mode\n" + }, + "description": { + "type": "string", + "description": "Policy description\n" + }, + "operateAsPath": { + "type": "string", + "description": "as-path operate\n" + }, + "routeConditions": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Ccn/getRouteTableInputPoliciesPolicySetPolicyRouteCondition:getRouteTableInputPoliciesPolicySetPolicyRouteCondition" + }, + "description": "Routing conditions.\n" + } + }, + "type": "object", + "required": [ + "action", + "description", + "routeConditions" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Ccn/getRouteTableInputPoliciesPolicySetPolicyRouteCondition:getRouteTableInputPoliciesPolicySetPolicyRouteCondition": { + "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" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "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": { @@ -7934,7 +9045,8 @@ "requiredOutputs": [ "certificateName", "deployTime", - "expireTime" + "expireTime", + "message" ] } } @@ -8107,7 +9219,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", @@ -8117,6 +9229,10 @@ "type": "string", "description": "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`.\n" }, + "originCompany": { + "type": "string", + "description": "Object storage back to the source vendor. Required when the source station type is a third-party storage source station (third_party). Optional values include the following: `aws_s3`: AWS S3; `ali_oss`: Alibaba Cloud OSS; `hw_obs`: Huawei OBS; `qiniu_kodo`: Qiniu Cloud kodo; `others`: other vendors' object storage, only supports object storage compatible with AWS signature algorithm, such as Tencent Cloud Financial Zone COS. Example value: `hw_obs`.\n" + }, "originLists": { "type": "array", "items": { @@ -8130,7 +9246,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 +9331,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 +10081,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 +24650,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 +24743,7 @@ "clbId", "clbName", "clbVips", + "clusterId", "createTime", "internetBandwidthMaxOut", "internetChargeType", @@ -25738,11 +27510,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 +27844,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 +28842,15 @@ "type": "object", "required": [ "filterPrefix" - ] + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "filterPrefix", + "id" + ] + } + } }, "tencentcloud:Cos/BucketLifecycleRuleAbortIncompleteMultipartUpload:BucketLifecycleRuleAbortIncompleteMultipartUpload": { "properties": { @@ -27122,13 +29039,18 @@ "indexDocument": { "type": "string", "description": "COS returns this index document when requests are made to the root domain or any of the subfolders.\n" + }, + "redirectAllRequestsTo": { + "type": "string", + "description": "Redirects all request configurations. Valid values: http, https. Default is `http`.\n" } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ - "endpoint" + "endpoint", + "redirectAllRequestsTo" ] } } @@ -29150,6 +31072,21 @@ } } }, + "tencentcloud:Cvm/ActionTimerActionTimer:ActionTimerActionTimer": { + "properties": { + "actionTime": { + "type": "string", + "description": "Execution time, expressed according to ISO8601 standard and using UTC time. The format is YYYY-MM-DDThh:mm:ssZ. For example, 2018-05-29T11:26:40Z, the execution time must be 5 minutes longer than the current time.\n", + "willReplaceOnChanges": true + }, + "timerAction": { + "type": "string", + "description": "Timer action, currently only supports destroying one value: TerminateInstances.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, "tencentcloud:Cvm/ChcConfigBmcVirtualPrivateCloud:ChcConfigBmcVirtualPrivateCloud": { "properties": { "asVpcGateway": { @@ -29531,7 +31468,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 +32477,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 +48695,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 +48764,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", @@ -48606,6 +50562,54 @@ } } }, + "tencentcloud:Emr/ClusterPreExecutedFileSetting:ClusterPreExecutedFileSetting": { + "properties": { + "args": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Execution script parameters.\n", + "willReplaceOnChanges": true + }, + "cosFileName": { + "type": "string", + "description": "Script file name.\n", + "willReplaceOnChanges": true + }, + "cosFileUri": { + "type": "string", + "description": "The cos address of the script.\n", + "willReplaceOnChanges": true + }, + "cosSecretId": { + "type": "string", + "description": "Cos secretId.\n", + "willReplaceOnChanges": true + }, + "cosSecretKey": { + "type": "string", + "description": "Cos secretKey.\n", + "willReplaceOnChanges": true + }, + "remark": { + "type": "string", + "description": "Remark.\n", + "willReplaceOnChanges": true + }, + "runOrder": { + "type": "integer", + "description": "Run order.\n", + "willReplaceOnChanges": true + }, + "whenRun": { + "type": "string", + "description": "`resourceAfter` or `clusterAfter`.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, "tencentcloud:Emr/ClusterResourceSpec:ClusterResourceSpec": { "properties": { "commonCount": { @@ -48615,6 +50619,7 @@ }, "commonResourceSpec": { "$ref": "#/types/tencentcloud:Emr/ClusterResourceSpecCommonResourceSpec:ClusterResourceSpecCommonResourceSpec", + "description": "Resource details.\n", "willReplaceOnChanges": true }, "coreCount": { @@ -48623,6 +50628,7 @@ }, "coreResourceSpec": { "$ref": "#/types/tencentcloud:Emr/ClusterResourceSpecCoreResourceSpec:ClusterResourceSpecCoreResourceSpec", + "description": "Resource details.\n", "willReplaceOnChanges": true }, "masterCount": { @@ -48631,6 +50637,7 @@ }, "masterResourceSpec": { "$ref": "#/types/tencentcloud:Emr/ClusterResourceSpecMasterResourceSpec:ClusterResourceSpecMasterResourceSpec", + "description": "Resource details.\n", "willReplaceOnChanges": true }, "taskCount": { @@ -48639,6 +50646,7 @@ }, "taskResourceSpec": { "$ref": "#/types/tencentcloud:Emr/ClusterResourceSpecTaskResourceSpec:ClusterResourceSpecTaskResourceSpec", + "description": "Resource details.\n", "willReplaceOnChanges": true } }, @@ -48657,103 +50665,351 @@ "tencentcloud:Emr/ClusterResourceSpecCommonResourceSpec:ClusterResourceSpecCommonResourceSpec": { "properties": { "cpu": { - "type": "integer" + "type": "integer", + "description": "Number of CPU cores.\n", + "willReplaceOnChanges": true }, "diskSize": { - "type": "integer" + "type": "integer", + "description": "Data disk capacity.\n", + "willReplaceOnChanges": true }, "diskType": { - "type": "string" + "type": "string", + "description": "disk types. Value range:\n- CLOUD_SSD: Represents cloud SSD;\n- CLOUD_PREMIUM: Represents efficient cloud disk;\n- CLOUD_BASIC: Represents Cloud Block Storage.\n", + "willReplaceOnChanges": true }, "memSize": { - "type": "integer" + "type": "integer", + "description": "Memory size in M.\n", + "willReplaceOnChanges": true + }, + "multiDisks": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Emr/ClusterResourceSpecCommonResourceSpecMultiDisk:ClusterResourceSpecCommonResourceSpecMultiDisk" + }, + "description": "Cloud disk list. When the data disk is a cloud disk, use disk_type and disk_size parameters directly, and use multi_disks for excess parts.\n", + "willReplaceOnChanges": true }, "rootSize": { - "type": "integer" + "type": "integer", + "description": "Root disk capacity.\n", + "willReplaceOnChanges": true }, "spec": { - "type": "string" + "type": "string", + "description": "Node specification description, such as CVM.SA2.\n", + "willReplaceOnChanges": true }, "storageType": { - "type": "integer" + "type": "integer", + "description": "Storage type. Value range:\n- 4: Represents cloud SSD;\n- 5: Represents efficient cloud disk;\n- 6: Represents enhanced SSD Cloud Block Storage;\n- 11: Represents throughput Cloud Block Storage;\n- 12: Represents extremely fast SSD Cloud Block Storage.\n", + "willReplaceOnChanges": true } }, - "type": "object" + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "multiDisks" + ] + } + } + }, + "tencentcloud:Emr/ClusterResourceSpecCommonResourceSpecMultiDisk:ClusterResourceSpecCommonResourceSpecMultiDisk": { + "properties": { + "count": { + "type": "integer", + "description": "Number of cloud disks of this type.\n", + "willReplaceOnChanges": true + }, + "diskType": { + "type": "string", + "description": "Cloud disk type\n- CLOUD_SSD: Represents cloud SSD;\n- CLOUD_PREMIUM: Represents efficient cloud disk;\n- CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage.\n", + "willReplaceOnChanges": true + }, + "volume": { + "type": "integer", + "description": "Cloud disk size.\n", + "willReplaceOnChanges": true + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "count", + "diskType", + "volume" + ] + } + } }, "tencentcloud:Emr/ClusterResourceSpecCoreResourceSpec:ClusterResourceSpecCoreResourceSpec": { "properties": { "cpu": { - "type": "integer" + "type": "integer", + "description": "Number of CPU cores.\n", + "willReplaceOnChanges": true }, "diskSize": { - "type": "integer" + "type": "integer", + "description": "Data disk capacity.\n", + "willReplaceOnChanges": true }, "diskType": { - "type": "string" + "type": "string", + "description": "disk types. Value range:\n- CLOUD_SSD: Represents cloud SSD;\n- CLOUD_PREMIUM: Represents efficient cloud disk;\n- CLOUD_BASIC: Represents Cloud Block Storage.\n", + "willReplaceOnChanges": true }, "memSize": { - "type": "integer" + "type": "integer", + "description": "Memory size in M.\n", + "willReplaceOnChanges": true + }, + "multiDisks": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Emr/ClusterResourceSpecCoreResourceSpecMultiDisk:ClusterResourceSpecCoreResourceSpecMultiDisk" + }, + "description": "Cloud disk list. When the data disk is a cloud disk, use disk_type and disk_size parameters directly, and use multi_disks for excess parts.\n", + "willReplaceOnChanges": true }, "rootSize": { - "type": "integer" + "type": "integer", + "description": "Root disk capacity.\n", + "willReplaceOnChanges": true }, "spec": { - "type": "string" + "type": "string", + "description": "Node specification description, such as CVM.SA2.\n", + "willReplaceOnChanges": true }, "storageType": { - "type": "integer" + "type": "integer", + "description": "Storage type. Value range:\n- 4: Represents cloud SSD;\n- 5: Represents efficient cloud disk;\n- 6: Represents enhanced SSD Cloud Block Storage;\n- 11: Represents throughput Cloud Block Storage;\n- 12: Represents extremely fast SSD Cloud Block Storage.\n", + "willReplaceOnChanges": true } }, - "type": "object" + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "multiDisks" + ] + } + } + }, + "tencentcloud:Emr/ClusterResourceSpecCoreResourceSpecMultiDisk:ClusterResourceSpecCoreResourceSpecMultiDisk": { + "properties": { + "count": { + "type": "integer", + "description": "Number of cloud disks of this type.\n", + "willReplaceOnChanges": true + }, + "diskType": { + "type": "string", + "description": "Cloud disk type\n- CLOUD_SSD: Represents cloud SSD;\n- CLOUD_PREMIUM: Represents efficient cloud disk;\n- CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage.\n", + "willReplaceOnChanges": true + }, + "volume": { + "type": "integer", + "description": "Cloud disk size.\n", + "willReplaceOnChanges": true + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "count", + "diskType", + "volume" + ] + } + } }, "tencentcloud:Emr/ClusterResourceSpecMasterResourceSpec:ClusterResourceSpecMasterResourceSpec": { "properties": { "cpu": { - "type": "integer" + "type": "integer", + "description": "Number of CPU cores.\n", + "willReplaceOnChanges": true }, "diskSize": { - "type": "integer" + "type": "integer", + "description": "Data disk capacity.\n", + "willReplaceOnChanges": true }, "diskType": { - "type": "string" + "type": "string", + "description": "disk types. Value range:\n- CLOUD_SSD: Represents cloud SSD;\n- CLOUD_PREMIUM: Represents efficient cloud disk;\n- CLOUD_BASIC: Represents Cloud Block Storage.\n", + "willReplaceOnChanges": true }, "memSize": { - "type": "integer" + "type": "integer", + "description": "Memory size in M.\n", + "willReplaceOnChanges": true + }, + "multiDisks": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Emr/ClusterResourceSpecMasterResourceSpecMultiDisk:ClusterResourceSpecMasterResourceSpecMultiDisk" + }, + "description": "Cloud disk list. When the data disk is a cloud disk, use disk_type and disk_size parameters directly, and use multi_disks for excess parts.\n", + "willReplaceOnChanges": true }, "rootSize": { - "type": "integer" + "type": "integer", + "description": "Root disk capacity.\n", + "willReplaceOnChanges": true }, "spec": { - "type": "string" + "type": "string", + "description": "Node specification description, such as CVM.SA2.\n", + "willReplaceOnChanges": true }, "storageType": { - "type": "integer" + "type": "integer", + "description": "Storage type. Value range:\n- 4: Represents cloud SSD;\n- 5: Represents efficient cloud disk;\n- 6: Represents enhanced SSD Cloud Block Storage;\n- 11: Represents throughput Cloud Block Storage;\n- 12: Represents extremely fast SSD Cloud Block Storage.\n", + "willReplaceOnChanges": true } }, - "type": "object" + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "multiDisks" + ] + } + } + }, + "tencentcloud:Emr/ClusterResourceSpecMasterResourceSpecMultiDisk:ClusterResourceSpecMasterResourceSpecMultiDisk": { + "properties": { + "count": { + "type": "integer", + "description": "Number of cloud disks of this type.\n", + "willReplaceOnChanges": true + }, + "diskType": { + "type": "string", + "description": "Cloud disk type\n- CLOUD_SSD: Represents cloud SSD;\n- CLOUD_PREMIUM: Represents efficient cloud disk;\n- CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage.\n", + "willReplaceOnChanges": true + }, + "volume": { + "type": "integer", + "description": "Cloud disk size.\n", + "willReplaceOnChanges": true + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "count", + "diskType", + "volume" + ] + } + } }, "tencentcloud:Emr/ClusterResourceSpecTaskResourceSpec:ClusterResourceSpecTaskResourceSpec": { "properties": { "cpu": { - "type": "integer" + "type": "integer", + "description": "Number of CPU cores.\n", + "willReplaceOnChanges": true }, "diskSize": { - "type": "integer" + "type": "integer", + "description": "Data disk capacity.\n", + "willReplaceOnChanges": true }, "diskType": { - "type": "string" + "type": "string", + "description": "disk types. Value range:\n- CLOUD_SSD: Represents cloud SSD;\n- CLOUD_PREMIUM: Represents efficient cloud disk;\n- CLOUD_BASIC: Represents Cloud Block Storage.\n", + "willReplaceOnChanges": true }, "memSize": { - "type": "integer" + "type": "integer", + "description": "Memory size in M.\n", + "willReplaceOnChanges": true + }, + "multiDisks": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Emr/ClusterResourceSpecTaskResourceSpecMultiDisk:ClusterResourceSpecTaskResourceSpecMultiDisk" + }, + "description": "Cloud disk list. When the data disk is a cloud disk, use disk_type and disk_size parameters directly, and use multi_disks for excess parts.\n", + "willReplaceOnChanges": true }, "rootSize": { - "type": "integer" + "type": "integer", + "description": "Root disk capacity.\n", + "willReplaceOnChanges": true }, "spec": { - "type": "string" + "type": "string", + "description": "Node specification description, such as CVM.SA2.\n", + "willReplaceOnChanges": true }, "storageType": { - "type": "integer" + "type": "integer", + "description": "Storage type. Value range:\n- 4: Represents cloud SSD;\n- 5: Represents efficient cloud disk;\n- 6: Represents enhanced SSD Cloud Block Storage;\n- 11: Represents throughput Cloud Block Storage;\n- 12: Represents extremely fast SSD Cloud Block Storage.\n", + "willReplaceOnChanges": true + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "multiDisks" + ] + } + } + }, + "tencentcloud:Emr/ClusterResourceSpecTaskResourceSpecMultiDisk:ClusterResourceSpecTaskResourceSpecMultiDisk": { + "properties": { + "count": { + "type": "integer", + "description": "Number of cloud disks of this type.\n", + "willReplaceOnChanges": true + }, + "diskType": { + "type": "string", + "description": "Cloud disk type\n- CLOUD_SSD: Represents cloud SSD;\n- CLOUD_PREMIUM: Represents efficient cloud disk;\n- CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage.\n", + "willReplaceOnChanges": true + }, + "volume": { + "type": "integer", + "description": "Cloud disk size.\n", + "willReplaceOnChanges": true + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "count", + "diskType", + "volume" + ] + } + } + }, + "tencentcloud:Emr/ClusterTerminateNodeInfo:ClusterTerminateNodeInfo": { + "properties": { + "cvmInstanceIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Destroy resource list.\n" + }, + "nodeFlag": { + "type": "string", + "description": "Value range of destruction node type: `MASTER`, `TASK`, `CORE`, `ROUTER`.\n" } }, "type": "object" @@ -49527,6 +51783,10 @@ }, "tencentcloud:Enis/getInstanceEni:getInstanceEni": { "properties": { + "cdcId": { + "type": "string", + "description": "CDC instance ID.\n" + }, "createTime": { "type": "string", "description": "Creation time of the ENI.\n" @@ -49550,6 +51810,13 @@ }, "description": "A set of intranet IPv4s.\n" }, + "ipv6s": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Enis/getInstanceEniIpv6:getInstanceEniIpv6" + }, + "description": "A set of intranet IPv6s.\n" + }, "mac": { "type": "string", "description": "MAC address.\n" @@ -49591,11 +51858,13 @@ }, "type": "object", "required": [ + "cdcId", "createTime", "description", "id", "instanceId", "ipv4s", + "ipv6s", "mac", "name", "primary", @@ -49638,6 +51907,115 @@ } } }, + "tencentcloud:Enis/getInstanceEniIpv6:getInstanceEniIpv6": { + "properties": { + "address": { + "type": "string", + "description": "`IPv6` address, such as `3402:4e00:20:100:0:8cd9:2a67:71f3`.\n" + }, + "addressId": { + "type": "string", + "description": "The `ID` of the `EIP` instance, such as `eip-hxlqja90`.\n" + }, + "description": { + "type": "string", + "description": "Description of the ENI. Conflict with `ids`.\n" + }, + "isWanIpBlocked": { + "type": "boolean", + "description": "Whether the public IP is blocked.\n" + }, + "primary": { + "type": "boolean", + "description": "Indicates whether the IP is primary.\n" + } + }, + "type": "object", + "required": [ + "address", + "addressId", + "description", + "isWanIpBlocked", + "primary" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Events/AuditTrackFilters:AuditTrackFilters": { + "properties": { + "resourceFields": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Events/AuditTrackFiltersResourceField:AuditTrackFiltersResourceField" + }, + "description": "Resource filtering conditions.\n" + } + }, + "type": "object" + }, + "tencentcloud:Events/AuditTrackFiltersResourceField:AuditTrackFiltersResourceField": { + "properties": { + "actionType": { + "type": "string", + "description": "Tracking set event type (`Read`: Read; `Write`: Write; `*`: All).\n" + }, + "eventNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of API names of tracking set events. When `ResourceType` is `*`, the value of `EventNames` must be `*`. When `ResourceType` is a specified product, the value of `EventNames` can be `*`. When `ResourceType` is `cos` or `cls`, up to 10 APIs are supported.\n" + }, + "resourceType": { + "type": "string", + "description": "The product to which the tracking set event belongs. The value can be a single product such as `cos`, or `*` that indicates all products.\n" + } + }, + "type": "object", + "required": [ + "actionType", + "eventNames", + "resourceType" + ] + }, + "tencentcloud:Events/AuditTrackStorage:AuditTrackStorage": { + "properties": { + "storageAccountId": { + "type": "string", + "description": "Designated to store user ID.\n" + }, + "storageAppId": { + "type": "string", + "description": "Designated to store user app ID.\n" + }, + "storageName": { + "type": "string", + "description": "Storage name. For COS, the storage name is the custom bucket name, which can contain up to 50 lowercase letters, digits, and hyphens. It cannot contain \"-APPID\" and cannot start or end with a hyphen. For CLS, the storage name is the log topic ID, which can contain 1-50 characters.\n" + }, + "storagePrefix": { + "type": "string", + "description": "Storage directory prefix. The COS log file prefix can only contain 3-40 letters and digits.\n" + }, + "storageRegion": { + "type": "string", + "description": "StorageRegion *string `json:'StorageRegion,omitnil,omitempty' name: 'StorageRegion'`.\n" + }, + "storageType": { + "type": "string", + "description": "Storage type (Valid values: cos, cls).\n" + } + }, + "type": "object", + "required": [ + "storageName", + "storagePrefix", + "storageRegion", + "storageType" + ] + }, "tencentcloud:Gaap/CustomHeaderHeader:CustomHeaderHeader": { "properties": { "headerName": { @@ -50305,6 +52683,10 @@ "type": "string", "description": "ID of the SSL certificate.\n" }, + "isDefaultServer": { + "type": "boolean", + "description": "Whether to use as the default domain name.\n" + }, "realserverAuth": { "type": "boolean", "description": "Indicates whether realserver authentication is enable.\n" @@ -50336,6 +52718,7 @@ "domain", "gaapAuth", "gaapAuthId", + "isDefaultServer", "realserverAuth", "realserverCertificateDomain", "realserverCertificateId", @@ -50612,6 +52995,17 @@ "status": { "type": "integer", "description": "Status of the layer7 listener.\n" + }, + "tlsCiphers": { + "type": "string", + "description": "Password Suite, optional GAAP_TLS_CIPHERS_STRICT, GAAP_TLS_CIPHERS_GENERAL, GAAP_TLS_CIPHERS_WIDE(default).\n" + }, + "tlsSupportVersions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "TLS version, optional TLSv1, TLSv1.1, TLSv1.2, TLSv1.3.\n" } }, "type": "object", @@ -50627,7 +53021,9 @@ "port", "protocol", "proxyId", - "status" + "status", + "tlsCiphers", + "tlsSupportVersions" ], "language": { "nodejs": { @@ -51039,6 +53435,10 @@ }, "description": "IP ListNote: This field may return null, indicating that a valid value cannot be obtained.\n" }, + "isSupportTlsChoice": { + "type": "integer", + "description": "Whether to allow TLS configuration.0-no support, 1-expressed support.\n" + }, "modifyConfigTime": { "type": "integer", "description": "Configuration change timeNote: This field may return null, indicating that a valid value cannot be obtained.\n" @@ -51140,6 +53540,7 @@ "ip", "ipAddressVersion", "ipLists", + "isSupportTlsChoice", "modifyConfigTime", "networkType", "packageType", @@ -52066,6 +54467,332 @@ } } }, + "tencentcloud:Identity/CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicy:CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicy": { + "properties": { + "addTime": { + "type": "string", + "description": "Role policy add time.\n" + }, + "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" + } + }, + "type": "object", + "required": [ + "rolePolicyDocument", + "rolePolicyName" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "addTime", + "rolePolicyDocument", + "rolePolicyName", + "rolePolicyType" + ] + } + } + }, + "tencentcloud:Identity/getCenterGroupsGroup:getCenterGroupsGroup": { + "properties": { + "createTime": { + "type": "string", + "description": "Creation time of the user group.\n" + }, + "description": { + "type": "string", + "description": "User group description.\n" + }, + "groupId": { + "type": "string", + "description": "User group ID.\n" + }, + "groupName": { + "type": "string", + "description": "User group name.\n" + }, + "groupType": { + "type": "string", + "description": "User group type. Manual: manually created; Synchronized: externally imported.\n" + }, + "isSelected": { + "type": "boolean", + "description": "If the input parameter FilterUsers is provided, return true when the user is in the user group; otherwise, return false.\n" + }, + "memberCount": { + "type": "integer", + "description": "Number of group members.\n" + }, + "updateTime": { + "type": "string", + "description": "Modification time of the user group.\n" + } + }, + "type": "object" + }, + "tencentcloud:Identity/getCenterRoleConfigurationsRoleConfiguration:getCenterRoleConfigurationsRoleConfiguration": { + "properties": { + "createTime": { + "type": "string", + "description": "Creation time of the permission configuration.\n" + }, + "description": { + "type": "string", + "description": "Permission configuration description.\n" + }, + "isSelected": { + "type": "boolean", + "description": "If the input parameter FilterTargets is provided, check whether the member account has been configured with permissions. If configured, return true; otherwise, return false.\n" + }, + "relayState": { + "type": "string", + "description": "Initial access page. It indicates the initial access page URL when CIC users use the access configuration to access member accounts.\n" + }, + "roleConfigurationId": { + "type": "string", + "description": "Permission configuration ID.\n" + }, + "roleConfigurationName": { + "type": "string", + "description": "Permission configuration name.\n" + }, + "sessionDuration": { + "type": "integer", + "description": "Session duration. It indicates the maximum session duration when CIC users use the access configuration to access member accounts.\nUnit: seconds.\n" + }, + "updateTime": { + "type": "string", + "description": "Update time of the permission configuration.\n" + } + }, + "type": "object" + }, + "tencentcloud:Identity/getCenterUsersUser:getCenterUsersUser": { + "properties": { + "createTime": { + "type": "string", + "description": "Creation time of the user.\n" + }, + "description": { + "type": "string", + "description": "User description.\n" + }, + "displayName": { + "type": "string", + "description": "Display name of the user.\n" + }, + "email": { + "type": "string", + "description": "Email address of the user, which must be unique within the directory.\n" + }, + "firstName": { + "type": "string", + "description": "First name of the user.\n" + }, + "isSelected": { + "type": "boolean", + "description": "Whether selected.\n" + }, + "lastName": { + "type": "string", + "description": "Last name of the user.\n" + }, + "updateTime": { + "type": "string", + "description": "Modification time of the user.\n" + }, + "userId": { + "type": "string", + "description": "User ID.\n" + }, + "userName": { + "type": "string", + "description": "Queried username.\n" + }, + "userStatus": { + "type": "string", + "description": "User status: Enabled, Disabled.\n" + }, + "userType": { + "type": "string", + "description": "User type. Manual: manually created; Synchronized: externally imported.\n" + } + }, + "type": "object" + }, + "tencentcloud:Image/getFromFamilyImage:getFromFamilyImage": { + "properties": { + "architecture": { + "type": "string", + "description": "Image architecture.\n" + }, + "createdTime": { + "type": "string", + "description": "Creation time of the image.\n" + }, + "imageCreator": { + "type": "string", + "description": "Image creator.\n" + }, + "imageDeprecated": { + "type": "boolean", + "description": "If Image Deprecated.\n" + }, + "imageDescription": { + "type": "string", + "description": "Image description.\n" + }, + "imageFamily": { + "type": "string", + "description": "Image family name.\n" + }, + "imageId": { + "type": "string", + "description": "Image ID.\n" + }, + "imageName": { + "type": "string", + "description": "Image name.\n" + }, + "imageSize": { + "type": "integer", + "description": "Image size.\n" + }, + "imageSource": { + "type": "string", + "description": "Image source.\n" + }, + "imageState": { + "type": "string", + "description": "Image state.\n" + }, + "imageType": { + "type": "string", + "description": "Image type.\n" + }, + "isSupportCloudinit": { + "type": "boolean", + "description": "Whether the image supports cloud-init.\n" + }, + "licenseType": { + "type": "string", + "description": "Image license type.\n" + }, + "osName": { + "type": "string", + "description": "Operating system of the image.\n" + }, + "platform": { + "type": "string", + "description": "Source platform of the image.\n" + }, + "snapshotSets": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Image/getFromFamilyImageSnapshotSet:getFromFamilyImageSnapshotSet" + }, + "description": "Information on the snapshots associated with the image.\n" + }, + "syncPercent": { + "type": "integer", + "description": "Synchronization percentage.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Image/getFromFamilyImageTag:getFromFamilyImageTag" + }, + "description": "The list of tags bound to the image.\n" + } + }, + "type": "object", + "required": [ + "architecture", + "createdTime", + "imageCreator", + "imageDeprecated", + "imageDescription", + "imageFamily", + "imageId", + "imageName", + "imageSize", + "imageSource", + "imageState", + "imageType", + "isSupportCloudinit", + "licenseType", + "osName", + "platform", + "snapshotSets", + "syncPercent", + "tags" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Image/getFromFamilyImageSnapshotSet:getFromFamilyImageSnapshotSet": { + "properties": { + "diskSize": { + "type": "integer", + "description": "Size of the cloud disk used to create the snapshot, unit(GB).\n" + }, + "diskUsage": { + "type": "string", + "description": "Type of the cloud disk used to create the snapshot. Valid values: YSTEM_DISK: system disk, DATA_DISK: data disk.\n" + }, + "snapshotId": { + "type": "string", + "description": "Snapshot ID.\n" + } + }, + "type": "object", + "required": [ + "diskSize", + "diskUsage", + "snapshotId" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Image/getFromFamilyImageTag:getFromFamilyImageTag": { + "properties": { + "key": { + "type": "string", + "description": "Key.\n" + }, + "value": { + "type": "string", + "description": "Vaule.\n" + } + }, + "type": "object", + "required": [ + "key", + "value" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "tencentcloud:Image/getInstanceFilter:getInstanceFilter": { "properties": { "name": { @@ -52233,6 +54960,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 +55092,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,6 +55186,10 @@ }, "description": "Tags of the instance.\n" }, + "uuid": { + "type": "string", + "description": "Globally unique ID of the instance.\n" + }, "vpcId": { "type": "string", "description": "ID of the vpc to be queried.\n" @@ -52463,6 +55203,7 @@ "cpu", "createTime", "dataDisks", + "dedicatedClusterId", "expiredTime", "imageId", "instanceChargeType", @@ -52484,6 +55225,7 @@ "systemDiskSize", "systemDiskType", "tags", + "uuid", "vpcId" ], "language": { @@ -52712,6 +55454,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 +55907,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": { @@ -53144,6 +55921,14 @@ "description": "Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes.\n", "willReplaceOnChanges": true }, + "taints": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/ClusterAttachmentWorkerConfigTaint:ClusterAttachmentWorkerConfigTaint" + }, + "description": "Node taint.\n", + "willReplaceOnChanges": true + }, "userData": { "type": "string", "description": "Base64-encoded User Data text, the length limit is 16KB.\n", @@ -53241,7 +56026,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 +56035,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 +56046,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 } }, @@ -53352,6 +56143,26 @@ }, "type": "object" }, + "tencentcloud:Kubernetes/ClusterAttachmentWorkerConfigTaint:ClusterAttachmentWorkerConfigTaint": { + "properties": { + "effect": { + "type": "string", + "description": "Effect of the taint.\n", + "willReplaceOnChanges": true + }, + "key": { + "type": "string", + "description": "Key of the taint.\n", + "willReplaceOnChanges": true + }, + "value": { + "type": "string", + "description": "Value of the taint.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, "tencentcloud:Kubernetes/ClusterAuthOptions:ClusterAuthOptions": { "properties": { "autoCreateDiscoveryAnonymousAuth": { @@ -53475,6 +56286,16 @@ }, "tencentcloud:Kubernetes/ClusterExistInstanceInstancesPara:ClusterExistInstanceInstancesPara": { "properties": { + "enhancedMonitorService": { + "type": "boolean", + "description": "To specify whether to enable cloud monitor service. Default is TRUE.\n", + "willReplaceOnChanges": true + }, + "enhancedSecurityService": { + "type": "boolean", + "description": "To specify whether to enable cloud security service. Default is TRUE.\n", + "willReplaceOnChanges": true + }, "instanceIds": { "type": "array", "items": { @@ -53482,6 +56303,33 @@ }, "description": "Cluster IDs.\n", "willReplaceOnChanges": true + }, + "keyIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "ID list of keys, should be set if `password` not set.\n", + "willReplaceOnChanges": true + }, + "masterConfig": { + "$ref": "#/types/tencentcloud:Kubernetes/ClusterExistInstanceInstancesParaMasterConfig:ClusterExistInstanceInstancesParaMasterConfig", + "description": "Advanced Node Settings. commonly used to attach existing instances.\n", + "willReplaceOnChanges": true + }, + "password": { + "type": "string", + "description": "Password to access, should be set if `key_ids` not set.\n", + "secret": true, + "willReplaceOnChanges": true + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Security groups to which a CVM instance belongs.\n", + "willReplaceOnChanges": true } }, "type": "object", @@ -53489,6 +56337,196 @@ "instanceIds" ] }, + "tencentcloud:Kubernetes/ClusterExistInstanceInstancesParaMasterConfig:ClusterExistInstanceInstancesParaMasterConfig": { + "properties": { + "dataDisk": { + "$ref": "#/types/tencentcloud:Kubernetes/ClusterExistInstanceInstancesParaMasterConfigDataDisk:ClusterExistInstanceInstancesParaMasterConfigDataDisk", + "description": "Configurations of data disk.\n", + "willReplaceOnChanges": true + }, + "desiredPodNumber": { + "type": "integer", + "description": "Indicate to set desired pod number in node. valid when the cluster is podCIDR.\n", + "willReplaceOnChanges": true + }, + "dockerGraphPath": { + "type": "string", + "description": "Docker graph path. Default is `/var/lib/docker`.\n", + "willReplaceOnChanges": true + }, + "extraArgs": { + "$ref": "#/types/tencentcloud:Kubernetes/ClusterExistInstanceInstancesParaMasterConfigExtraArgs:ClusterExistInstanceInstancesParaMasterConfigExtraArgs", + "description": "Custom parameter information related to the node. This is a white-list parameter.\n", + "willReplaceOnChanges": true + }, + "gpuArgs": { + "$ref": "#/types/tencentcloud:Kubernetes/ClusterExistInstanceInstancesParaMasterConfigGpuArgs:ClusterExistInstanceInstancesParaMasterConfigGpuArgs", + "description": "GPU driver parameters.\n", + "willReplaceOnChanges": true + }, + "labels": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/ClusterExistInstanceInstancesParaMasterConfigLabel:ClusterExistInstanceInstancesParaMasterConfigLabel" + }, + "description": "Node label list.\n", + "willReplaceOnChanges": true + }, + "mountTarget": { + "type": "string", + "description": "Mount target. Default is not mounting.\n", + "willReplaceOnChanges": true + }, + "taints": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/ClusterExistInstanceInstancesParaMasterConfigTaint:ClusterExistInstanceInstancesParaMasterConfigTaint" + }, + "description": "Node taint.\n", + "willReplaceOnChanges": true + }, + "unschedulable": { + "type": "integer", + "description": "Set whether the joined nodes participate in scheduling, with a default value of 0, indicating participation in scheduling; Non 0 means not participating in scheduling.\n", + "willReplaceOnChanges": true + }, + "userScript": { + "type": "string", + "description": "User script encoded in base64, which will be executed after the k8s component runs. The user needs to ensure the script's reentrant and retry logic. The script and its generated log files can be viewed in the node path /data/ccs_userscript/. If the node needs to be initialized before joining the schedule, it can be used in conjunction with the `unschedulable` parameter. After the final initialization of the userScript is completed, add the command \"kubectl uncordon nodename --kubeconfig=/root/.kube/config\" to add the node to the schedule.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "tencentcloud:Kubernetes/ClusterExistInstanceInstancesParaMasterConfigDataDisk:ClusterExistInstanceInstancesParaMasterConfigDataDisk": { + "properties": { + "autoFormatAndMount": { + "type": "boolean", + "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", + "willReplaceOnChanges": true + }, + "diskType": { + "type": "string", + "description": "Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD` and `CLOUD_HSSD` and `CLOUD_TSSD`.\n", + "willReplaceOnChanges": true + }, + "fileSystem": { + "type": "string", + "description": "File system, e.g. `ext3/ext4/xfs`.\n", + "willReplaceOnChanges": true + }, + "mountTarget": { + "type": "string", + "description": "Mount target.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "tencentcloud:Kubernetes/ClusterExistInstanceInstancesParaMasterConfigExtraArgs:ClusterExistInstanceInstancesParaMasterConfigExtraArgs": { + "properties": { + "kubelets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Kubelet custom parameter. The parameter format is [\"k1=v1\", \"k1=v2\"].\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "tencentcloud:Kubernetes/ClusterExistInstanceInstancesParaMasterConfigGpuArgs:ClusterExistInstanceInstancesParaMasterConfigGpuArgs": { + "properties": { + "cuda": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "description": "CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA.\n", + "willReplaceOnChanges": true + }, + "cudnn": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "description": "cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `doc_name`: Doc name of cuDNN; `dev_name`: Dev name of cuDNN.\n", + "willReplaceOnChanges": true + }, + "customDriver": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "description": "Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address.\n", + "willReplaceOnChanges": true + }, + "driver": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "description": "GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA.\n", + "willReplaceOnChanges": true + }, + "migEnable": { + "type": "boolean", + "description": "Whether to enable MIG.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "tencentcloud:Kubernetes/ClusterExistInstanceInstancesParaMasterConfigLabel:ClusterExistInstanceInstancesParaMasterConfigLabel": { + "properties": { + "name": { + "type": "string", + "description": "Name of map.\n", + "willReplaceOnChanges": true + }, + "value": { + "type": "string", + "description": "Value of map.\n", + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "name", + "value" + ] + }, + "tencentcloud:Kubernetes/ClusterExistInstanceInstancesParaMasterConfigTaint:ClusterExistInstanceInstancesParaMasterConfigTaint": { + "properties": { + "effect": { + "type": "string", + "description": "Effect of the taint.\n", + "willReplaceOnChanges": true + }, + "key": { + "type": "string", + "description": "Key of the taint.\n", + "willReplaceOnChanges": true + }, + "value": { + "type": "string", + "description": "Value of the taint.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, "tencentcloud:Kubernetes/ClusterExtensionAddon:ClusterExtensionAddon": { "properties": { "name": { @@ -53522,6 +56560,233 @@ "enabled" ] }, + "tencentcloud:Kubernetes/ClusterMasterAttachmentExtraArgs:ClusterMasterAttachmentExtraArgs": { + "properties": { + "etcds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "etcd custom parameters. Only supports independent clusters.\n", + "willReplaceOnChanges": true + }, + "kubeApiServers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Kube apiserver custom parameters. The parameter format is [\"k1=v1\", \"k1=v2\"].\n", + "willReplaceOnChanges": true + }, + "kubeControllerManagers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Kube controller manager custom parameters.\n", + "willReplaceOnChanges": true + }, + "kubeSchedulers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "kube scheduler custom parameters.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "tencentcloud:Kubernetes/ClusterMasterAttachmentMasterConfig:ClusterMasterAttachmentMasterConfig": { + "properties": { + "dataDisk": { + "$ref": "#/types/tencentcloud:Kubernetes/ClusterMasterAttachmentMasterConfigDataDisk:ClusterMasterAttachmentMasterConfigDataDisk", + "description": "Configurations of data disk.\n", + "willReplaceOnChanges": true + }, + "desiredPodNumber": { + "type": "integer", + "description": "Indicate to set desired pod number in node. valid when the cluster is podCIDR.\n", + "willReplaceOnChanges": true + }, + "dockerGraphPath": { + "type": "string", + "description": "Docker graph path. Default is `/var/lib/docker`.\n", + "willReplaceOnChanges": true + }, + "extraArgs": { + "$ref": "#/types/tencentcloud:Kubernetes/ClusterMasterAttachmentMasterConfigExtraArgs:ClusterMasterAttachmentMasterConfigExtraArgs", + "description": "Custom parameter information related to the node. This is a white-list parameter.\n", + "willReplaceOnChanges": true + }, + "gpuArgs": { + "$ref": "#/types/tencentcloud:Kubernetes/ClusterMasterAttachmentMasterConfigGpuArgs:ClusterMasterAttachmentMasterConfigGpuArgs", + "description": "GPU driver parameters.\n", + "willReplaceOnChanges": true + }, + "labels": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/ClusterMasterAttachmentMasterConfigLabel:ClusterMasterAttachmentMasterConfigLabel" + }, + "description": "Node label list.\n", + "willReplaceOnChanges": true + }, + "mountTarget": { + "type": "string", + "description": "Mount target. Default is not mounting.\n", + "willReplaceOnChanges": true + }, + "taints": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/ClusterMasterAttachmentMasterConfigTaint:ClusterMasterAttachmentMasterConfigTaint" + }, + "description": "Node taint.\n", + "willReplaceOnChanges": true + }, + "unschedulable": { + "type": "integer", + "description": "Set whether the joined nodes participate in scheduling, with a default value of 0, indicating participation in scheduling; Non 0 means not participating in scheduling.\n", + "willReplaceOnChanges": true + }, + "userScript": { + "type": "string", + "description": "User script encoded in base64, which will be executed after the k8s component runs. The user needs to ensure the script's reentrant and retry logic. The script and its generated log files can be viewed in the node path /data/ccs_userscript/. If the node needs to be initialized before joining the schedule, it can be used in conjunction with the `unschedulable` parameter. After the final initialization of the userScript is completed, add the command \"kubectl uncordon nodename --kubeconfig=/root/.kube/config\" to add the node to the schedule.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "tencentcloud:Kubernetes/ClusterMasterAttachmentMasterConfigDataDisk:ClusterMasterAttachmentMasterConfigDataDisk": { + "properties": { + "autoFormatAndMount": { + "type": "boolean", + "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. NOTE: this argument doesn't support setting in node pool, or will leads to mount error.\n", + "willReplaceOnChanges": true + }, + "diskSize": { + "type": "integer", + "description": "Volume of disk in GB. Default is `0`.\n", + "willReplaceOnChanges": true + }, + "diskType": { + "type": "string", + "description": "Types of disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`.\n", + "willReplaceOnChanges": true + }, + "fileSystem": { + "type": "string", + "description": "File system, e.g. `ext3/ext4/xfs`.\n", + "willReplaceOnChanges": true + }, + "mountTarget": { + "type": "string", + "description": "Mount target.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "tencentcloud:Kubernetes/ClusterMasterAttachmentMasterConfigExtraArgs:ClusterMasterAttachmentMasterConfigExtraArgs": { + "properties": { + "kubelets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Kubelet custom parameter. The parameter format is [\"k1=v1\", \"k1=v2\"].\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "tencentcloud:Kubernetes/ClusterMasterAttachmentMasterConfigGpuArgs:ClusterMasterAttachmentMasterConfigGpuArgs": { + "properties": { + "cuda": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "description": "CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA.\n", + "willReplaceOnChanges": true + }, + "cudnn": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "description": "cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `doc_name`: Doc name of cuDNN; `dev_name`: Dev name of cuDNN.\n", + "willReplaceOnChanges": true + }, + "customDriver": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "description": "Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address.\n", + "willReplaceOnChanges": true + }, + "driver": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "description": "GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA.\n", + "willReplaceOnChanges": true + }, + "migEnable": { + "type": "boolean", + "description": "Whether to enable MIG.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "tencentcloud:Kubernetes/ClusterMasterAttachmentMasterConfigLabel:ClusterMasterAttachmentMasterConfigLabel": { + "properties": { + "name": { + "type": "string", + "description": "Name of map.\n", + "willReplaceOnChanges": true + }, + "value": { + "type": "string", + "description": "Value of map.\n", + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "name", + "value" + ] + }, + "tencentcloud:Kubernetes/ClusterMasterAttachmentMasterConfigTaint:ClusterMasterAttachmentMasterConfigTaint": { + "properties": { + "effect": { + "type": "string", + "description": "Effect of the taint.\n", + "willReplaceOnChanges": true + }, + "key": { + "type": "string", + "description": "Key of the taint.\n", + "willReplaceOnChanges": true + }, + "value": { + "type": "string", + "description": "Value of the taint.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, "tencentcloud:Kubernetes/ClusterMasterConfig:ClusterMasterConfig": { "properties": { "availabilityZone": { @@ -53782,6 +57047,27 @@ } } }, + "tencentcloud:Kubernetes/ClusterResourceDeleteOption:ClusterResourceDeleteOption": { + "properties": { + "deleteMode": { + "type": "string", + "description": "The deletion mode of CBS resources when the cluster is deleted, `terminate` (destroy), `retain` (retain). Other resources are deleted by default.\n" + }, + "resourceType": { + "type": "string", + "description": "Resource type, valid values are `CBS`, `CLB`, and `CVM`.\n" + }, + "skipDeletionProtection": { + "type": "boolean", + "description": "Whether to skip resources with deletion protection enabled, the default is false.\n" + } + }, + "type": "object", + "required": [ + "deleteMode", + "resourceType" + ] + }, "tencentcloud:Kubernetes/ClusterWorkerConfig:ClusterWorkerConfig": { "properties": { "availabilityZone": { @@ -54035,6 +57321,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": { @@ -54134,6 +57442,11 @@ "$ref": "#/types/tencentcloud:Kubernetes/NativeNodePoolNativeLifecycle:NativeNodePoolNativeLifecycle", "description": "Predefined scripts.\n" }, + "machineType": { + "type": "string", + "description": "Node pool type. Example value: `NativeCVM` or `Native`. Default is `Native`.\n", + "willReplaceOnChanges": true + }, "management": { "$ref": "#/types/tencentcloud:Kubernetes/NativeNodePoolNativeManagement:NativeNodePoolNativeManagement", "description": "Node pool management parameter settings.\n" @@ -54187,6 +57500,7 @@ "instanceTypes", "internetAccessible", "lifecycle", + "machineType", "management", "replicas", "runtimeRootDir", @@ -54427,6 +57741,23 @@ }, "type": "object" }, + "tencentcloud:Kubernetes/NodePoolAnnotation:NodePoolAnnotation": { + "properties": { + "name": { + "type": "string", + "description": "Name in the map table.\n" + }, + "value": { + "type": "string", + "description": "Value in the map table.\n" + } + }, + "type": "object", + "required": [ + "name", + "value" + ] + }, "tencentcloud:Kubernetes/NodePoolAutoScalingConfig:NodePoolAutoScalingConfig": { "properties": { "backupInstanceTypes": { @@ -54485,6 +57816,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 +57895,7 @@ "instanceChargeType", "instanceChargeTypePrepaidRenewFlag", "instanceName", + "instanceNameStyle", "instanceType", "orderlySecurityGroupIds", "securityGroupIds" @@ -54754,6 +58090,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", @@ -54814,6 +58155,26 @@ }, "type": "object" }, + "tencentcloud:Kubernetes/ScaleWorkerTaint:ScaleWorkerTaint": { + "properties": { + "effect": { + "type": "string", + "description": "Effect of the taint.\n", + "willReplaceOnChanges": true + }, + "key": { + "type": "string", + "description": "Key of the taint.\n", + "willReplaceOnChanges": true + }, + "value": { + "type": "string", + "description": "Value of the taint.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, "tencentcloud:Kubernetes/ScaleWorkerWorkerConfig:ScaleWorkerWorkerConfig": { "properties": { "availabilityZone": { @@ -54840,7 +58201,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 +58336,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 +58362,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 +58372,7 @@ "mountTarget": { "type": "string", "description": "Mount target.\n", + "deprecationMessage": "This argument was deprecated, use `data_disk` instead.", "willReplaceOnChanges": true }, "snapshotId": { @@ -55211,10 +58576,15 @@ }, "tencentcloud:Kubernetes/getClusterCommonNamesList:getClusterCommonNamesList": { "properties": { - "commonNames": { + "commonName": { "type": "string", "description": "The CommonName in the certificate of the client corresponding to the sub-account.\n" }, + "commonNames": { + "type": "string", + "description": "(**Deprecated**) It has been deprecated from version 1.81.140. Please use `common_name`. The CommonName in the certificate of the client corresponding to the sub-account.\n", + "deprecationMessage": "It has been deprecated from version 1.81.140. Please use `common_name`." + }, "subaccountUin": { "type": "string", "description": "User UIN.\n" @@ -55222,6 +58592,7 @@ }, "type": "object", "required": [ + "commonName", "commonNames", "subaccountUin" ], @@ -56846,6 +60217,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 +60388,7 @@ }, "type": "object", "required": [ + "cdcId", "certificationAuthority", "claimExpiredSeconds", "clusterAsEnabled", @@ -58638,6 +62014,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 +69541,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": { @@ -82719,6 +86574,95 @@ } } }, + "tencentcloud:Organization/getNodesItem:getNodesItem": { + "properties": { + "createTime": { + "type": "string", + "description": "Creation time.\n" + }, + "name": { + "type": "string", + "description": "Name.\n" + }, + "nodeId": { + "type": "integer", + "description": "Organization node ID.\n" + }, + "parentNodeId": { + "type": "integer", + "description": "Parent node ID.\n" + }, + "remark": { + "type": "string", + "description": "Remarks.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Organization/getNodesItemTag:getNodesItemTag" + }, + "description": "Department tag search list, with a maximum of 10.\n" + }, + "updateTime": { + "type": "string", + "description": "Update time.\n" + } + }, + "type": "object", + "required": [ + "createTime", + "name", + "nodeId", + "parentNodeId", + "remark", + "tags", + "updateTime" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Organization/getNodesItemTag:getNodesItemTag": { + "properties": { + "tagKey": { + "type": "string", + "description": "Tag key.\n" + }, + "tagValue": { + "type": "string", + "description": "Tag value.\n" + } + }, + "type": "object", + "required": [ + "tagKey", + "tagValue" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Organization/getNodesTag:getNodesTag": { + "properties": { + "tagKey": { + "type": "string", + "description": "Tag key.\n" + }, + "tagValue": { + "type": "string", + "description": "Tag value.\n" + } + }, + "type": "object", + "required": [ + "tagKey", + "tagValue" + ] + }, "tencentcloud:Organization/getOrgAuthNodeItem:getOrgAuthNodeItem": { "properties": { "authName": { @@ -82894,6 +86838,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 +86965,106 @@ } } }, + "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/CloneDbInstanceDbNodeSet:CloneDbInstanceDbNodeSet": { + "properties": { + "dedicatedClusterId": { + "type": "string", + "description": "Dedicated cluster ID.\n" + }, + "role": { + "type": "string", + "description": "Node type. Valid values:\n`Primary`;\n`Standby`.\n" + }, + "zone": { + "type": "string", + "description": "AZ where the node resides, such as ap-guangzhou-1.\n" + } + }, + "type": "object", + "required": [ + "role", + "zone" + ] + }, + "tencentcloud:Postgresql/CloneDbInstanceTagList:CloneDbInstanceTagList": { + "properties": { + "tagKey": { + "type": "string", + "description": "Tag key.\n" + }, + "tagValue": { + "type": "string", + "description": "Tag value.\n" + } + }, + "type": "object", + "required": [ + "tagKey", + "tagValue" + ] + }, "tencentcloud:Postgresql/InstanceBackupPlan:InstanceBackupPlan": { "properties": { "backupPeriods": { @@ -82966,10 +87087,24 @@ "description": "Specify earliest backup start time, format `hh:mm:ss`.\n" } }, - "type": "object" + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "backupPeriods", + "baseBackupRetentionPeriod", + "maxBackupStartTime", + "minBackupStartTime" + ] + } + } }, "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 +87157,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 +87455,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": { @@ -84572,6 +88869,241 @@ "uniqVpcId" ] }, + "tencentcloud:PrivateDns/getEndPointsEndPointSet:getEndPointsEndPointSet": { + "properties": { + "endPointId": { + "type": "string", + "description": "Endpoint ID.\n" + }, + "endPointName": { + "type": "string", + "description": "Endpoint name.\n" + }, + "endPointServiceId": { + "type": "string", + "description": "Endpoint service ID.\n" + }, + "endPointVipSets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "VIP list of the endpoint.\n" + }, + "regionCode": { + "type": "string", + "description": "ap-guangzhou\nNote: This field may return null, indicating that no valid values can be obtained.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:PrivateDns/getEndPointsEndPointSetTag:getEndPointsEndPointSetTag" + }, + "description": "Tag key-value pair collection.\nNote: This field may return null, indicating that no valid values can be obtained.\n" + } + }, + "type": "object", + "required": [ + "endPointId", + "endPointName", + "endPointServiceId", + "endPointVipSets", + "regionCode", + "tags" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:PrivateDns/getEndPointsEndPointSetTag:getEndPointsEndPointSetTag": { + "properties": { + "tagKey": { + "type": "string", + "description": "Tag key.\n" + }, + "tagValue": { + "type": "string", + "description": "Tag value.\n" + } + }, + "type": "object", + "required": [ + "tagKey", + "tagValue" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:PrivateDns/getEndPointsFilter:getEndPointsFilter": { + "properties": { + "name": { + "type": "string", + "description": "Parameter name.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Array of parameter values.\n" + } + }, + "type": "object", + "required": [ + "name", + "values" + ] + }, + "tencentcloud:PrivateDns/getForwardRulesFilter:getForwardRulesFilter": { + "properties": { + "name": { + "type": "string", + "description": "Parameter name.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Array of parameter values.\n" + } + }, + "type": "object", + "required": [ + "name", + "values" + ] + }, + "tencentcloud:PrivateDns/getForwardRulesForwardRuleSet:getForwardRulesForwardRuleSet": { + "properties": { + "createdAt": { + "type": "string", + "description": "Creation time.\n" + }, + "domain": { + "type": "string", + "description": "Private domain name.\n" + }, + "endPointId": { + "type": "string", + "description": "Endpoint ID.\n" + }, + "endPointName": { + "type": "string", + "description": "Endpoint name.\n" + }, + "forwardAddresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Forwarding address.\n" + }, + "ruleId": { + "type": "string", + "description": "Rule ID.\n" + }, + "ruleName": { + "type": "string", + "description": "Forwarding rule name.\n" + }, + "ruleType": { + "type": "string", + "description": "Forwarding rule type. DOWN: From cloud to off-cloud; UP: From off-cloud to cloud.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:PrivateDns/getForwardRulesForwardRuleSetTag:getForwardRulesForwardRuleSetTag" + }, + "description": "Tag.\nNote: This field may return null, indicating that no valid values can be obtained.\n" + }, + "updatedAt": { + "type": "string", + "description": "Update time.\n" + }, + "vpcSets": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:PrivateDns/getForwardRulesForwardRuleSetVpcSet:getForwardRulesForwardRuleSetVpcSet" + }, + "description": "List of VPCs bound to the private domain.\nNote: This field may return null, indicating that no valid values can be obtained.\n" + }, + "zoneId": { + "type": "string", + "description": "ID of the bound private domain.\n" + } + }, + "type": "object", + "required": [ + "createdAt", + "domain", + "endPointId", + "endPointName", + "forwardAddresses", + "ruleId", + "ruleName", + "ruleType", + "tags", + "updatedAt", + "vpcSets", + "zoneId" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:PrivateDns/getForwardRulesForwardRuleSetTag:getForwardRulesForwardRuleSetTag": { + "properties": { + "tagKey": { + "type": "string", + "description": "Tag key.\n" + }, + "tagValue": { + "type": "string", + "description": "Tag value.\n" + } + }, + "type": "object", + "required": [ + "tagKey", + "tagValue" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:PrivateDns/getForwardRulesForwardRuleSetVpcSet:getForwardRulesForwardRuleSetVpcSet": { + "properties": { + "region": { + "type": "string", + "description": "VPC region: ap-guangzhou, ap-shanghai.\n" + }, + "uniqVpcId": { + "type": "string", + "description": "VpcId: vpc-xadsafsdasd.\n" + } + }, + "type": "object", + "required": [ + "region", + "uniqVpcId" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "tencentcloud:PrivateDns/getPrivateZoneListFilter:getPrivateZoneListFilter": { "properties": { "name": { @@ -88039,6 +92571,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": { @@ -89252,7 +93926,7 @@ }, "type": { "type": "string", - "description": "Type of the SCF function trigger, support `cos`, `cmq`, `timer`, `ckafka`, `apigw`.\n" + "description": "Type of the SCF function trigger, support `cos`, `cls`, `timer`, `ckafka`, `http`, `apigw`, `cmq`.\n" } }, "type": "object", @@ -89290,7 +93964,7 @@ }, "type": { "type": "string", - "description": "Type of the SCF function trigger, support `cos`, `cmq`, `timer`, `ckafka`, `apigw`.\n" + "description": "Type of the SCF function trigger, support `cos`, `cls`, `timer`, `ckafka`, `http`, `apigw`, `cmq`.\n" } }, "type": "object", @@ -90535,15 +95209,15 @@ }, "addressTemplateGroup": { "type": "string", - "description": "Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`.\n" + "description": "Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set.\n" }, "addressTemplateId": { "type": "string", - "description": "Specify Address template ID like `ipm-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`.\n" + "description": "Specify Address template ID like `ipm-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set.\n" }, "cidrBlock": { "type": "string", - "description": "An IP address network or CIDR segment. NOTE: `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` are exclusive and cannot be set in the same time.\n" + "description": "An IP address network or CIDR segment. NOTE: `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` are exclusive and cannot be set in the same time; One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set.\n" }, "description": { "type": "string", @@ -90551,7 +95225,7 @@ }, "ipv6CidrBlock": { "type": "string", - "description": "An IPV6 address network or CIDR segment, and conflict with `source_security_id` and `address_template_*`.\n" + "description": "An IPV6 address network or CIDR segment, and conflict with `source_security_id` and `address_template_*`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set.\n" }, "policyIndex": { "type": "integer", @@ -90563,7 +95237,7 @@ }, "protocol": { "type": "string", - "description": "Type of IP protocol. Valid values: `TCP`, `UDP` and `ICMP`. Default to all types protocol, and conflicts with `service_template_*`.\n" + "description": "Type of IP protocol. Valid values: `TCP`, `UDP`, `ICMP`, `ICMPv6` and `ALL`. Default to all types protocol, and conflicts with `service_template_*`.\n" }, "serviceTemplateGroup": { "type": "string", @@ -90575,7 +95249,7 @@ }, "sourceSecurityId": { "type": "string", - "description": "ID of the nested security group, and conflicts with `cidr_block` and `address_template_*`.\n" + "description": "ID of the nested security group, and conflicts with `cidr_block` and `address_template_*`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set.\n" } }, "type": "object", @@ -90601,15 +95275,15 @@ }, "addressTemplateGroup": { "type": "string", - "description": "Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`.\n" + "description": "Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set.\n" }, "addressTemplateId": { "type": "string", - "description": "Specify Address template ID like `ipm-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`.\n" + "description": "Specify Address template ID like `ipm-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set.\n" }, "cidrBlock": { "type": "string", - "description": "An IP address network or CIDR segment. NOTE: `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` are exclusive and cannot be set in the same time.\n" + "description": "An IP address network or CIDR segment. NOTE: `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` are exclusive and cannot be set in the same time; One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set.\n" }, "description": { "type": "string", @@ -90617,7 +95291,7 @@ }, "ipv6CidrBlock": { "type": "string", - "description": "An IPV6 address network or CIDR segment, and conflict with `source_security_id` and `address_template_*`.\n" + "description": "An IPV6 address network or CIDR segment, and conflict with `source_security_id` and `address_template_*`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set.\n" }, "policyIndex": { "type": "integer", @@ -90629,7 +95303,7 @@ }, "protocol": { "type": "string", - "description": "Type of IP protocol. Valid values: `TCP`, `UDP` and `ICMP`. Default to all types protocol, and conflicts with `service_template_*`.\n" + "description": "Type of IP protocol. Valid values: `TCP`, `UDP`, `ICMP`, `ICMPv6` and `ALL`. Default to all types protocol, and conflicts with `service_template_*`.\n" }, "serviceTemplateGroup": { "type": "string", @@ -90641,7 +95315,7 @@ }, "sourceSecurityId": { "type": "string", - "description": "ID of the nested security group, and conflicts with `cidr_block` and `address_template_*`.\n" + "description": "ID of the nested security group, and conflicts with `cidr_block` and `address_template_*`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set.\n" } }, "type": "object", @@ -91327,6 +96001,72 @@ } } }, + "tencentcloud:Sg/RuleData:RuleData": { + "properties": { + "description": { + "type": "string", + "description": "Description.\n" + }, + "destContent": { + "type": "string", + "description": "Destination example: `net`: IP/CIDR (192.168.0.2); `template`: parameter template (ipm-dyodhpby); `instance`: asset instance (ins-123456); `resourcegroup`: asset group (/all groups/group 1/subgroup 1); `tag`: resource tag ({\"Key\":\"tag key\",\"Value\":\"tag value\"}); `region`: region (ap-gaungzhou).\n" + }, + "destType": { + "type": "string", + "description": "Access destination type. Valid values: net|template|instance|resourcegroup|tag|region.\n" + }, + "orderIndex": { + "type": "string", + "description": "Rule priority.\n" + }, + "port": { + "type": "string", + "description": "The port to apply access control rules. Valid values: `-1/-1`: all ports, `80`: port 80.\n" + }, + "protocol": { + "type": "string", + "description": "Protocol. TCP/UDP/ICMP/ANY.\n" + }, + "ruleAction": { + "type": "string", + "description": "The action that Cloud Firewall performs on the traffic. Valid values: `accept`: allow, `drop`: deny.\n" + }, + "serviceTemplateId": { + "type": "string", + "description": "Parameter template ID of port and protocol type; mutually exclusive with Protocol and Port.\n" + }, + "sourceContent": { + "type": "string", + "description": "Source example: `net`: IP/CIDR (192.168.0.2); `template`: parameter template (ipm-dyodhpby); `instance`: asset instance (ins-123456); `resourcegroup`: asset group (/all groups/group 1/subgroup 1); `tag`: resource tag ({\"Key\":\"tag key\",\"Value\":\"tag value\"}); `region`: region (ap-gaungzhou).\n" + }, + "sourceType": { + "type": "string", + "description": "Access source type. Valid values: net|template|instance|resourcegroup|tag|region.\n" + } + }, + "type": "object", + "required": [ + "description", + "destContent", + "destType", + "ruleAction", + "sourceContent", + "sourceType" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "description", + "destContent", + "destType", + "orderIndex", + "ruleAction", + "sourceContent", + "sourceType" + ] + } + } + }, "tencentcloud:Sqlserver/BusinessIntelligenceInstanceResourceTag:BusinessIntelligenceInstanceResourceTag": { "properties": { "tagKey": { @@ -92704,6 +97444,60 @@ } } }, + "tencentcloud:Ssl/CheckCertificateDomainVerificationOperationVerificationResult:CheckCertificateDomainVerificationOperationVerificationResult": { + "properties": { + "caCheck": { + "type": "integer", + "description": "CA inspection results.\n" + }, + "checkValues": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Detected values.\n" + }, + "domain": { + "type": "string", + "description": "Domain name.\n" + }, + "frequently": { + "type": "boolean", + "description": "Whether frequent requests.\n" + }, + "issued": { + "type": "boolean", + "description": "Whether issued.\n" + }, + "localCheck": { + "type": "integer", + "description": "Local inspection results.\n" + }, + "localCheckFailReason": { + "type": "string", + "description": "Check the reason for the failure.\n" + }, + "verifyType": { + "type": "string", + "description": "Domain Verify Type.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "caCheck", + "checkValues", + "domain", + "frequently", + "issued", + "localCheck", + "localCheckFailReason", + "verifyType" + ] + } + } + }, "tencentcloud:Ssl/FreeCertificateDvAuth:FreeCertificateDvAuth": { "properties": { "dvAuthKey": { @@ -92948,6 +97742,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 +97768,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 +97786,13 @@ "key", "name", "orderId", + "ownerUin", "productZhName", "projectId", "status", "subjectNames", - "type" + "type", + "validityPeriod" ], "language": { "nodejs": { @@ -97958,6 +102762,19 @@ } } }, + "tencentcloud:Tcss/ImageRegistryConnDetectConfig:ImageRegistryConnDetectConfig": { + "properties": { + "quuid": { + "type": "string", + "description": "Host Quuid.\n" + }, + "uuid": { + "type": "string", + "description": "Host uuid.\n" + } + }, + "type": "object" + }, "tencentcloud:Tdcpg/getClustersList:getClustersList": { "properties": { "autoRenewFlag": { @@ -100250,6 +105067,75 @@ } } }, + "tencentcloud:Teo/FunctionRuleFunctionRuleCondition:FunctionRuleFunctionRuleCondition": { + "properties": { + "ruleConditions": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Teo/FunctionRuleFunctionRuleConditionRuleCondition:FunctionRuleFunctionRuleConditionRuleCondition" + }, + "description": "For edge function trigger rule conditions, if all items in the list are satisfied, then the condition is considered fulfilled.\n" + } + }, + "type": "object", + "required": [ + "ruleConditions" + ] + }, + "tencentcloud:Teo/FunctionRuleFunctionRuleConditionRuleCondition:FunctionRuleFunctionRuleConditionRuleCondition": { + "properties": { + "ignoreCase": { + "type": "boolean", + "description": "Whether the parameter value is case insensitive. Default value: false.\n" + }, + "name": { + "type": "string", + "description": "The parameter name of the match type. This field is required only when `Target=query_string/request_header`.\n" + }, + "operator": { + "type": "string", + "description": "Operator. Valid values:\n" + }, + "target": { + "type": "string", + "description": "The match type. Values:\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The parameter value of the match type. It can be an empty string only when `Target=query string/request header` and `Operator=exist/notexist`.\n- When `Target=extension`, enter the file extension, such as \"jpg\" and \"txt\".\n- When `Target=filename`, enter the file name, such as \"foo\" in \"foo.jpg\".\n- When `Target=all`, it indicates any site request.\n- When `Target=host`, enter the host under the current site, such as \"www.maxx55.com\".\n- When `Target=url`, enter the partial URL path under the current site, such as \"/example\".\n- When `Target=full_url`, enter the complete URL under the current site. It must contain the HTTP protocol, host, and path, such as \"https://www.maxx55.cn/example\".\n- When `Target=client_country`, enter the ISO-3166 country/region code.\n- When `Target=query_string`, enter the value of the query string, such as \"cn\" and \"1\" in \"lang=cn\u0026version=1\".\n- When `Target=request_header`, enter the HTTP request header value, such as \"zh-CN,zh;q=0.9\" in the \"Accept-Language:zh-CN,zh;q=0.9\" header.\n" + } + }, + "type": "object", + "required": [ + "operator", + "target" + ] + }, + "tencentcloud:Teo/FunctionRuntimeEnvironmentEnvironmentVariable:FunctionRuntimeEnvironmentEnvironmentVariable": { + "properties": { + "key": { + "type": "string", + "description": "The name of the variable, which is limited to alphanumeric characters and the special characters `@`, `.`, `-`, and `_`. It can have a maximum of 64 bytes and should not be duplicated.\n" + }, + "type": { + "type": "string", + "description": "The type of the variable can have the following values: - `string`: Represents a string type. - `json`: Represents a JSON object type.\n" + }, + "value": { + "type": "string", + "description": "The value of the variable, which is limited to a maximum of 5000 bytes. The default value is empty.\n" + } + }, + "type": "object", + "required": [ + "key", + "type", + "value" + ] + }, "tencentcloud:Teo/L4ProxyDdosProtectionConfig:L4ProxyDdosProtectionConfig": { "properties": { "levelMainland": { @@ -101019,6 +105905,39 @@ "target" ] }, + "tencentcloud:Teo/SecurityIpGroupIpGroup:SecurityIpGroupIpGroup": { + "properties": { + "contents": { + "type": "array", + "items": { + "type": "string" + }, + "description": "IP group content. Only supports IP and IP mask.\n" + }, + "groupId": { + "type": "integer", + "description": "Group ID.\n" + }, + "name": { + "type": "string", + "description": "Group name.\n" + } + }, + "type": "object", + "required": [ + "contents", + "name" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "contents", + "groupId", + "name" + ] + } + } + }, "tencentcloud:Teo/ZoneOwnershipVerification:ZoneOwnershipVerification": { "properties": { "dnsVerifications": { @@ -101704,6 +106623,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 +117649,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 +117697,7 @@ "required": [ "availabilityZone", "availableIpCount", + "cdcId", "cidrBlock", "createTime", "isDefault", @@ -113241,6 +118430,69 @@ } } }, + "tencentcloud:Waf/IpAccessControlV2JobDateTime:IpAccessControlV2JobDateTime": { + "properties": { + "crons": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Waf/IpAccessControlV2JobDateTimeCron:IpAccessControlV2JobDateTimeCron" + }, + "description": "Time parameters for periodic execution\nNote: This field may return null, indicating that no valid values can be obtained.\n" + }, + "timeTZone": { + "type": "string", + "description": "Time zone\nNote: This field may return null, indicating that no valid values can be obtained.\n" + }, + "timeds": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Waf/IpAccessControlV2JobDateTimeTimed:IpAccessControlV2JobDateTimeTimed" + }, + "description": "Time parameters for scheduled execution\nNote: This field may return null, indicating that no valid values can be obtained.\n" + } + }, + "type": "object" + }, + "tencentcloud:Waf/IpAccessControlV2JobDateTimeCron:IpAccessControlV2JobDateTimeCron": { + "properties": { + "days": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "Days in each month for execution\nNote: This field may return null, indicating that no valid values can be obtained.\n" + }, + "endTime": { + "type": "string", + "description": "End time\n\nNote: This field may return null, indicating that no valid values can be obtained.\n" + }, + "startTime": { + "type": "string", + "description": "Start time\n\nNote: This field may return null, indicating that no valid values can be obtained.\n" + }, + "wDays": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "Days of each week for execution\nNote: This field may return null, indicating that no valid values can be obtained.\n" + } + }, + "type": "object" + }, + "tencentcloud:Waf/IpAccessControlV2JobDateTimeTimed:IpAccessControlV2JobDateTimeTimed": { + "properties": { + "endDateTime": { + "type": "integer", + "description": "End timestamp, in seconds\nNote: This field may return null, indicating that no valid values can be obtained.\n" + }, + "startDateTime": { + "type": "integer", + "description": "Start timestamp, in seconds\nNote: This field may return null, indicating that no valid values can be obtained.\n" + } + }, + "type": "object" + }, "tencentcloud:Waf/SaasDomainPort:SaasDomainPort": { "properties": { "nginxServerId": { @@ -113922,133 +119174,6 @@ } } }, - "tencentcloud:Waf/getWafInfosHostList:getWafInfosHostList": { - "properties": { - "domain": { - "type": "string", - "description": "Domain name.\n" - }, - "domainId": { - "type": "string", - "description": "Domain unique ID.\n" - }, - "flowMode": { - "type": "integer", - "description": "WAF traffic mode, 1 cleaning mode, 0 mirroring mode.\n" - }, - "loadBalancers": { - "type": "array", - "items": { - "$ref": "#/types/tencentcloud:Waf/getWafInfosHostListLoadBalancer:getWafInfosHostListLoadBalancer" - }, - "description": "LoadBalancer info bound by waf.\n" - }, - "status": { - "type": "integer", - "description": "Waf switch,0 off 1 on.\n" - } - }, - "type": "object", - "required": [ - "domain", - "domainId", - "flowMode", - "loadBalancers", - "status" - ], - "language": { - "nodejs": { - "requiredInputs": [] - } - } - }, - "tencentcloud:Waf/getWafInfosHostListLoadBalancer:getWafInfosHostListLoadBalancer": { - "properties": { - "listenerId": { - "type": "string", - "description": "Unique ID of listener in LB.\n" - }, - "listenerName": { - "type": "string", - "description": "Listener name.\n" - }, - "loadBalancerId": { - "type": "string", - "description": "LoadBalancer ID.\n" - }, - "loadBalancerName": { - "type": "string", - "description": "LoadBalancer name.\n" - }, - "loadBalancerType": { - "type": "string", - "description": "Network type for load balancerNote: This field may return null, indicating that a valid value cannot be obtained.\n" - }, - "numericalVpcId": { - "type": "integer", - "description": "VPCID for load balancer, public network is -1, and internal network is filled in according to actual conditionsNote: This field may return null, indicating that a valid value cannot be obtained.\n" - }, - "protocol": { - "type": "string", - "description": "Protocol of listener,http or https.\n" - }, - "region": { - "type": "string", - "description": "LoadBalancer region.\n" - }, - "vip": { - "type": "string", - "description": "LoadBalancer IP.\n" - }, - "vport": { - "type": "integer", - "description": "LoadBalancer port.\n" - }, - "zone": { - "type": "string", - "description": "LoadBalancer zone.\n" - } - }, - "type": "object", - "required": [ - "listenerId", - "listenerName", - "loadBalancerId", - "loadBalancerName", - "loadBalancerType", - "numericalVpcId", - "protocol", - "region", - "vip", - "vport", - "zone" - ], - "language": { - "nodejs": { - "requiredInputs": [] - } - } - }, - "tencentcloud:Waf/getWafInfosParam:getWafInfosParam": { - "properties": { - "domainId": { - "type": "string", - "description": "Domain unique ID.\n" - }, - "listenerId": { - "type": "string", - "description": "Listener ID of LoadBalancer.\n" - }, - "loadBalancerId": { - "type": "string", - "description": "Loadbalancer unique ID.If this parameter is not passed, it will operate all listeners of this appid. If this parameter is not empty, it will operate listeners of the LoadBalancer only.\n" - } - }, - "type": "object", - "required": [ - "loadBalancerId" - ] - }, "tencentcloud:Wedata/BaselineAlarmRuleDto:BaselineAlarmRuleDto": { "properties": { "alarmLevelType": { @@ -116174,6 +121299,10 @@ }, "tencentcloud:config/assumeRole:assumeRole": { "properties": { + "externalId": { + "type": "string", + "description": "External role ID, which can be obtained by clicking the role name in the CAM console. It can contain 2-128 letters, digits, and symbols (=,.@:/-). Regex: [\\w+=,.@:/-]*. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_EXTERNAL_ID`.\n" + }, "policy": { "type": "string", "description": "A more restrictive policy when making the AssumeRole call. Its content must not contains `principal` elements. Notice: more syntax references, please refer to: [policies syntax logic](https://intl.cloud.tencent.com/document/product/598/10603).\n" @@ -116203,8 +121332,81 @@ } } }, + "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": { + "externalId": { + "type": "string", + "description": "External role ID, which can be obtained by clicking the role name in the CAM console. It can contain 2-128 letters, digits, and symbols (=,.@:/-). Regex: [\\w+=,.@:/-]*. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_EXTERNAL_ID`.\n" + }, "policy": { "type": "string", "description": "A more restrictive policy when making the AssumeRole call. Its content must not contains `principal` elements. Notice: more syntax references, please refer to: [policies syntax logic](https://intl.cloud.tencent.com/document/product/598/10603).\n" @@ -116233,6 +121435,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 +121513,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 +121547,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 +121573,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 +121607,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 +121616,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 +121625,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 +125817,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 +126108,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 lifecycleTransitionType: \"NORMAL\",\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 lifecycle_transition_type=\"NORMAL\",\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 LifecycleTransitionType = \"NORMAL\",\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\tLifecycleTransitionType: pulumi.String(\"NORMAL\"),\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 .lifecycleTransitionType(\"NORMAL\")\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 lifecycleTransitionType: NORMAL\n # lifecycle_transition_type = \"EXTENSION\"\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 +126118,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" @@ -120815,6 +126130,10 @@ "type": "string", "description": "The instance state to which you want to attach the lifecycle hook. Valid values: `INSTANCE_LAUNCHING` and `INSTANCE_TERMINATING`.\n" }, + "lifecycleTransitionType": { + "type": "string", + "description": "The scenario where the lifecycle hook is applied. `EXTENSION`: the lifecycle hook will be triggered when AttachInstances, DetachInstances or RemoveInstaces is called. `NORMAL`: the lifecycle hook is not triggered by the above APIs.\n" + }, "notificationMetadata": { "type": "string", "description": "Contains additional information that you want to include any time AS sends a message to the notification target.\n" @@ -120825,7 +126144,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,8 +126156,10 @@ } }, "required": [ + "lifecycleCommand", "lifecycleHookName", "lifecycleTransition", + "lifecycleTransitionType", "scalingGroupId" ], "inputProperties": { @@ -120850,6 +126171,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" @@ -120858,6 +126183,10 @@ "type": "string", "description": "The instance state to which you want to attach the lifecycle hook. Valid values: `INSTANCE_LAUNCHING` and `INSTANCE_TERMINATING`.\n" }, + "lifecycleTransitionType": { + "type": "string", + "description": "The scenario where the lifecycle hook is applied. `EXTENSION`: the lifecycle hook will be triggered when AttachInstances, DetachInstances or RemoveInstaces is called. `NORMAL`: the lifecycle hook is not triggered by the above APIs.\n" + }, "notificationMetadata": { "type": "string", "description": "Contains additional information that you want to include any time AS sends a message to the notification target.\n" @@ -120868,7 +126197,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 +126225,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" @@ -120904,6 +126237,10 @@ "type": "string", "description": "The instance state to which you want to attach the lifecycle hook. Valid values: `INSTANCE_LAUNCHING` and `INSTANCE_TERMINATING`.\n" }, + "lifecycleTransitionType": { + "type": "string", + "description": "The scenario where the lifecycle hook is applied. `EXTENSION`: the lifecycle hook will be triggered when AttachInstances, DetachInstances or RemoveInstaces is called. `NORMAL`: the lifecycle hook is not triggered by the above APIs.\n" + }, "notificationMetadata": { "type": "string", "description": "Contains additional information that you want to include any time AS sends a message to the notification target.\n" @@ -120914,7 +126251,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", @@ -121311,7 +126648,7 @@ } }, "tencentcloud:As/scalingConfig:ScalingConfig": { - "description": "Provides a resource to create a configuration for an AS (Auto scaling) instance.\n\n\u003e **NOTE:** In order to ensure the integrity of customer data, if the cvm instance was destroyed due to shrinking, it will keep the cbs associate with cvm by default. If you want to destroy together, please set `delete_with_instance` to `true`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst exampleInstance = tencentcloud.Images.getInstance({\n imageTypes: [\"PUBLIC_IMAGE\"],\n osName: \"TencentOS Server 3.2 (Final)\",\n});\nconst exampleScalingConfig = new tencentcloud.as.ScalingConfig(\"exampleScalingConfig\", {\n configurationName: \"example-launch-configuration\",\n imageId: exampleInstance.then(exampleInstance =\u003e exampleInstance.images?.[0]?.imageId),\n instanceTypes: [\"SA1.SMALL1\"],\n projectId: 0,\n systemDiskType: \"CLOUD_PREMIUM\",\n systemDiskSize: 50,\n dataDisks: [{\n diskType: \"CLOUD_PREMIUM\",\n diskSize: 50,\n }],\n internetChargeType: \"TRAFFIC_POSTPAID_BY_HOUR\",\n internetMaxBandwidthOut: 10,\n publicIpAssigned: true,\n password: \"Test@123#\",\n enhancedSecurityService: false,\n enhancedMonitorService: false,\n userData: \"dGVzdA==\",\n hostNameSettings: {\n hostName: \"host-name-test\",\n hostNameStyle: \"UNIQUE\",\n },\n instanceTags: {\n tag: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample_instance = tencentcloud.Images.get_instance(image_types=[\"PUBLIC_IMAGE\"],\n os_name=\"TencentOS Server 3.2 (Final)\")\nexample_scaling_config = tencentcloud.as_.ScalingConfig(\"exampleScalingConfig\",\n configuration_name=\"example-launch-configuration\",\n image_id=example_instance.images[0].image_id,\n instance_types=[\"SA1.SMALL1\"],\n project_id=0,\n system_disk_type=\"CLOUD_PREMIUM\",\n system_disk_size=50,\n data_disks=[tencentcloud.as_.ScalingConfigDataDiskArgs(\n disk_type=\"CLOUD_PREMIUM\",\n disk_size=50,\n )],\n internet_charge_type=\"TRAFFIC_POSTPAID_BY_HOUR\",\n internet_max_bandwidth_out=10,\n public_ip_assigned=True,\n password=\"Test@123#\",\n enhanced_security_service=False,\n enhanced_monitor_service=False,\n user_data=\"dGVzdA==\",\n host_name_settings=tencentcloud.as_.ScalingConfigHostNameSettingsArgs(\n host_name=\"host-name-test\",\n host_name_style=\"UNIQUE\",\n ),\n instance_tags={\n \"tag\": \"example\",\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 exampleInstance = 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 exampleScalingConfig = new Tencentcloud.As.ScalingConfig(\"exampleScalingConfig\", new()\n {\n ConfigurationName = \"example-launch-configuration\",\n ImageId = exampleInstance.Apply(getInstanceResult =\u003e getInstanceResult.Images[0]?.ImageId),\n InstanceTypes = new[]\n {\n \"SA1.SMALL1\",\n },\n ProjectId = 0,\n SystemDiskType = \"CLOUD_PREMIUM\",\n SystemDiskSize = 50,\n DataDisks = new[]\n {\n new Tencentcloud.As.Inputs.ScalingConfigDataDiskArgs\n {\n DiskType = \"CLOUD_PREMIUM\",\n DiskSize = 50,\n },\n },\n InternetChargeType = \"TRAFFIC_POSTPAID_BY_HOUR\",\n InternetMaxBandwidthOut = 10,\n PublicIpAssigned = true,\n Password = \"Test@123#\",\n EnhancedSecurityService = false,\n EnhancedMonitorService = false,\n UserData = \"dGVzdA==\",\n HostNameSettings = new Tencentcloud.As.Inputs.ScalingConfigHostNameSettingsArgs\n {\n HostName = \"host-name-test\",\n HostNameStyle = \"UNIQUE\",\n },\n InstanceTags = \n {\n { \"tag\", \"example\" },\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/Images\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleInstance, 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\t_, err = As.NewScalingConfig(ctx, \"exampleScalingConfig\", \u0026As.ScalingConfigArgs{\n\t\t\tConfigurationName: pulumi.String(\"example-launch-configuration\"),\n\t\t\tImageId: pulumi.String(exampleInstance.Images[0].ImageId),\n\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SA1.SMALL1\"),\n\t\t\t},\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tSystemDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\tSystemDiskSize: pulumi.Int(50),\n\t\t\tDataDisks: as.ScalingConfigDataDiskArray{\n\t\t\t\t\u0026as.ScalingConfigDataDiskArgs{\n\t\t\t\t\tDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\t\t\tDiskSize: pulumi.Int(50),\n\t\t\t\t},\n\t\t\t},\n\t\t\tInternetChargeType: pulumi.String(\"TRAFFIC_POSTPAID_BY_HOUR\"),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(10),\n\t\t\tPublicIpAssigned: pulumi.Bool(true),\n\t\t\tPassword: pulumi.String(\"Test@123#\"),\n\t\t\tEnhancedSecurityService: pulumi.Bool(false),\n\t\t\tEnhancedMonitorService: pulumi.Bool(false),\n\t\t\tUserData: pulumi.String(\"dGVzdA==\"),\n\t\t\tHostNameSettings: \u0026as.ScalingConfigHostNameSettingsArgs{\n\t\t\t\tHostName: pulumi.String(\"host-name-test\"),\n\t\t\t\tHostNameStyle: pulumi.String(\"UNIQUE\"),\n\t\t\t},\n\t\t\tInstanceTags: pulumi.Map{\n\t\t\t\t\"tag\": pulumi.Any(\"example\"),\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.As.ScalingConfig;\nimport com.pulumi.tencentcloud.As.ScalingConfigArgs;\nimport com.pulumi.tencentcloud.As.inputs.ScalingConfigDataDiskArgs;\nimport com.pulumi.tencentcloud.As.inputs.ScalingConfigHostNameSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleInstance = ImagesFunctions.getInstance(GetInstanceArgs.builder()\n .imageTypes(\"PUBLIC_IMAGE\")\n .osName(\"TencentOS Server 3.2 (Final)\")\n .build());\n\n var exampleScalingConfig = new ScalingConfig(\"exampleScalingConfig\", ScalingConfigArgs.builder() \n .configurationName(\"example-launch-configuration\")\n .imageId(exampleInstance.applyValue(getInstanceResult -\u003e getInstanceResult.images()[0].imageId()))\n .instanceTypes(\"SA1.SMALL1\")\n .projectId(0)\n .systemDiskType(\"CLOUD_PREMIUM\")\n .systemDiskSize(\"50\")\n .dataDisks(ScalingConfigDataDiskArgs.builder()\n .diskType(\"CLOUD_PREMIUM\")\n .diskSize(50)\n .build())\n .internetChargeType(\"TRAFFIC_POSTPAID_BY_HOUR\")\n .internetMaxBandwidthOut(10)\n .publicIpAssigned(true)\n .password(\"Test@123#\")\n .enhancedSecurityService(false)\n .enhancedMonitorService(false)\n .userData(\"dGVzdA==\")\n .hostNameSettings(ScalingConfigHostNameSettingsArgs.builder()\n .hostName(\"host-name-test\")\n .hostNameStyle(\"UNIQUE\")\n .build())\n .instanceTags(Map.of(\"tag\", \"example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleScalingConfig:\n type: tencentcloud:As:ScalingConfig\n properties:\n configurationName: example-launch-configuration\n imageId: ${exampleInstance.images[0].imageId}\n instanceTypes:\n - SA1.SMALL1\n projectId: 0\n systemDiskType: CLOUD_PREMIUM\n systemDiskSize: '50'\n dataDisks:\n - diskType: CLOUD_PREMIUM\n diskSize: 50\n internetChargeType: TRAFFIC_POSTPAID_BY_HOUR\n internetMaxBandwidthOut: 10\n publicIpAssigned: true\n password: Test@123#\n enhancedSecurityService: false\n enhancedMonitorService: false\n userData: dGVzdA==\n hostNameSettings:\n hostName: host-name-test\n hostNameStyle: UNIQUE\n instanceTags:\n tag: example\nvariables:\n exampleInstance:\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### charge type\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 exampleInstance = tencentcloud.Images.getInstance({\n imageTypes: [\"PUBLIC_IMAGE\"],\n osName: \"TencentOS Server 3.2 (Final)\",\n});\nconst exampleScalingConfig = new tencentcloud.as.ScalingConfig(\"exampleScalingConfig\", {\n configurationName: \"launch-configuration\",\n imageId: exampleInstance.then(exampleInstance =\u003e exampleInstance.images?.[0]?.imageId),\n instanceTypes: [\"SA1.SMALL1\"],\n instanceChargeType: \"SPOTPAID\",\n spotInstanceType: \"one-time\",\n spotMaxPrice: \"1000\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample_instance = tencentcloud.Images.get_instance(image_types=[\"PUBLIC_IMAGE\"],\n os_name=\"TencentOS Server 3.2 (Final)\")\nexample_scaling_config = tencentcloud.as_.ScalingConfig(\"exampleScalingConfig\",\n configuration_name=\"launch-configuration\",\n image_id=example_instance.images[0].image_id,\n instance_types=[\"SA1.SMALL1\"],\n instance_charge_type=\"SPOTPAID\",\n spot_instance_type=\"one-time\",\n spot_max_price=\"1000\")\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 exampleInstance = 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 exampleScalingConfig = new Tencentcloud.As.ScalingConfig(\"exampleScalingConfig\", new()\n {\n ConfigurationName = \"launch-configuration\",\n ImageId = exampleInstance.Apply(getInstanceResult =\u003e getInstanceResult.Images[0]?.ImageId),\n InstanceTypes = new[]\n {\n \"SA1.SMALL1\",\n },\n InstanceChargeType = \"SPOTPAID\",\n SpotInstanceType = \"one-time\",\n SpotMaxPrice = \"1000\",\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/Images\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleInstance, 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\t_, err = As.NewScalingConfig(ctx, \"exampleScalingConfig\", \u0026As.ScalingConfigArgs{\n\t\t\tConfigurationName: pulumi.String(\"launch-configuration\"),\n\t\t\tImageId: pulumi.String(exampleInstance.Images[0].ImageId),\n\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SA1.SMALL1\"),\n\t\t\t},\n\t\t\tInstanceChargeType: pulumi.String(\"SPOTPAID\"),\n\t\t\tSpotInstanceType: pulumi.String(\"one-time\"),\n\t\t\tSpotMaxPrice: pulumi.String(\"1000\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\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.As.ScalingConfig;\nimport com.pulumi.tencentcloud.As.ScalingConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleInstance = ImagesFunctions.getInstance(GetInstanceArgs.builder()\n .imageTypes(\"PUBLIC_IMAGE\")\n .osName(\"TencentOS Server 3.2 (Final)\")\n .build());\n\n var exampleScalingConfig = new ScalingConfig(\"exampleScalingConfig\", ScalingConfigArgs.builder() \n .configurationName(\"launch-configuration\")\n .imageId(exampleInstance.applyValue(getInstanceResult -\u003e getInstanceResult.images()[0].imageId()))\n .instanceTypes(\"SA1.SMALL1\")\n .instanceChargeType(\"SPOTPAID\")\n .spotInstanceType(\"one-time\")\n .spotMaxPrice(\"1000\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleScalingConfig:\n type: tencentcloud:As:ScalingConfig\n properties:\n configurationName: launch-configuration\n imageId: ${exampleInstance.images[0].imageId}\n instanceTypes:\n - SA1.SMALL1\n instanceChargeType: SPOTPAID\n spotInstanceType: one-time\n spotMaxPrice: '1000'\nvariables:\n exampleInstance:\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## Import\n\nAutoScaling Configuration can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:As/scalingConfig:ScalingConfig example asc-n32ymck2\n```\n", + "description": "Provides a resource to create a configuration for an AS (Auto scaling) instance.\n\n\u003e **NOTE:** In order to ensure the integrity of customer data, if the cvm instance was destroyed due to shrinking, it will keep the cbs associate with cvm by default. If you want to destroy together, please set `delete_with_instance` to `true`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst exampleInstance = tencentcloud.Images.getInstance({\n imageTypes: [\"PUBLIC_IMAGE\"],\n osName: \"TencentOS Server 3.2 (Final)\",\n});\nconst exampleScalingConfig = new tencentcloud.as.ScalingConfig(\"exampleScalingConfig\", {\n configurationName: \"example-launch-configuration\",\n imageId: exampleInstance.then(exampleInstance =\u003e exampleInstance.images?.[0]?.imageId),\n instanceTypes: [\"SA1.SMALL1\"],\n projectId: 0,\n systemDiskType: \"CLOUD_PREMIUM\",\n systemDiskSize: 50,\n dataDisks: [{\n diskType: \"CLOUD_PREMIUM\",\n diskSize: 50,\n }],\n internetChargeType: \"TRAFFIC_POSTPAID_BY_HOUR\",\n internetMaxBandwidthOut: 10,\n publicIpAssigned: true,\n password: \"Test@123#\",\n enhancedSecurityService: false,\n enhancedMonitorService: false,\n enhancedAutomationToolsService: false,\n userData: \"dGVzdA==\",\n hostNameSettings: {\n hostName: \"host-name-test\",\n hostNameStyle: \"UNIQUE\",\n },\n instanceTags: {\n tag: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample_instance = tencentcloud.Images.get_instance(image_types=[\"PUBLIC_IMAGE\"],\n os_name=\"TencentOS Server 3.2 (Final)\")\nexample_scaling_config = tencentcloud.as_.ScalingConfig(\"exampleScalingConfig\",\n configuration_name=\"example-launch-configuration\",\n image_id=example_instance.images[0].image_id,\n instance_types=[\"SA1.SMALL1\"],\n project_id=0,\n system_disk_type=\"CLOUD_PREMIUM\",\n system_disk_size=50,\n data_disks=[tencentcloud.as_.ScalingConfigDataDiskArgs(\n disk_type=\"CLOUD_PREMIUM\",\n disk_size=50,\n )],\n internet_charge_type=\"TRAFFIC_POSTPAID_BY_HOUR\",\n internet_max_bandwidth_out=10,\n public_ip_assigned=True,\n password=\"Test@123#\",\n enhanced_security_service=False,\n enhanced_monitor_service=False,\n enhanced_automation_tools_service=False,\n user_data=\"dGVzdA==\",\n host_name_settings=tencentcloud.as_.ScalingConfigHostNameSettingsArgs(\n host_name=\"host-name-test\",\n host_name_style=\"UNIQUE\",\n ),\n instance_tags={\n \"tag\": \"example\",\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 exampleInstance = 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 exampleScalingConfig = new Tencentcloud.As.ScalingConfig(\"exampleScalingConfig\", new()\n {\n ConfigurationName = \"example-launch-configuration\",\n ImageId = exampleInstance.Apply(getInstanceResult =\u003e getInstanceResult.Images[0]?.ImageId),\n InstanceTypes = new[]\n {\n \"SA1.SMALL1\",\n },\n ProjectId = 0,\n SystemDiskType = \"CLOUD_PREMIUM\",\n SystemDiskSize = 50,\n DataDisks = new[]\n {\n new Tencentcloud.As.Inputs.ScalingConfigDataDiskArgs\n {\n DiskType = \"CLOUD_PREMIUM\",\n DiskSize = 50,\n },\n },\n InternetChargeType = \"TRAFFIC_POSTPAID_BY_HOUR\",\n InternetMaxBandwidthOut = 10,\n PublicIpAssigned = true,\n Password = \"Test@123#\",\n EnhancedSecurityService = false,\n EnhancedMonitorService = false,\n EnhancedAutomationToolsService = false,\n UserData = \"dGVzdA==\",\n HostNameSettings = new Tencentcloud.As.Inputs.ScalingConfigHostNameSettingsArgs\n {\n HostName = \"host-name-test\",\n HostNameStyle = \"UNIQUE\",\n },\n InstanceTags = \n {\n { \"tag\", \"example\" },\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/Images\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleInstance, 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\t_, err = As.NewScalingConfig(ctx, \"exampleScalingConfig\", \u0026As.ScalingConfigArgs{\n\t\t\tConfigurationName: pulumi.String(\"example-launch-configuration\"),\n\t\t\tImageId: pulumi.String(exampleInstance.Images[0].ImageId),\n\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SA1.SMALL1\"),\n\t\t\t},\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tSystemDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\tSystemDiskSize: pulumi.Int(50),\n\t\t\tDataDisks: as.ScalingConfigDataDiskArray{\n\t\t\t\t\u0026as.ScalingConfigDataDiskArgs{\n\t\t\t\t\tDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\t\t\tDiskSize: pulumi.Int(50),\n\t\t\t\t},\n\t\t\t},\n\t\t\tInternetChargeType: pulumi.String(\"TRAFFIC_POSTPAID_BY_HOUR\"),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(10),\n\t\t\tPublicIpAssigned: pulumi.Bool(true),\n\t\t\tPassword: pulumi.String(\"Test@123#\"),\n\t\t\tEnhancedSecurityService: pulumi.Bool(false),\n\t\t\tEnhancedMonitorService: pulumi.Bool(false),\n\t\t\tEnhancedAutomationToolsService: pulumi.Bool(false),\n\t\t\tUserData: pulumi.String(\"dGVzdA==\"),\n\t\t\tHostNameSettings: \u0026as.ScalingConfigHostNameSettingsArgs{\n\t\t\t\tHostName: pulumi.String(\"host-name-test\"),\n\t\t\t\tHostNameStyle: pulumi.String(\"UNIQUE\"),\n\t\t\t},\n\t\t\tInstanceTags: pulumi.Map{\n\t\t\t\t\"tag\": pulumi.Any(\"example\"),\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.As.ScalingConfig;\nimport com.pulumi.tencentcloud.As.ScalingConfigArgs;\nimport com.pulumi.tencentcloud.As.inputs.ScalingConfigDataDiskArgs;\nimport com.pulumi.tencentcloud.As.inputs.ScalingConfigHostNameSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleInstance = ImagesFunctions.getInstance(GetInstanceArgs.builder()\n .imageTypes(\"PUBLIC_IMAGE\")\n .osName(\"TencentOS Server 3.2 (Final)\")\n .build());\n\n var exampleScalingConfig = new ScalingConfig(\"exampleScalingConfig\", ScalingConfigArgs.builder() \n .configurationName(\"example-launch-configuration\")\n .imageId(exampleInstance.applyValue(getInstanceResult -\u003e getInstanceResult.images()[0].imageId()))\n .instanceTypes(\"SA1.SMALL1\")\n .projectId(0)\n .systemDiskType(\"CLOUD_PREMIUM\")\n .systemDiskSize(\"50\")\n .dataDisks(ScalingConfigDataDiskArgs.builder()\n .diskType(\"CLOUD_PREMIUM\")\n .diskSize(50)\n .build())\n .internetChargeType(\"TRAFFIC_POSTPAID_BY_HOUR\")\n .internetMaxBandwidthOut(10)\n .publicIpAssigned(true)\n .password(\"Test@123#\")\n .enhancedSecurityService(false)\n .enhancedMonitorService(false)\n .enhancedAutomationToolsService(false)\n .userData(\"dGVzdA==\")\n .hostNameSettings(ScalingConfigHostNameSettingsArgs.builder()\n .hostName(\"host-name-test\")\n .hostNameStyle(\"UNIQUE\")\n .build())\n .instanceTags(Map.of(\"tag\", \"example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleScalingConfig:\n type: tencentcloud:As:ScalingConfig\n properties:\n configurationName: example-launch-configuration\n imageId: ${exampleInstance.images[0].imageId}\n instanceTypes:\n - SA1.SMALL1\n projectId: 0\n systemDiskType: CLOUD_PREMIUM\n systemDiskSize: '50'\n dataDisks:\n - diskType: CLOUD_PREMIUM\n diskSize: 50\n internetChargeType: TRAFFIC_POSTPAID_BY_HOUR\n internetMaxBandwidthOut: 10\n publicIpAssigned: true\n password: Test@123#\n enhancedSecurityService: false\n enhancedMonitorService: false\n enhancedAutomationToolsService: false\n userData: dGVzdA==\n hostNameSettings:\n hostName: host-name-test\n hostNameStyle: UNIQUE\n instanceTags:\n tag: example\nvariables:\n exampleInstance:\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### charge type\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 exampleInstance = tencentcloud.Images.getInstance({\n imageTypes: [\"PUBLIC_IMAGE\"],\n osName: \"TencentOS Server 3.2 (Final)\",\n});\nconst exampleScalingConfig = new tencentcloud.as.ScalingConfig(\"exampleScalingConfig\", {\n configurationName: \"launch-configuration\",\n imageId: exampleInstance.then(exampleInstance =\u003e exampleInstance.images?.[0]?.imageId),\n instanceTypes: [\"SA1.SMALL1\"],\n instanceChargeType: \"SPOTPAID\",\n spotInstanceType: \"one-time\",\n spotMaxPrice: \"1000\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample_instance = tencentcloud.Images.get_instance(image_types=[\"PUBLIC_IMAGE\"],\n os_name=\"TencentOS Server 3.2 (Final)\")\nexample_scaling_config = tencentcloud.as_.ScalingConfig(\"exampleScalingConfig\",\n configuration_name=\"launch-configuration\",\n image_id=example_instance.images[0].image_id,\n instance_types=[\"SA1.SMALL1\"],\n instance_charge_type=\"SPOTPAID\",\n spot_instance_type=\"one-time\",\n spot_max_price=\"1000\")\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 exampleInstance = 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 exampleScalingConfig = new Tencentcloud.As.ScalingConfig(\"exampleScalingConfig\", new()\n {\n ConfigurationName = \"launch-configuration\",\n ImageId = exampleInstance.Apply(getInstanceResult =\u003e getInstanceResult.Images[0]?.ImageId),\n InstanceTypes = new[]\n {\n \"SA1.SMALL1\",\n },\n InstanceChargeType = \"SPOTPAID\",\n SpotInstanceType = \"one-time\",\n SpotMaxPrice = \"1000\",\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/Images\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleInstance, 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\t_, err = As.NewScalingConfig(ctx, \"exampleScalingConfig\", \u0026As.ScalingConfigArgs{\n\t\t\tConfigurationName: pulumi.String(\"launch-configuration\"),\n\t\t\tImageId: pulumi.String(exampleInstance.Images[0].ImageId),\n\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SA1.SMALL1\"),\n\t\t\t},\n\t\t\tInstanceChargeType: pulumi.String(\"SPOTPAID\"),\n\t\t\tSpotInstanceType: pulumi.String(\"one-time\"),\n\t\t\tSpotMaxPrice: pulumi.String(\"1000\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\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.As.ScalingConfig;\nimport com.pulumi.tencentcloud.As.ScalingConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleInstance = ImagesFunctions.getInstance(GetInstanceArgs.builder()\n .imageTypes(\"PUBLIC_IMAGE\")\n .osName(\"TencentOS Server 3.2 (Final)\")\n .build());\n\n var exampleScalingConfig = new ScalingConfig(\"exampleScalingConfig\", ScalingConfigArgs.builder() \n .configurationName(\"launch-configuration\")\n .imageId(exampleInstance.applyValue(getInstanceResult -\u003e getInstanceResult.images()[0].imageId()))\n .instanceTypes(\"SA1.SMALL1\")\n .instanceChargeType(\"SPOTPAID\")\n .spotInstanceType(\"one-time\")\n .spotMaxPrice(\"1000\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleScalingConfig:\n type: tencentcloud:As:ScalingConfig\n properties:\n configurationName: launch-configuration\n imageId: ${exampleInstance.images[0].imageId}\n instanceTypes:\n - SA1.SMALL1\n instanceChargeType: SPOTPAID\n spotInstanceType: one-time\n spotMaxPrice: '1000'\nvariables:\n exampleInstance:\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### Using image family\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.ScalingConfig(\"example\", {\n configurationName: \"as-test-config\",\n diskTypePolicy: \"ORIGINAL\",\n enhancedAutomationToolsService: false,\n enhancedMonitorService: false,\n enhancedSecurityService: false,\n imageFamily: \"business-daily-update\",\n instanceTags: {},\n instanceTypes: [\"S5.SMALL2\"],\n internetChargeType: \"TRAFFIC_POSTPAID_BY_HOUR\",\n internetMaxBandwidthOut: 0,\n keyIds: [],\n projectId: 0,\n publicIpAssigned: false,\n securityGroupIds: [\"sg-5275dorp\"],\n systemDiskSize: 50,\n systemDiskType: \"CLOUD_BSSD\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.as_.ScalingConfig(\"example\",\n configuration_name=\"as-test-config\",\n disk_type_policy=\"ORIGINAL\",\n enhanced_automation_tools_service=False,\n enhanced_monitor_service=False,\n enhanced_security_service=False,\n image_family=\"business-daily-update\",\n instance_tags={},\n instance_types=[\"S5.SMALL2\"],\n internet_charge_type=\"TRAFFIC_POSTPAID_BY_HOUR\",\n internet_max_bandwidth_out=0,\n key_ids=[],\n project_id=0,\n public_ip_assigned=False,\n security_group_ids=[\"sg-5275dorp\"],\n system_disk_size=50,\n system_disk_type=\"CLOUD_BSSD\")\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.ScalingConfig(\"example\", new()\n {\n ConfigurationName = \"as-test-config\",\n DiskTypePolicy = \"ORIGINAL\",\n EnhancedAutomationToolsService = false,\n EnhancedMonitorService = false,\n EnhancedSecurityService = false,\n ImageFamily = \"business-daily-update\",\n InstanceTags = null,\n InstanceTypes = new[]\n {\n \"S5.SMALL2\",\n },\n InternetChargeType = \"TRAFFIC_POSTPAID_BY_HOUR\",\n InternetMaxBandwidthOut = 0,\n KeyIds = new[] {},\n ProjectId = 0,\n PublicIpAssigned = false,\n SecurityGroupIds = new[]\n {\n \"sg-5275dorp\",\n },\n SystemDiskSize = 50,\n SystemDiskType = \"CLOUD_BSSD\",\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.NewScalingConfig(ctx, \"example\", \u0026As.ScalingConfigArgs{\n\t\t\tConfigurationName: pulumi.String(\"as-test-config\"),\n\t\t\tDiskTypePolicy: pulumi.String(\"ORIGINAL\"),\n\t\t\tEnhancedAutomationToolsService: pulumi.Bool(false),\n\t\t\tEnhancedMonitorService: pulumi.Bool(false),\n\t\t\tEnhancedSecurityService: pulumi.Bool(false),\n\t\t\tImageFamily: pulumi.String(\"business-daily-update\"),\n\t\t\tInstanceTags: nil,\n\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"S5.SMALL2\"),\n\t\t\t},\n\t\t\tInternetChargeType: pulumi.String(\"TRAFFIC_POSTPAID_BY_HOUR\"),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(0),\n\t\t\tKeyIds: pulumi.StringArray{},\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tPublicIpAssigned: pulumi.Bool(false),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sg-5275dorp\"),\n\t\t\t},\n\t\t\tSystemDiskSize: pulumi.Int(50),\n\t\t\tSystemDiskType: pulumi.String(\"CLOUD_BSSD\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\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.ScalingConfig;\nimport com.pulumi.tencentcloud.As.ScalingConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ScalingConfig(\"example\", ScalingConfigArgs.builder() \n .configurationName(\"as-test-config\")\n .diskTypePolicy(\"ORIGINAL\")\n .enhancedAutomationToolsService(false)\n .enhancedMonitorService(false)\n .enhancedSecurityService(false)\n .imageFamily(\"business-daily-update\")\n .instanceTags()\n .instanceTypes(\"S5.SMALL2\")\n .internetChargeType(\"TRAFFIC_POSTPAID_BY_HOUR\")\n .internetMaxBandwidthOut(0)\n .keyIds()\n .projectId(0)\n .publicIpAssigned(false)\n .securityGroupIds(\"sg-5275dorp\")\n .systemDiskSize(50)\n .systemDiskType(\"CLOUD_BSSD\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:As:ScalingConfig\n properties:\n configurationName: as-test-config\n diskTypePolicy: ORIGINAL\n enhancedAutomationToolsService: false\n enhancedMonitorService: false\n enhancedSecurityService: false\n imageFamily: business-daily-update\n instanceTags: {}\n instanceTypes:\n - S5.SMALL2\n internetChargeType: TRAFFIC_POSTPAID_BY_HOUR\n internetMaxBandwidthOut: 0\n keyIds: []\n projectId: 0\n publicIpAssigned: false\n securityGroupIds:\n - sg-5275dorp\n systemDiskSize: 50\n systemDiskType: CLOUD_BSSD\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAutoScaling Configuration can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:As/scalingConfig:ScalingConfig example asc-n32ymck2\n```\n", "properties": { "camRoleName": { "type": "string", @@ -121336,6 +126673,10 @@ "type": "string", "description": "Policy of cloud disk type. Valid values: `ORIGINAL` and `AUTOMATIC`. Default is `ORIGINAL`.\n" }, + "enhancedAutomationToolsService": { + "type": "boolean", + "description": "To specify whether to enable cloud automation tools service.\n" + }, "enhancedMonitorService": { "type": "boolean", "description": "To specify whether to enable cloud monitor service. Default is `TRUE`.\n" @@ -121348,6 +126689,10 @@ "$ref": "#/types/tencentcloud:As/ScalingConfigHostNameSettings:ScalingConfigHostNameSettings", "description": "Related settings of the cloud server hostname (HostName).\n" }, + "imageFamily": { + "type": "string", + "description": "Image Family Name. Either Image ID or Image Family Name must be provided, but not both.\n" + }, "imageId": { "type": "string", "description": "An available image ID for a cvm instance.\n" @@ -121449,7 +126794,6 @@ "required": [ "configurationName", "createTime", - "imageId", "instanceChargeTypePrepaidRenewFlag", "instanceTypes", "status" @@ -121474,6 +126818,10 @@ "type": "string", "description": "Policy of cloud disk type. Valid values: `ORIGINAL` and `AUTOMATIC`. Default is `ORIGINAL`.\n" }, + "enhancedAutomationToolsService": { + "type": "boolean", + "description": "To specify whether to enable cloud automation tools service.\n" + }, "enhancedMonitorService": { "type": "boolean", "description": "To specify whether to enable cloud monitor service. Default is `TRUE`.\n" @@ -121486,6 +126834,10 @@ "$ref": "#/types/tencentcloud:As/ScalingConfigHostNameSettings:ScalingConfigHostNameSettings", "description": "Related settings of the cloud server hostname (HostName).\n" }, + "imageFamily": { + "type": "string", + "description": "Image Family Name. Either Image ID or Image Family Name must be provided, but not both.\n" + }, "imageId": { "type": "string", "description": "An available image ID for a cvm instance.\n" @@ -121582,7 +126934,6 @@ }, "requiredInputs": [ "configurationName", - "imageId", "instanceTypes" ], "stateInputs": { @@ -121611,6 +126962,10 @@ "type": "string", "description": "Policy of cloud disk type. Valid values: `ORIGINAL` and `AUTOMATIC`. Default is `ORIGINAL`.\n" }, + "enhancedAutomationToolsService": { + "type": "boolean", + "description": "To specify whether to enable cloud automation tools service.\n" + }, "enhancedMonitorService": { "type": "boolean", "description": "To specify whether to enable cloud monitor service. Default is `TRUE`.\n" @@ -121623,6 +126978,10 @@ "$ref": "#/types/tencentcloud:As/ScalingConfigHostNameSettings:ScalingConfigHostNameSettings", "description": "Related settings of the cloud server hostname (HostName).\n" }, + "imageFamily": { + "type": "string", + "description": "Image Family Name. Either Image ID or Image Family Name must be provided, but not both.\n" + }, "imageId": { "type": "string", "description": "An available image ID for a cvm instance.\n" @@ -121725,7 +127084,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 +127109,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 +127202,9 @@ "configurationId", "createTime", "desiredCapacity", + "healthCheckType", "instanceCount", + "lbHealthCheckGracePeriod", "maxSize", "minSize", "scalingGroupName", @@ -121863,6 +127232,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 +127346,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 +127802,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-8n7fdm28\",\n refreshMode: \"ROLLING_UPDATE_RESET\",\n refreshSettings: {\n checkInstanceTargetHealth: false,\n rollingUpdateSettings: {\n batchNumber: 1,\n batchPause: \"AUTOMATIC\",\n maxSurge: 1,\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-8n7fdm28\",\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 max_surge=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 example = new Tencentcloud.As.StartInstanceRefresh(\"example\", new()\n {\n AutoScalingGroupId = \"asg-8n7fdm28\",\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 MaxSurge = 1,\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-8n7fdm28\"),\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\tMaxSurge: pulumi.Int(1),\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-8n7fdm28\")\n .refreshMode(\"ROLLING_UPDATE_RESET\")\n .refreshSettings(StartInstanceRefreshRefreshSettingsArgs.builder()\n .checkInstanceTargetHealth(false)\n .rollingUpdateSettings(StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs.builder()\n .batchNumber(1)\n .batchPause(\"AUTOMATIC\")\n .maxSurge(1)\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-8n7fdm28\n refreshMode: ROLLING_UPDATE_RESET\n refreshSettings:\n checkInstanceTargetHealth: false\n rollingUpdateSettings:\n batchNumber: 1\n batchPause: AUTOMATIC\n maxSurge: 1\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": { @@ -122548,7 +127996,7 @@ } }, "tencentcloud:Audit/track:Track": { - "description": "Provides a resource to create a audit track\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 track = new tencentcloud.audit.Track(\"track\", {\n actionType: \"Read\",\n eventNames: [\"*\"],\n resourceType: \"*\",\n status: 1,\n storage: {\n storageName: \"db90b92c-91d2-46b0-94ac-debbbb21dc4e\",\n storagePrefix: \"cloudaudit\",\n storageRegion: \"ap-guangzhou\",\n storageType: \"cls\",\n },\n trackForAllMembers: 0,\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\ntrack = tencentcloud.audit.Track(\"track\",\n action_type=\"Read\",\n event_names=[\"*\"],\n resource_type=\"*\",\n status=1,\n storage=tencentcloud.audit.TrackStorageArgs(\n storage_name=\"db90b92c-91d2-46b0-94ac-debbbb21dc4e\",\n storage_prefix=\"cloudaudit\",\n storage_region=\"ap-guangzhou\",\n storage_type=\"cls\",\n ),\n track_for_all_members=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 track = new Tencentcloud.Audit.Track(\"track\", new()\n {\n ActionType = \"Read\",\n EventNames = new[]\n {\n \"*\",\n },\n ResourceType = \"*\",\n Status = 1,\n Storage = new Tencentcloud.Audit.Inputs.TrackStorageArgs\n {\n StorageName = \"db90b92c-91d2-46b0-94ac-debbbb21dc4e\",\n StoragePrefix = \"cloudaudit\",\n StorageRegion = \"ap-guangzhou\",\n StorageType = \"cls\",\n },\n TrackForAllMembers = 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/Audit\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Audit.NewTrack(ctx, \"track\", \u0026Audit.TrackArgs{\n\t\t\tActionType: pulumi.String(\"Read\"),\n\t\t\tEventNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"*\"),\n\t\t\t},\n\t\t\tResourceType: pulumi.String(\"*\"),\n\t\t\tStatus: pulumi.Int(1),\n\t\t\tStorage: \u0026audit.TrackStorageArgs{\n\t\t\t\tStorageName: pulumi.String(\"db90b92c-91d2-46b0-94ac-debbbb21dc4e\"),\n\t\t\t\tStoragePrefix: pulumi.String(\"cloudaudit\"),\n\t\t\t\tStorageRegion: pulumi.String(\"ap-guangzhou\"),\n\t\t\t\tStorageType: pulumi.String(\"cls\"),\n\t\t\t},\n\t\t\tTrackForAllMembers: 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.Audit.Track;\nimport com.pulumi.tencentcloud.Audit.TrackArgs;\nimport com.pulumi.tencentcloud.Audit.inputs.TrackStorageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 track = new Track(\"track\", TrackArgs.builder() \n .actionType(\"Read\")\n .eventNames(\"*\")\n .resourceType(\"*\")\n .status(1)\n .storage(TrackStorageArgs.builder()\n .storageName(\"db90b92c-91d2-46b0-94ac-debbbb21dc4e\")\n .storagePrefix(\"cloudaudit\")\n .storageRegion(\"ap-guangzhou\")\n .storageType(\"cls\")\n .build())\n .trackForAllMembers(0)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n track:\n type: tencentcloud:Audit:Track\n properties:\n actionType: Read\n eventNames:\n - '*'\n resourceType: '*'\n status: 1\n storage:\n storageName: db90b92c-91d2-46b0-94ac-debbbb21dc4e\n storagePrefix: cloudaudit\n storageRegion: ap-guangzhou\n storageType: cls\n trackForAllMembers: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\naudit track can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Audit/track:Track track track_id\n```\n", + "description": "Provides a resource to create a audit track\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.audit.Track(\"example\", {\n actionType: \"Read\",\n eventNames: [\"*\"],\n resourceType: \"*\",\n status: 1,\n storage: {\n storageName: \"db90b92c-91d2-46b0-94ac-debbbb21dc4e\",\n storagePrefix: \"cloudaudit\",\n storageRegion: \"ap-guangzhou\",\n storageType: \"cls\",\n },\n trackForAllMembers: 0,\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.audit.Track(\"example\",\n action_type=\"Read\",\n event_names=[\"*\"],\n resource_type=\"*\",\n status=1,\n storage=tencentcloud.audit.TrackStorageArgs(\n storage_name=\"db90b92c-91d2-46b0-94ac-debbbb21dc4e\",\n storage_prefix=\"cloudaudit\",\n storage_region=\"ap-guangzhou\",\n storage_type=\"cls\",\n ),\n track_for_all_members=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 example = new Tencentcloud.Audit.Track(\"example\", new()\n {\n ActionType = \"Read\",\n EventNames = new[]\n {\n \"*\",\n },\n ResourceType = \"*\",\n Status = 1,\n Storage = new Tencentcloud.Audit.Inputs.TrackStorageArgs\n {\n StorageName = \"db90b92c-91d2-46b0-94ac-debbbb21dc4e\",\n StoragePrefix = \"cloudaudit\",\n StorageRegion = \"ap-guangzhou\",\n StorageType = \"cls\",\n },\n TrackForAllMembers = 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/Audit\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Audit.NewTrack(ctx, \"example\", \u0026Audit.TrackArgs{\n\t\t\tActionType: pulumi.String(\"Read\"),\n\t\t\tEventNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"*\"),\n\t\t\t},\n\t\t\tResourceType: pulumi.String(\"*\"),\n\t\t\tStatus: pulumi.Int(1),\n\t\t\tStorage: \u0026audit.TrackStorageArgs{\n\t\t\t\tStorageName: pulumi.String(\"db90b92c-91d2-46b0-94ac-debbbb21dc4e\"),\n\t\t\t\tStoragePrefix: pulumi.String(\"cloudaudit\"),\n\t\t\t\tStorageRegion: pulumi.String(\"ap-guangzhou\"),\n\t\t\t\tStorageType: pulumi.String(\"cls\"),\n\t\t\t},\n\t\t\tTrackForAllMembers: 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.Audit.Track;\nimport com.pulumi.tencentcloud.Audit.TrackArgs;\nimport com.pulumi.tencentcloud.Audit.inputs.TrackStorageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 Track(\"example\", TrackArgs.builder() \n .actionType(\"Read\")\n .eventNames(\"*\")\n .resourceType(\"*\")\n .status(1)\n .storage(TrackStorageArgs.builder()\n .storageName(\"db90b92c-91d2-46b0-94ac-debbbb21dc4e\")\n .storagePrefix(\"cloudaudit\")\n .storageRegion(\"ap-guangzhou\")\n .storageType(\"cls\")\n .build())\n .trackForAllMembers(0)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Audit:Track\n properties:\n actionType: Read\n eventNames:\n - '*'\n resourceType: '*'\n status: 1\n storage:\n storageName: db90b92c-91d2-46b0-94ac-debbbb21dc4e\n storagePrefix: cloudaudit\n storageRegion: ap-guangzhou\n storageType: cls\n trackForAllMembers: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specify storage user\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.audit.Track(\"example\", {\n actionType: \"Read\",\n eventNames: [\"*\"],\n resourceType: \"*\",\n status: 1,\n storage: {\n storageAccountId: \"100037717137\",\n storageAppId: \"1309116520\",\n storageName: \"db90b92c-91d2-46b0-94ac-debbbb21dc4e\",\n storagePrefix: \"cloudaudit\",\n storageRegion: \"ap-guangzhou\",\n storageType: \"cos\",\n },\n trackForAllMembers: 0,\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.audit.Track(\"example\",\n action_type=\"Read\",\n event_names=[\"*\"],\n resource_type=\"*\",\n status=1,\n storage=tencentcloud.audit.TrackStorageArgs(\n storage_account_id=\"100037717137\",\n storage_app_id=\"1309116520\",\n storage_name=\"db90b92c-91d2-46b0-94ac-debbbb21dc4e\",\n storage_prefix=\"cloudaudit\",\n storage_region=\"ap-guangzhou\",\n storage_type=\"cos\",\n ),\n track_for_all_members=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 example = new Tencentcloud.Audit.Track(\"example\", new()\n {\n ActionType = \"Read\",\n EventNames = new[]\n {\n \"*\",\n },\n ResourceType = \"*\",\n Status = 1,\n Storage = new Tencentcloud.Audit.Inputs.TrackStorageArgs\n {\n StorageAccountId = \"100037717137\",\n StorageAppId = \"1309116520\",\n StorageName = \"db90b92c-91d2-46b0-94ac-debbbb21dc4e\",\n StoragePrefix = \"cloudaudit\",\n StorageRegion = \"ap-guangzhou\",\n StorageType = \"cos\",\n },\n TrackForAllMembers = 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/Audit\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Audit.NewTrack(ctx, \"example\", \u0026Audit.TrackArgs{\n\t\t\tActionType: pulumi.String(\"Read\"),\n\t\t\tEventNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"*\"),\n\t\t\t},\n\t\t\tResourceType: pulumi.String(\"*\"),\n\t\t\tStatus: pulumi.Int(1),\n\t\t\tStorage: \u0026audit.TrackStorageArgs{\n\t\t\t\tStorageAccountId: pulumi.String(\"100037717137\"),\n\t\t\t\tStorageAppId: pulumi.String(\"1309116520\"),\n\t\t\t\tStorageName: pulumi.String(\"db90b92c-91d2-46b0-94ac-debbbb21dc4e\"),\n\t\t\t\tStoragePrefix: pulumi.String(\"cloudaudit\"),\n\t\t\t\tStorageRegion: pulumi.String(\"ap-guangzhou\"),\n\t\t\t\tStorageType: pulumi.String(\"cos\"),\n\t\t\t},\n\t\t\tTrackForAllMembers: 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.Audit.Track;\nimport com.pulumi.tencentcloud.Audit.TrackArgs;\nimport com.pulumi.tencentcloud.Audit.inputs.TrackStorageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 Track(\"example\", TrackArgs.builder() \n .actionType(\"Read\")\n .eventNames(\"*\")\n .resourceType(\"*\")\n .status(1)\n .storage(TrackStorageArgs.builder()\n .storageAccountId(\"100037717137\")\n .storageAppId(\"1309116520\")\n .storageName(\"db90b92c-91d2-46b0-94ac-debbbb21dc4e\")\n .storagePrefix(\"cloudaudit\")\n .storageRegion(\"ap-guangzhou\")\n .storageType(\"cos\")\n .build())\n .trackForAllMembers(0)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Audit:Track\n properties:\n actionType: Read\n eventNames:\n - '*'\n resourceType: '*'\n status: 1\n storage:\n storageAccountId: '100037717137'\n storageAppId: '1309116520'\n storageName: db90b92c-91d2-46b0-94ac-debbbb21dc4e\n storagePrefix: cloudaudit\n storageRegion: ap-guangzhou\n storageType: cos\n trackForAllMembers: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\naudit track can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Audit/track:Track example 24283\n```\n", "properties": { "actionType": { "type": "string", @@ -122677,6 +128125,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 +131816,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,7 +131828,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" + "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" }, "diskBackupQuota": { "type": "integer", @@ -126396,7 +131915,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", @@ -126477,7 +132001,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 +132124,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 +132136,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 +132204,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 +132267,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 +132374,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 +132418,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 +132436,7 @@ "instanceRegion", "instanceType", "routeIds", + "routeTableId", "state" ], "inputProperties": { @@ -126920,6 +132468,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 +132531,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 +132636,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 +132666,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 +132715,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 +132764,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 +132977,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: \"ccnr-5uhewx1s\",\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=\"ccnr-5uhewx1s\",\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 = \"ccnr-5uhewx1s\",\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(\"ccnr-5uhewx1s\"),\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(\"ccnr-5uhewx1s\")\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: ccnr-5uhewx1s\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 +133388,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 +134029,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 +134227,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 +134433,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 +134751,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 +140866,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 +140894,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 +140912,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 +140933,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 +140953,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 +140978,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,11 +141181,11 @@ } }, "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", - "description": "IP version, only applicable to open CLB. Valid values are `ipv4`, `ipv6` and `IPv6FullChain`.\n" + "description": "It's only applicable to public network CLB instances. IP version. Values: `IPV4`, `IPV6` and `IPv6FullChain` (case-insensitive). Default: `IPV4`. Note: IPV6 indicates IPv6 NAT64, while IPv6FullChain indicates IPv6.\n" }, "addressIpv6": { "type": "string", @@ -134554,6 +141206,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,18 +141329,21 @@ "internetBandwidthMaxOut", "internetChargeType", "ipv6Mode", + "masterZoneId", "networkType", "slaType", + "slaveZoneId", "targetRegionInfoRegion", "targetRegionInfoVpcId", "vip", "vipIsp", - "vpcId" + "vpcId", + "zoneId" ], "inputProperties": { "addressIpVersion": { "type": "string", - "description": "IP version, only applicable to open CLB. Valid values are `ipv4`, `ipv6` and `IPv6FullChain`.\n" + "description": "It's only applicable to public network CLB instances. IP version. Values: `IPV4`, `IPV6` and `IPv6FullChain` (case-insensitive). Default: `IPV4`. Note: IPV6 indicates IPv6 NAT64, while IPv6FullChain indicates IPv6.\n" }, "bandwidthPackageId": { "type": "string", @@ -134694,6 +141353,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 +141397,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", @@ -134811,7 +141474,7 @@ "properties": { "addressIpVersion": { "type": "string", - "description": "IP version, only applicable to open CLB. Valid values are `ipv4`, `ipv6` and `IPv6FullChain`.\n" + "description": "It's only applicable to public network CLB instances. IP version. Values: `IPV4`, `IPV6` and `IPv6FullChain` (case-insensitive). Default: `IPV4`. Note: IPV6 indicates IPv6 NAT64, while IPv6FullChain indicates IPv6.\n" }, "addressIpv6": { "type": "string", @@ -134832,6 +141495,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 +141547,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", @@ -135066,6 +141733,10 @@ "type": "integer", "description": "This parameter is used to specify the end port and is required when creating a port range listener. Only one member can be passed in when inputting the `Ports` parameter, which is used to specify the start port. If you want to try the port range feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category).\n" }, + "h2cSwitch": { + "type": "boolean", + "description": "Enable H2C switch for intranet HTTP listener.\n" + }, "healthCheckContextType": { "type": "string", "description": "Health check protocol. When the value of `health_check_type` of the health check protocol is `CUSTOM`, this field is required, which represents the input format of the health check. Valid values: `HEX`, `TEXT`.\n" @@ -135174,6 +141845,7 @@ "required": [ "clbId", "endPort", + "h2cSwitch", "healthCheckContextType", "healthCheckHealthNum", "healthCheckHttpMethod", @@ -135213,6 +141885,11 @@ "description": "This parameter is used to specify the end port and is required when creating a port range listener. Only one member can be passed in when inputting the `Ports` parameter, which is used to specify the start port. If you want to try the port range feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category).\n", "willReplaceOnChanges": true }, + "h2cSwitch": { + "type": "boolean", + "description": "Enable H2C switch for intranet HTTP listener.\n", + "willReplaceOnChanges": true + }, "healthCheckContextType": { "type": "string", "description": "Health check protocol. When the value of `health_check_type` of the health check protocol is `CUSTOM`, this field is required, which represents the input format of the health check. Valid values: `HEX`, `TEXT`.\n" @@ -135347,6 +142024,11 @@ "description": "This parameter is used to specify the end port and is required when creating a port range listener. Only one member can be passed in when inputting the `Ports` parameter, which is used to specify the start port. If you want to try the port range feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category).\n", "willReplaceOnChanges": true }, + "h2cSwitch": { + "type": "boolean", + "description": "Enable H2C switch for intranet HTTP listener.\n", + "willReplaceOnChanges": true + }, "healthCheckContextType": { "type": "string", "description": "Health check protocol. When the value of `health_check_type` of the health check protocol is `CUSTOM`, this field is required, which represents the input format of the health check. Valid values: `HEX`, `TEXT`.\n" @@ -135458,8 +142140,80 @@ "type": "object" } }, + "tencentcloud:Clb/listenerDefaultDomain:ListenerDefaultDomain": { + "description": "Provides a resource to set clb listener default domain\n\n## Example Usage\n\n### Set default domain\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.ListenerDefaultDomain(\"example\", {\n clbId: \"lb-g1miv1ok\",\n domain: \"3.com\",\n listenerId: \"lbl-duilx5qm\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.clb.ListenerDefaultDomain(\"example\",\n clb_id=\"lb-g1miv1ok\",\n domain=\"3.com\",\n listener_id=\"lbl-duilx5qm\")\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.ListenerDefaultDomain(\"example\", new()\n {\n ClbId = \"lb-g1miv1ok\",\n Domain = \"3.com\",\n ListenerId = \"lbl-duilx5qm\",\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.NewListenerDefaultDomain(ctx, \"example\", \u0026Clb.ListenerDefaultDomainArgs{\n\t\t\tClbId: pulumi.String(\"lb-g1miv1ok\"),\n\t\t\tDomain: pulumi.String(\"3.com\"),\n\t\t\tListenerId: pulumi.String(\"lbl-duilx5qm\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\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.ListenerDefaultDomain;\nimport com.pulumi.tencentcloud.Clb.ListenerDefaultDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ListenerDefaultDomain(\"example\", ListenerDefaultDomainArgs.builder() \n .clbId(\"lb-g1miv1ok\")\n .domain(\"3.com\")\n .listenerId(\"lbl-duilx5qm\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Clb:ListenerDefaultDomain\n properties:\n clbId: lb-g1miv1ok\n domain: 3.com\n listenerId: lbl-duilx5qm\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCLB listener default domain can be imported using the id (version \u003e= 1.47.0), e.g.\n\n```sh\n$ pulumi import tencentcloud:Clb/listenerDefaultDomain:ListenerDefaultDomain example lb-k2zjp9lv#lbl-hh141sn9\n```\n", + "properties": { + "clbId": { + "type": "string", + "description": "ID of CLB instance.\n" + }, + "domain": { + "type": "string", + "description": "Domain name of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`.\n" + }, + "listenerId": { + "type": "string", + "description": "ID of CLB listener.\n" + }, + "ruleId": { + "type": "string", + "description": "ID of this CLB listener rule.\n" + } + }, + "required": [ + "clbId", + "domain", + "listenerId", + "ruleId" + ], + "inputProperties": { + "clbId": { + "type": "string", + "description": "ID of CLB instance.\n", + "willReplaceOnChanges": true + }, + "domain": { + "type": "string", + "description": "Domain name of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`.\n" + }, + "listenerId": { + "type": "string", + "description": "ID of CLB listener.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "clbId", + "domain", + "listenerId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering ListenerDefaultDomain resources.\n", + "properties": { + "clbId": { + "type": "string", + "description": "ID of CLB instance.\n", + "willReplaceOnChanges": true + }, + "domain": { + "type": "string", + "description": "Domain name of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`.\n" + }, + "listenerId": { + "type": "string", + "description": "ID of CLB listener.\n", + "willReplaceOnChanges": true + }, + "ruleId": { + "type": "string", + "description": "ID of this CLB listener rule.\n" + } + }, + "type": "object" + } + }, "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,11 +142233,18 @@ }, "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", - "description": "Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `TRPC`. The default is `HTTP`.\n" + "description": "Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `GRPC`, `GRPCS`, `TRPC`. The default is `HTTP`.\n" }, "healthCheckHealthNum": { "type": "integer", @@ -135519,7 +142280,7 @@ }, "healthCheckType": { "type": "string", - "description": "Type of health check. Valid value is `CUSTOM`, `TCP`, `HTTP`.\n" + "description": "Type of health check. Valid value is `CUSTOM`, `PING`, `TCP`, `HTTP`, `HTTPS`, `GRPC`, `GRPCS`.\n" }, "healthCheckUnhealthNum": { "type": "integer", @@ -135561,6 +142322,7 @@ "required": [ "clbId", "domain", + "domains", "forwardType", "healthCheckHealthNum", "healthCheckHttpCode", @@ -135598,11 +142360,19 @@ }, "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", - "description": "Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `TRPC`. The default is `HTTP`.\n" + "description": "Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `GRPC`, `GRPCS`, `TRPC`. The default is `HTTP`.\n" }, "healthCheckHealthNum": { "type": "integer", @@ -135638,7 +142408,7 @@ }, "healthCheckType": { "type": "string", - "description": "Type of health check. Valid value is `CUSTOM`, `TCP`, `HTTP`.\n" + "description": "Type of health check. Valid value is `CUSTOM`, `PING`, `TCP`, `HTTP`, `HTTPS`, `GRPC`, `GRPCS`.\n" }, "healthCheckUnhealthNum": { "type": "integer", @@ -135677,7 +142447,6 @@ }, "requiredInputs": [ "clbId", - "domain", "listenerId", "url" ], @@ -135703,11 +142472,19 @@ }, "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", - "description": "Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `TRPC`. The default is `HTTP`.\n" + "description": "Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `GRPC`, `GRPCS`, `TRPC`. The default is `HTTP`.\n" }, "healthCheckHealthNum": { "type": "integer", @@ -135743,7 +142520,7 @@ }, "healthCheckType": { "type": "string", - "description": "Type of health check. Valid value is `CUSTOM`, `TCP`, `HTTP`.\n" + "description": "Type of health check. Valid value is `CUSTOM`, `PING`, `TCP`, `HTTP`, `HTTPS`, `GRPC`, `GRPCS`.\n" }, "healthCheckUnhealthNum": { "type": "integer", @@ -138379,38 +145156,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 +145203,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 +145244,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 +146036,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 +146046,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 +146093,7 @@ "required": [ "autoSplit", "hotPeriod", + "isWebTracking", "logsetId", "maxSplitPartitions", "partitionCount", @@ -139324,10 +146110,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 +146169,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 +146217,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 +146394,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\u003e **NOTE:** The following capabilities do not support cdc scenarios: `multi_az`, `website`, and bucket replication `replica_role`.\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 region = \"ap-guangzhou\";\nconst cdcId = \"cluster-262n63e8\";\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 versioningEnable: true,\n forceClean: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\nregion = \"ap-guangzhou\"\ncdc_id = \"cluster-262n63e8\"\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 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 region = \"ap-guangzhou\";\n\n var cdcId = \"cluster-262n63e8\";\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 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\t_ := \"ap-guangzhou\"\n\t\t_ := \"cluster-262n63e8\"\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\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 region = \"ap-guangzhou\";\n\n final var cdcId = \"cluster-262n63e8\";\n\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 .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 acl: private\n versioningEnable: true\n forceClean: true\nvariables:\n region: ap-guangzhou\n cdcId: cluster-262n63e8\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: false,\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=False,\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 = false,\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(false),\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(false)\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: false\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### Using verbose acl 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 region = \"ap-guangzhou\";\nconst cdcId = \"cluster-262n63e8\";\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 `private-bucket-${appId}`),\n acl: \"private\",\n aclBody: `\u003cAccessControlPolicy\u003e\n \u003cOwner\u003e\n \u003cID\u003eqcs::cam::uin/100023201586:uin/100023201586\u003c/ID\u003e\n \u003cDisplayName\u003eqcs::cam::uin/100023201586:uin/100023201586\u003c/DisplayName\u003e\n \u003c/Owner\u003e\n \u003cAccessControlList\u003e\n \u003cGrant\u003e\n \u003cGrantee type=\"CanonicalUser\"\u003e\n \u003cID\u003eqcs::cam::uin/100015006748:uin/100015006748\u003c/ID\u003e\n \u003cDisplayName\u003eqcs::cam::uin/100015006748:uin/100015006748\u003c/DisplayName\u003e\n \u003c/Grantee\u003e\n \u003cPermission\u003eWRITE\u003c/Permission\u003e\n \u003c/Grant\u003e\n \u003cGrant\u003e\n \u003cGrantee type=\"CanonicalUser\"\u003e\n \u003cID\u003eqcs::cam::uin/100023201586:uin/100023201586\u003c/ID\u003e\n \u003cDisplayName\u003eqcs::cam::uin/100023201586:uin/100023201586\u003c/DisplayName\u003e\n \u003c/Grantee\u003e\n \u003cPermission\u003eFULL_CONTROL\u003c/Permission\u003e\n \u003c/Grant\u003e\n \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\nregion = \"ap-guangzhou\"\ncdc_id = \"cluster-262n63e8\"\ninfo = tencentcloud.User.get_info()\napp_id = info.app_id\nbucket_with_acl = tencentcloud.cos.Bucket(\"bucketWithAcl\",\n bucket=f\"private-bucket-{app_id}\",\n acl=\"private\",\n acl_body=\"\"\"\u003cAccessControlPolicy\u003e\n \u003cOwner\u003e\n \u003cID\u003eqcs::cam::uin/100023201586:uin/100023201586\u003c/ID\u003e\n \u003cDisplayName\u003eqcs::cam::uin/100023201586:uin/100023201586\u003c/DisplayName\u003e\n \u003c/Owner\u003e\n \u003cAccessControlList\u003e\n \u003cGrant\u003e\n \u003cGrantee type=\"CanonicalUser\"\u003e\n \u003cID\u003eqcs::cam::uin/100015006748:uin/100015006748\u003c/ID\u003e\n \u003cDisplayName\u003eqcs::cam::uin/100015006748:uin/100015006748\u003c/DisplayName\u003e\n \u003c/Grantee\u003e\n \u003cPermission\u003eWRITE\u003c/Permission\u003e\n \u003c/Grant\u003e\n \u003cGrant\u003e\n \u003cGrantee type=\"CanonicalUser\"\u003e\n \u003cID\u003eqcs::cam::uin/100023201586:uin/100023201586\u003c/ID\u003e\n \u003cDisplayName\u003eqcs::cam::uin/100023201586:uin/100023201586\u003c/DisplayName\u003e\n \u003c/Grantee\u003e\n \u003cPermission\u003eFULL_CONTROL\u003c/Permission\u003e\n \u003c/Grant\u003e\n \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 region = \"ap-guangzhou\";\n\n var cdcId = \"cluster-262n63e8\";\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 $\"private-bucket-{appId}\"),\n Acl = \"private\",\n AclBody = @\"\u003cAccessControlPolicy\u003e\n \u003cOwner\u003e\n \u003cID\u003eqcs::cam::uin/100023201586:uin/100023201586\u003c/ID\u003e\n \u003cDisplayName\u003eqcs::cam::uin/100023201586:uin/100023201586\u003c/DisplayName\u003e\n \u003c/Owner\u003e\n \u003cAccessControlList\u003e\n \u003cGrant\u003e\n \u003cGrantee type=\"\"CanonicalUser\"\"\u003e\n \u003cID\u003eqcs::cam::uin/100015006748:uin/100015006748\u003c/ID\u003e\n \u003cDisplayName\u003eqcs::cam::uin/100015006748:uin/100015006748\u003c/DisplayName\u003e\n \u003c/Grantee\u003e\n \u003cPermission\u003eWRITE\u003c/Permission\u003e\n \u003c/Grant\u003e\n \u003cGrant\u003e\n \u003cGrantee type=\"\"CanonicalUser\"\"\u003e\n \u003cID\u003eqcs::cam::uin/100023201586:uin/100023201586\u003c/ID\u003e\n \u003cDisplayName\u003eqcs::cam::uin/100023201586:uin/100023201586\u003c/DisplayName\u003e\n \u003c/Grantee\u003e\n \u003cPermission\u003eFULL_CONTROL\u003c/Permission\u003e\n \u003c/Grant\u003e\n \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\t_ := \"ap-guangzhou\"\n\t\t_ := \"cluster-262n63e8\"\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(\"private-bucket-%v\", appId)),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t\tAclBody: pulumi.String(`\u003cAccessControlPolicy\u003e\n \u003cOwner\u003e\n \u003cID\u003eqcs::cam::uin/100023201586:uin/100023201586\u003c/ID\u003e\n \u003cDisplayName\u003eqcs::cam::uin/100023201586:uin/100023201586\u003c/DisplayName\u003e\n \u003c/Owner\u003e\n \u003cAccessControlList\u003e\n \u003cGrant\u003e\n \u003cGrantee type=\"CanonicalUser\"\u003e\n \u003cID\u003eqcs::cam::uin/100015006748:uin/100015006748\u003c/ID\u003e\n \u003cDisplayName\u003eqcs::cam::uin/100015006748:uin/100015006748\u003c/DisplayName\u003e\n \u003c/Grantee\u003e\n \u003cPermission\u003eWRITE\u003c/Permission\u003e\n \u003c/Grant\u003e\n \u003cGrant\u003e\n \u003cGrantee type=\"CanonicalUser\"\u003e\n \u003cID\u003eqcs::cam::uin/100023201586:uin/100023201586\u003c/ID\u003e\n \u003cDisplayName\u003eqcs::cam::uin/100023201586:uin/100023201586\u003c/DisplayName\u003e\n \u003c/Grantee\u003e\n \u003cPermission\u003eFULL_CONTROL\u003c/Permission\u003e\n \u003c/Grant\u003e\n \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 region = \"ap-guangzhou\";\n\n final var cdcId = \"cluster-262n63e8\";\n\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(\"private-bucket-%s\", appId))\n .acl(\"private\")\n .aclBody(\"\"\"\n\u003cAccessControlPolicy\u003e\n \u003cOwner\u003e\n \u003cID\u003eqcs::cam::uin/100023201586:uin/100023201586\u003c/ID\u003e\n \u003cDisplayName\u003eqcs::cam::uin/100023201586:uin/100023201586\u003c/DisplayName\u003e\n \u003c/Owner\u003e\n \u003cAccessControlList\u003e\n \u003cGrant\u003e\n \u003cGrantee type=\"CanonicalUser\"\u003e\n \u003cID\u003eqcs::cam::uin/100015006748:uin/100015006748\u003c/ID\u003e\n \u003cDisplayName\u003eqcs::cam::uin/100015006748:uin/100015006748\u003c/DisplayName\u003e\n \u003c/Grantee\u003e\n \u003cPermission\u003eWRITE\u003c/Permission\u003e\n \u003c/Grant\u003e\n \u003cGrant\u003e\n \u003cGrantee type=\"CanonicalUser\"\u003e\n \u003cID\u003eqcs::cam::uin/100023201586:uin/100023201586\u003c/ID\u003e\n \u003cDisplayName\u003eqcs::cam::uin/100023201586:uin/100023201586\u003c/DisplayName\u003e\n \u003c/Grantee\u003e\n \u003cPermission\u003eFULL_CONTROL\u003c/Permission\u003e\n \u003c/Grant\u003e\n \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: private-bucket-${appId}\n acl: private\n aclBody: |\n \u003cAccessControlPolicy\u003e\n \u003cOwner\u003e\n \u003cID\u003eqcs::cam::uin/100023201586:uin/100023201586\u003c/ID\u003e\n \u003cDisplayName\u003eqcs::cam::uin/100023201586:uin/100023201586\u003c/DisplayName\u003e\n \u003c/Owner\u003e\n \u003cAccessControlList\u003e\n \u003cGrant\u003e\n \u003cGrantee type=\"CanonicalUser\"\u003e\n \u003cID\u003eqcs::cam::uin/100015006748:uin/100015006748\u003c/ID\u003e\n \u003cDisplayName\u003eqcs::cam::uin/100015006748:uin/100015006748\u003c/DisplayName\u003e\n \u003c/Grantee\u003e\n \u003cPermission\u003eWRITE\u003c/Permission\u003e\n \u003c/Grant\u003e\n \u003cGrant\u003e\n \u003cGrantee type=\"CanonicalUser\"\u003e\n \u003cID\u003eqcs::cam::uin/100023201586:uin/100023201586\u003c/ID\u003e\n \u003cDisplayName\u003eqcs::cam::uin/100023201586:uin/100023201586\u003c/DisplayName\u003e\n \u003c/Grantee\u003e\n \u003cPermission\u003eFULL_CONTROL\u003c/Permission\u003e\n \u003c/Grant\u003e\n \u003c/AccessControlList\u003e\n \u003c/AccessControlPolicy\u003e\nvariables:\n region: ap-guangzhou\n cdcId: cluster-262n63e8\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 redirectAllRequestsTo: \"https\",\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 redirect_all_requests_to=\"https\",\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 RedirectAllRequestsTo = \"https\",\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\tRedirectAllRequestsTo: pulumi.String(\"https\"),\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 .redirectAllRequestsTo(\"https\")\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\n redirectAllRequestsTo: https\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 region = \"ap-guangzhou\";\nconst cdcId = \"cluster-262n63e8\";\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 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\nregion = \"ap-guangzhou\"\ncdc_id = \"cluster-262n63e8\"\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 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 region = \"ap-guangzhou\";\n\n var cdcId = \"cluster-262n63e8\";\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 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\t_ := \"ap-guangzhou\"\n\t\t_ := \"cluster-262n63e8\"\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\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 region = \"ap-guangzhou\";\n\n final var cdcId = \"cluster-262n63e8\";\n\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 .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 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 region: ap-guangzhou\n cdcId: cluster-262n63e8\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 region = \"ap-guangzhou\";\nconst cdcId = \"cluster-262n63e8\";\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: \"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\nregion = \"ap-guangzhou\"\ncdc_id = \"cluster-262n63e8\"\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=\"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 region = \"ap-guangzhou\";\n\n var cdcId = \"cluster-262n63e8\";\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 = \"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\t_ := \"ap-guangzhou\"\n\t\t_ := \"cluster-262n63e8\"\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(\"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 region = \"ap-guangzhou\";\n\n final var cdcId = \"cluster-262n63e8\";\n\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(\"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 acl: private\n lifecycleRules:\n - filterPrefix: path1/\n expiration:\n days: 90\nvariables:\n region: ap-guangzhou\n cdcId: cluster-262n63e8\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 +146417,10 @@ } } }, + "cdcId": { + "type": "string", + "description": "CDC cluster ID.\n" + }, "corsRules": { "type": "array", "items": { @@ -139632,7 +146438,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 +146452,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 +146553,11 @@ }, "willReplaceOnChanges": true }, + "cdcId": { + "type": "string", + "description": "CDC cluster ID.\n", + "willReplaceOnChanges": true + }, "corsRules": { "type": "array", "items": { @@ -139756,7 +146571,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 +146585,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 +146682,11 @@ }, "willReplaceOnChanges": true }, + "cdcId": { + "type": "string", + "description": "CDC cluster ID.\n", + "willReplaceOnChanges": true + }, "corsRules": { "type": "array", "items": { @@ -139880,7 +146704,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 +146718,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 +146791,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 +146840,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 +146889,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", @@ -140379,7 +147207,7 @@ }, "policy": { "type": "string", - "description": "The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023).\n" + "description": "The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023), The six-segment resource scenario example in the document is as follows: Example of specifying a bucket: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/*`; Example of specifying a folder: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/*`; Specified object example: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/exampleobject`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/exampleobject`.\n" } }, "required": [ @@ -140394,7 +147222,7 @@ }, "policy": { "type": "string", - "description": "The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023).\n" + "description": "The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023), The six-segment resource scenario example in the document is as follows: Example of specifying a bucket: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/*`; Example of specifying a folder: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/*`; Specified object example: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/exampleobject`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/exampleobject`.\n" } }, "requiredInputs": [ @@ -140411,14 +147239,14 @@ }, "policy": { "type": "string", - "description": "The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023).\n" + "description": "The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023), The six-segment resource scenario example in the document is as follows: Example of specifying a bucket: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/*`; Example of specifying a folder: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/*`; Specified object example: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/exampleobject`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/exampleobject`.\n" } }, "type": "object" } }, "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", @@ -140634,7 +147462,7 @@ }, "sourceUrl": { "type": "string", - "description": "Object key.\n" + "description": "Source url. In the CDC scenario, the CDC source url is used.\n" } }, "required": [ @@ -140655,7 +147483,7 @@ }, "sourceUrl": { "type": "string", - "description": "Object key.\n", + "description": "Source url. In the CDC scenario, the CDC source url is used.\n", "willReplaceOnChanges": true } }, @@ -140679,7 +147507,7 @@ }, "sourceUrl": { "type": "string", - "description": "Object key.\n", + "description": "Source url. In the CDC scenario, the CDC source url is used.\n", "willReplaceOnChanges": true } }, @@ -140752,7 +147580,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", @@ -143916,6 +150744,70 @@ "type": "object" } }, + "tencentcloud:Cvm/actionTimer:ActionTimer": { + "description": "Provides a resource to create a CVM instance action timer\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-6\";\nconst images = tencentcloud.Images.getInstance({\n imageTypes: [\"PUBLIC_IMAGE\"],\n imageNameRegex: \"TencentOS Server\",\n});\n// create vpc\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\n// create vpc subnet\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n vpcId: vpc.id,\n availabilityZone: availabilityZone,\n cidrBlock: \"10.0.20.0/28\",\n isMulticast: false,\n});\n// create cvm\nconst exampleInstance = new tencentcloud.instance.Instance(\"exampleInstance\", {\n instanceName: \"tf_example\",\n availabilityZone: availabilityZone,\n imageId: images.then(images =\u003e images.images?.[0]?.imageId),\n instanceType: \"SA3.MEDIUM4\",\n systemDiskType: \"CLOUD_HSSD\",\n systemDiskSize: 100,\n hostname: \"example\",\n projectId: 0,\n vpcId: vpc.id,\n subnetId: subnet.id,\n dataDisks: [{\n dataDiskType: \"CLOUD_HSSD\",\n dataDiskSize: 50,\n encrypt: false,\n }],\n tags: {\n createBy: \"terraform\",\n },\n});\n// create cvm action timer\nconst exampleActionTimer = new tencentcloud.cvm.ActionTimer(\"exampleActionTimer\", {\n instanceId: exampleInstance.id,\n actionTimer: {\n timerAction: \"TerminateInstances\",\n actionTime: \"2024-11-11T11:26:40Z\",\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-6\"\nimages = tencentcloud.Images.get_instance(image_types=[\"PUBLIC_IMAGE\"],\n image_name_regex=\"TencentOS Server\")\n# create vpc\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\n# create vpc subnet\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n vpc_id=vpc.id,\n availability_zone=availability_zone,\n cidr_block=\"10.0.20.0/28\",\n is_multicast=False)\n# create cvm\nexample_instance = tencentcloud.instance.Instance(\"exampleInstance\",\n instance_name=\"tf_example\",\n availability_zone=availability_zone,\n image_id=images.images[0].image_id,\n instance_type=\"SA3.MEDIUM4\",\n system_disk_type=\"CLOUD_HSSD\",\n system_disk_size=100,\n hostname=\"example\",\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_HSSD\",\n data_disk_size=50,\n encrypt=False,\n )],\n tags={\n \"createBy\": \"terraform\",\n })\n# create cvm action timer\nexample_action_timer = tencentcloud.cvm.ActionTimer(\"exampleActionTimer\",\n instance_id=example_instance.id,\n action_timer=tencentcloud.cvm.ActionTimerActionTimerArgs(\n timer_action=\"TerminateInstances\",\n action_time=\"2024-11-11T11:26:40Z\",\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-6\";\n var images = Tencentcloud.Images.GetInstance.Invoke(new()\n {\n ImageTypes = new[]\n {\n \"PUBLIC_IMAGE\",\n },\n ImageNameRegex = \"TencentOS Server\",\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 vpc subnet\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n VpcId = vpc.Id,\n AvailabilityZone = availabilityZone,\n CidrBlock = \"10.0.20.0/28\",\n IsMulticast = false,\n });\n\n // create cvm\n var exampleInstance = new Tencentcloud.Instance.Instance(\"exampleInstance\", new()\n {\n InstanceName = \"tf_example\",\n AvailabilityZone = availabilityZone,\n ImageId = images.Apply(getInstanceResult =\u003e getInstanceResult.Images[0]?.ImageId),\n InstanceType = \"SA3.MEDIUM4\",\n SystemDiskType = \"CLOUD_HSSD\",\n SystemDiskSize = 100,\n Hostname = \"example\",\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_HSSD\",\n DataDiskSize = 50,\n Encrypt = false,\n },\n },\n Tags = \n {\n { \"createBy\", \"terraform\" },\n },\n });\n\n // create cvm action timer\n var exampleActionTimer = new Tencentcloud.Cvm.ActionTimer(\"exampleActionTimer\", new()\n {\n InstanceId = exampleInstance.Id,\n CvmActionTimer = new Tencentcloud.Cvm.Inputs.ActionTimerActionTimerArgs\n {\n TimerAction = \"TerminateInstances\",\n ActionTime = \"2024-11-11T11:26:40Z\",\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/Cvm\"\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-6\"\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(\"TencentOS Server\"),\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 vpc 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.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 cvm\n\t\texampleInstance, err := Instance.NewInstance(ctx, \"exampleInstance\", \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(\"SA3.MEDIUM4\"),\n\t\t\tSystemDiskType: pulumi.String(\"CLOUD_HSSD\"),\n\t\t\tSystemDiskSize: pulumi.Int(100),\n\t\t\tHostname: pulumi.String(\"example\"),\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_HSSD\"),\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\"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 cvm action timer\n\t\t_, err = Cvm.NewActionTimer(ctx, \"exampleActionTimer\", \u0026Cvm.ActionTimerArgs{\n\t\t\tInstanceId: exampleInstance.ID(),\n\t\t\tActionTimer: \u0026cvm.ActionTimerActionTimerArgs{\n\t\t\t\tTimerAction: pulumi.String(\"TerminateInstances\"),\n\t\t\t\tActionTime: pulumi.String(\"2024-11-11T11:26:40Z\"),\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.Instance.Instance;\nimport com.pulumi.tencentcloud.Instance.InstanceArgs;\nimport com.pulumi.tencentcloud.Instance.inputs.InstanceDataDiskArgs;\nimport com.pulumi.tencentcloud.Cvm.ActionTimer;\nimport com.pulumi.tencentcloud.Cvm.ActionTimerArgs;\nimport com.pulumi.tencentcloud.Cvm.inputs.ActionTimerActionTimerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 images = ImagesFunctions.getInstance(GetInstanceArgs.builder()\n .imageTypes(\"PUBLIC_IMAGE\")\n .imageNameRegex(\"TencentOS Server\")\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 vpc subnet\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .vpcId(vpc.id())\n .availabilityZone(availabilityZone)\n .cidrBlock(\"10.0.20.0/28\")\n .isMulticast(false)\n .build());\n\n // create cvm\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .instanceName(\"tf_example\")\n .availabilityZone(availabilityZone)\n .imageId(images.applyValue(getInstanceResult -\u003e getInstanceResult.images()[0].imageId()))\n .instanceType(\"SA3.MEDIUM4\")\n .systemDiskType(\"CLOUD_HSSD\")\n .systemDiskSize(100)\n .hostname(\"example\")\n .projectId(0)\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .dataDisks(InstanceDataDiskArgs.builder()\n .dataDiskType(\"CLOUD_HSSD\")\n .dataDiskSize(50)\n .encrypt(false)\n .build())\n .tags(Map.of(\"createBy\", \"terraform\"))\n .build());\n\n // create cvm action timer\n var exampleActionTimer = new ActionTimer(\"exampleActionTimer\", ActionTimerArgs.builder() \n .instanceId(exampleInstance.id())\n .actionTimer(ActionTimerActionTimerArgs.builder()\n .timerAction(\"TerminateInstances\")\n .actionTime(\"2024-11-11T11:26:40Z\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\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: 10.0.0.0/16\n # create vpc subnet\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n vpcId: ${vpc.id}\n availabilityZone: ${availabilityZone}\n cidrBlock: 10.0.20.0/28\n isMulticast: false\n # create cvm\n exampleInstance:\n type: tencentcloud:Instance:Instance\n properties:\n instanceName: tf_example\n availabilityZone: ${availabilityZone}\n imageId: ${images.images[0].imageId}\n instanceType: SA3.MEDIUM4\n systemDiskType: CLOUD_HSSD\n systemDiskSize: 100\n hostname: example\n projectId: 0\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n dataDisks:\n - dataDiskType: CLOUD_HSSD\n dataDiskSize: 50\n encrypt: false\n tags:\n createBy: terraform\n # create cvm action timer\n exampleActionTimer:\n type: tencentcloud:Cvm:ActionTimer\n properties:\n instanceId: ${exampleInstance.id}\n actionTimer:\n timerAction: TerminateInstances\n actionTime: 2024-11-11T11:26:40Z\nvariables:\n images:\n fn::invoke:\n Function: tencentcloud:Images:getInstance\n Arguments:\n imageTypes:\n - PUBLIC_IMAGE\n imageNameRegex: TencentOS Server\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "properties": { + "actionTimer": { + "$ref": "#/types/tencentcloud:Cvm/ActionTimerActionTimer:ActionTimerActionTimer", + "description": "Scheduled tasks. This parameter can be used to specify scheduled tasks for instances, and currently only supports scheduled destruction.\n", + "language": { + "csharp": { + "name": "CvmActionTimer" + } + } + }, + "instanceId": { + "type": "string", + "description": "Instance ID.\n" + } + }, + "required": [ + "actionTimer", + "instanceId" + ], + "inputProperties": { + "actionTimer": { + "$ref": "#/types/tencentcloud:Cvm/ActionTimerActionTimer:ActionTimerActionTimer", + "description": "Scheduled tasks. This parameter can be used to specify scheduled tasks for instances, and currently only supports scheduled destruction.\n", + "language": { + "csharp": { + "name": "CvmActionTimer" + } + }, + "willReplaceOnChanges": true + }, + "instanceId": { + "type": "string", + "description": "Instance ID.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "actionTimer", + "instanceId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering ActionTimer resources.\n", + "properties": { + "actionTimer": { + "$ref": "#/types/tencentcloud:Cvm/ActionTimerActionTimer:ActionTimerActionTimer", + "description": "Scheduled tasks. This parameter can be used to specify scheduled tasks for instances, and currently only supports scheduled destruction.\n", + "language": { + "csharp": { + "name": "CvmActionTimer" + } + }, + "willReplaceOnChanges": true + }, + "instanceId": { + "type": "string", + "description": "Instance ID.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, "tencentcloud:Cvm/chcConfig:ChcConfig": { "description": "Provides a resource to create a cvm chc_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 chcConfig = new tencentcloud.cvm.ChcConfig(\"chcConfig\", {\n bmcSecurityGroupIds: [\"sg-xxxxxx\"],\n bmcUser: \"admin\",\n bmcVirtualPrivateCloud: {\n subnetId: \"subnet-xxxxxx\",\n vpcId: \"vpc-xxxxxx\",\n },\n chcId: \"chc-xxxxxx\",\n deploySecurityGroupIds: [\"sg-xxxxxx\"],\n deployVirtualPrivateCloud: {\n subnetId: \"subnet-xxxxxx\",\n vpcId: \"vpc-xxxxxx\",\n },\n instanceName: \"xxxxxx\",\n password: \"xxxxxx\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nchc_config = tencentcloud.cvm.ChcConfig(\"chcConfig\",\n bmc_security_group_ids=[\"sg-xxxxxx\"],\n bmc_user=\"admin\",\n bmc_virtual_private_cloud=tencentcloud.cvm.ChcConfigBmcVirtualPrivateCloudArgs(\n subnet_id=\"subnet-xxxxxx\",\n vpc_id=\"vpc-xxxxxx\",\n ),\n chc_id=\"chc-xxxxxx\",\n deploy_security_group_ids=[\"sg-xxxxxx\"],\n deploy_virtual_private_cloud=tencentcloud.cvm.ChcConfigDeployVirtualPrivateCloudArgs(\n subnet_id=\"subnet-xxxxxx\",\n vpc_id=\"vpc-xxxxxx\",\n ),\n instance_name=\"xxxxxx\",\n password=\"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 chcConfig = new Tencentcloud.Cvm.ChcConfig(\"chcConfig\", new()\n {\n BmcSecurityGroupIds = new[]\n {\n \"sg-xxxxxx\",\n },\n BmcUser = \"admin\",\n BmcVirtualPrivateCloud = new Tencentcloud.Cvm.Inputs.ChcConfigBmcVirtualPrivateCloudArgs\n {\n SubnetId = \"subnet-xxxxxx\",\n VpcId = \"vpc-xxxxxx\",\n },\n ChcId = \"chc-xxxxxx\",\n DeploySecurityGroupIds = new[]\n {\n \"sg-xxxxxx\",\n },\n DeployVirtualPrivateCloud = new Tencentcloud.Cvm.Inputs.ChcConfigDeployVirtualPrivateCloudArgs\n {\n SubnetId = \"subnet-xxxxxx\",\n VpcId = \"vpc-xxxxxx\",\n },\n InstanceName = \"xxxxxx\",\n Password = \"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/Cvm\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cvm.NewChcConfig(ctx, \"chcConfig\", \u0026Cvm.ChcConfigArgs{\n\t\t\tBmcSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sg-xxxxxx\"),\n\t\t\t},\n\t\t\tBmcUser: pulumi.String(\"admin\"),\n\t\t\tBmcVirtualPrivateCloud: \u0026cvm.ChcConfigBmcVirtualPrivateCloudArgs{\n\t\t\t\tSubnetId: pulumi.String(\"subnet-xxxxxx\"),\n\t\t\t\tVpcId: pulumi.String(\"vpc-xxxxxx\"),\n\t\t\t},\n\t\t\tChcId: pulumi.String(\"chc-xxxxxx\"),\n\t\t\tDeploySecurityGroupIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sg-xxxxxx\"),\n\t\t\t},\n\t\t\tDeployVirtualPrivateCloud: \u0026cvm.ChcConfigDeployVirtualPrivateCloudArgs{\n\t\t\t\tSubnetId: pulumi.String(\"subnet-xxxxxx\"),\n\t\t\t\tVpcId: pulumi.String(\"vpc-xxxxxx\"),\n\t\t\t},\n\t\t\tInstanceName: pulumi.String(\"xxxxxx\"),\n\t\t\tPassword: pulumi.String(\"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.Cvm.ChcConfig;\nimport com.pulumi.tencentcloud.Cvm.ChcConfigArgs;\nimport com.pulumi.tencentcloud.Cvm.inputs.ChcConfigBmcVirtualPrivateCloudArgs;\nimport com.pulumi.tencentcloud.Cvm.inputs.ChcConfigDeployVirtualPrivateCloudArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 chcConfig = new ChcConfig(\"chcConfig\", ChcConfigArgs.builder() \n .bmcSecurityGroupIds(\"sg-xxxxxx\")\n .bmcUser(\"admin\")\n .bmcVirtualPrivateCloud(ChcConfigBmcVirtualPrivateCloudArgs.builder()\n .subnetId(\"subnet-xxxxxx\")\n .vpcId(\"vpc-xxxxxx\")\n .build())\n .chcId(\"chc-xxxxxx\")\n .deploySecurityGroupIds(\"sg-xxxxxx\")\n .deployVirtualPrivateCloud(ChcConfigDeployVirtualPrivateCloudArgs.builder()\n .subnetId(\"subnet-xxxxxx\")\n .vpcId(\"vpc-xxxxxx\")\n .build())\n .instanceName(\"xxxxxx\")\n .password(\"xxxxxx\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n chcConfig:\n type: tencentcloud:Cvm:ChcConfig\n properties:\n bmcSecurityGroupIds:\n - sg-xxxxxx\n bmcUser: admin\n bmcVirtualPrivateCloud:\n subnetId: subnet-xxxxxx\n vpcId: vpc-xxxxxx\n chcId: chc-xxxxxx\n deploySecurityGroupIds:\n - sg-xxxxxx\n deployVirtualPrivateCloud:\n subnetId: subnet-xxxxxx\n vpcId: vpc-xxxxxx\n instanceName: xxxxxx\n password: xxxxxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\ncvm chc_config can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Cvm/chcConfig:ChcConfig chc_config chc_config_id\n```\n\n", "properties": { @@ -146686,7 +153578,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 +153626,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 +153688,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 +153705,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 +153774,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 +153819,7 @@ "instanceName", "instanceStatus", "instanceStorageSize", + "paramTemplateId", "password", "prarmTemplateId", "roGroupAddrs", @@ -146970,7 +153872,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,13 +153919,16 @@ "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", "description": "Password of `root` account.\n", - "secret": true, - "willReplaceOnChanges": true + "secret": true }, "port": { "type": "integer", @@ -147032,7 +153937,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 +153968,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 +154057,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,13 +154120,16 @@ "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", "description": "Password of `root` account.\n", - "secret": true, - "willReplaceOnChanges": true + "secret": true }, "port": { "type": "integer", @@ -147225,7 +154138,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 +154209,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 +157598,7 @@ }, "email": { "type": "string", - "description": "Email.\n" + "description": "Email. Please provide at least one of `phone` or `email`.\n" }, "groupIdSets": { "type": "array", @@ -150691,7 +157609,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 +157650,7 @@ }, "email": { "type": "string", - "description": "Email.\n" + "description": "Email. Please provide at least one of `phone` or `email`.\n" }, "groupIdSets": { "type": "array", @@ -150743,7 +157661,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 +157701,7 @@ }, "email": { "type": "string", - "description": "Email.\n" + "description": "Email. Please provide at least one of `phone` or `email`.\n" }, "groupIdSets": { "type": "array", @@ -150794,7 +157712,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 +167253,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 +167334,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 +167401,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 +167740,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 +167758,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 +167790,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 +167858,14 @@ "elasticsearchPort", "elasticsearchVip", "esAcl", + "kibanaPublicAccess", "kibanaUrl", "multiZoneInfos", "nodeInfoLists", "password", "version", - "vpcId" + "vpcId", + "webNodeTypeInfos" ], "inputProperties": { "availabilityZone": { @@ -160947,6 +167887,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 +167904,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 +167994,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 +168027,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 +168936,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", @@ -162025,9 +168985,16 @@ "$ref": "#/types/tencentcloud:Emr/ClusterPlacementInfo:ClusterPlacementInfo", "description": "The location of the instance.\n" }, + "preExecutedFileSettings": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Emr/ClusterPreExecutedFileSetting:ClusterPreExecutedFileSetting" + }, + "description": "Pre executed file settings. It can only be set at the time of creation, and cannot be modified.\n" + }, "productId": { "type": "integer", - "description": "Product ID. Different products ID represents different EMR product versions. Value range:\n- 16: represents EMR-V2.3.0\n- 20: indicates EMR-V2.5.0\n- 25: represents EMR-V3.1.0\n- 27: represents KAFKA-V1.0.0\n- 30: indicates EMR-V2.6.0\n- 33: represents EMR-V3.2.1\n- 34: stands for EMR-V3.3.0\n- 36: represents STARROCKS-V1.0.0\n- 37: indicates EMR-V3.4.0\n- 38: represents EMR-V2.7.0\n- 39: stands for STARROCKS-V1.1.0\n- 41: represents DRUID-V1.1.0.\n" + "description": "Product ID. Different products ID represents different EMR product versions. Value range:\n- 16: represents EMR-V2.3.0\n- 20: represents EMR-V2.5.0\n- 25: represents EMR-V3.1.0\n- 27: represents KAFKA-V1.0.0\n- 30: represents EMR-V2.6.0\n- 33: represents EMR-V3.2.1\n- 34: represents EMR-V3.3.0\n- 37: represents EMR-V3.4.0\n- 38: represents EMR-V2.7.0\n- 44: represents EMR-V3.5.0\n- 50: represents KAFKA-V2.0.0\n- 51: represents STARROCKS-V1.4.0\n- 53: represents EMR-V3.6.0\n- 54: represents STARROCKS-V2.0.0.\n" }, "resourceSpec": { "$ref": "#/types/tencentcloud:Emr/ClusterResourceSpec:ClusterResourceSpec", @@ -162055,6 +169022,13 @@ }, "description": "Tag description list.\n" }, + "terminateNodeInfos": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Emr/ClusterTerminateNodeInfo:ClusterTerminateNodeInfo" + }, + "description": "Terminate nodes. Note: it only works when the number of nodes decreases.\n" + }, "timeSpan": { "type": "integer", "description": "The length of time the instance was purchased. Use with TimeUnit.When TimeUnit is s, the parameter can only be filled in at 3600, representing a metered instance.\nWhen TimeUnit is m, the number filled in by this parameter indicates the length of purchase of the monthly instance of the package year, such as 1 for one month of purchase.\n" @@ -162072,6 +169046,7 @@ } }, "required": [ + "autoRenew", "instanceId", "instanceName", "payMode", @@ -162084,6 +169059,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", @@ -162127,9 +169106,17 @@ "$ref": "#/types/tencentcloud:Emr/ClusterPlacementInfo:ClusterPlacementInfo", "description": "The location of the instance.\n" }, + "preExecutedFileSettings": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Emr/ClusterPreExecutedFileSetting:ClusterPreExecutedFileSetting" + }, + "description": "Pre executed file settings. It can only be set at the time of creation, and cannot be modified.\n", + "willReplaceOnChanges": true + }, "productId": { "type": "integer", - "description": "Product ID. Different products ID represents different EMR product versions. Value range:\n- 16: represents EMR-V2.3.0\n- 20: indicates EMR-V2.5.0\n- 25: represents EMR-V3.1.0\n- 27: represents KAFKA-V1.0.0\n- 30: indicates EMR-V2.6.0\n- 33: represents EMR-V3.2.1\n- 34: stands for EMR-V3.3.0\n- 36: represents STARROCKS-V1.0.0\n- 37: indicates EMR-V3.4.0\n- 38: represents EMR-V2.7.0\n- 39: stands for STARROCKS-V1.1.0\n- 41: represents DRUID-V1.1.0.\n", + "description": "Product ID. Different products ID represents different EMR product versions. Value range:\n- 16: represents EMR-V2.3.0\n- 20: represents EMR-V2.5.0\n- 25: represents EMR-V3.1.0\n- 27: represents KAFKA-V1.0.0\n- 30: represents EMR-V2.6.0\n- 33: represents EMR-V3.2.1\n- 34: represents EMR-V3.3.0\n- 37: represents EMR-V3.4.0\n- 38: represents EMR-V2.7.0\n- 44: represents EMR-V3.5.0\n- 50: represents KAFKA-V2.0.0\n- 51: represents STARROCKS-V1.4.0\n- 53: represents EMR-V3.6.0\n- 54: represents STARROCKS-V2.0.0.\n", "willReplaceOnChanges": true }, "resourceSpec": { @@ -162161,6 +169148,13 @@ }, "description": "Tag description list.\n" }, + "terminateNodeInfos": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Emr/ClusterTerminateNodeInfo:ClusterTerminateNodeInfo" + }, + "description": "Terminate nodes. Note: it only works when the number of nodes decreases.\n" + }, "timeSpan": { "type": "integer", "description": "The length of time the instance was purchased. Use with TimeUnit.When TimeUnit is s, the parameter can only be filled in at 3600, representing a metered instance.\nWhen TimeUnit is m, the number filled in by this parameter indicates the length of purchase of the monthly instance of the package year, such as 1 for one month of purchase.\n" @@ -162189,6 +169183,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", @@ -162236,9 +169234,17 @@ "$ref": "#/types/tencentcloud:Emr/ClusterPlacementInfo:ClusterPlacementInfo", "description": "The location of the instance.\n" }, + "preExecutedFileSettings": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Emr/ClusterPreExecutedFileSetting:ClusterPreExecutedFileSetting" + }, + "description": "Pre executed file settings. It can only be set at the time of creation, and cannot be modified.\n", + "willReplaceOnChanges": true + }, "productId": { "type": "integer", - "description": "Product ID. Different products ID represents different EMR product versions. Value range:\n- 16: represents EMR-V2.3.0\n- 20: indicates EMR-V2.5.0\n- 25: represents EMR-V3.1.0\n- 27: represents KAFKA-V1.0.0\n- 30: indicates EMR-V2.6.0\n- 33: represents EMR-V3.2.1\n- 34: stands for EMR-V3.3.0\n- 36: represents STARROCKS-V1.0.0\n- 37: indicates EMR-V3.4.0\n- 38: represents EMR-V2.7.0\n- 39: stands for STARROCKS-V1.1.0\n- 41: represents DRUID-V1.1.0.\n", + "description": "Product ID. Different products ID represents different EMR product versions. Value range:\n- 16: represents EMR-V2.3.0\n- 20: represents EMR-V2.5.0\n- 25: represents EMR-V3.1.0\n- 27: represents KAFKA-V1.0.0\n- 30: represents EMR-V2.6.0\n- 33: represents EMR-V3.2.1\n- 34: represents EMR-V3.3.0\n- 37: represents EMR-V3.4.0\n- 38: represents EMR-V2.7.0\n- 44: represents EMR-V3.5.0\n- 50: represents KAFKA-V2.0.0\n- 51: represents STARROCKS-V1.4.0\n- 53: represents EMR-V3.6.0\n- 54: represents STARROCKS-V2.0.0.\n", "willReplaceOnChanges": true }, "resourceSpec": { @@ -162270,6 +169276,13 @@ }, "description": "Tag description list.\n" }, + "terminateNodeInfos": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Emr/ClusterTerminateNodeInfo:ClusterTerminateNodeInfo" + }, + "description": "Terminate nodes. Note: it only works when the number of nodes decreases.\n" + }, "timeSpan": { "type": "integer", "description": "The length of time the instance was purchased. Use with TimeUnit.When TimeUnit is s, the parameter can only be filled in at 3600, representing a metered instance.\nWhen TimeUnit is m, the number filled in by this parameter indicates the length of purchase of the monthly instance of the package year, such as 1 for one month of purchase.\n" @@ -162457,6 +169470,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 +169540,7 @@ } }, "required": [ + "cdcId", "createTime", "ipv4Infos", "mac", @@ -162585,6 +169603,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" @@ -162872,6 +169894,101 @@ "type": "object" } }, + "tencentcloud:Events/auditTrack:AuditTrack": { + "description": "Provides a resource to create events audit track\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.events.AuditTrack(\"example\", {\n filters: {\n resourceFields: [\n {\n actionType: \"*\",\n eventNames: [\n \"AddSubAccount\",\n \"AddSubAccountCheckingMFA\",\n ],\n resourceType: \"cam\",\n },\n {\n actionType: \"*\",\n eventNames: [\"*\"],\n resourceType: \"cvm\",\n },\n {\n actionType: \"*\",\n eventNames: [\"*\"],\n resourceType: \"tke\",\n },\n ],\n },\n status: 1,\n storage: {\n storageName: \"393953ac-5c1b-457d-911d-376271b1b4f2\",\n storagePrefix: \"cloudaudit\",\n storageRegion: \"ap-guangzhou\",\n storageType: \"cls\",\n },\n trackForAllMembers: 0,\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.events.AuditTrack(\"example\",\n filters=tencentcloud.events.AuditTrackFiltersArgs(\n resource_fields=[\n tencentcloud.events.AuditTrackFiltersResourceFieldArgs(\n action_type=\"*\",\n event_names=[\n \"AddSubAccount\",\n \"AddSubAccountCheckingMFA\",\n ],\n resource_type=\"cam\",\n ),\n tencentcloud.events.AuditTrackFiltersResourceFieldArgs(\n action_type=\"*\",\n event_names=[\"*\"],\n resource_type=\"cvm\",\n ),\n tencentcloud.events.AuditTrackFiltersResourceFieldArgs(\n action_type=\"*\",\n event_names=[\"*\"],\n resource_type=\"tke\",\n ),\n ],\n ),\n status=1,\n storage=tencentcloud.events.AuditTrackStorageArgs(\n storage_name=\"393953ac-5c1b-457d-911d-376271b1b4f2\",\n storage_prefix=\"cloudaudit\",\n storage_region=\"ap-guangzhou\",\n storage_type=\"cls\",\n ),\n track_for_all_members=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 example = new Tencentcloud.Events.AuditTrack(\"example\", new()\n {\n Filters = new Tencentcloud.Events.Inputs.AuditTrackFiltersArgs\n {\n ResourceFields = new[]\n {\n new Tencentcloud.Events.Inputs.AuditTrackFiltersResourceFieldArgs\n {\n ActionType = \"*\",\n EventNames = new[]\n {\n \"AddSubAccount\",\n \"AddSubAccountCheckingMFA\",\n },\n ResourceType = \"cam\",\n },\n new Tencentcloud.Events.Inputs.AuditTrackFiltersResourceFieldArgs\n {\n ActionType = \"*\",\n EventNames = new[]\n {\n \"*\",\n },\n ResourceType = \"cvm\",\n },\n new Tencentcloud.Events.Inputs.AuditTrackFiltersResourceFieldArgs\n {\n ActionType = \"*\",\n EventNames = new[]\n {\n \"*\",\n },\n ResourceType = \"tke\",\n },\n },\n },\n Status = 1,\n Storage = new Tencentcloud.Events.Inputs.AuditTrackStorageArgs\n {\n StorageName = \"393953ac-5c1b-457d-911d-376271b1b4f2\",\n StoragePrefix = \"cloudaudit\",\n StorageRegion = \"ap-guangzhou\",\n StorageType = \"cls\",\n },\n TrackForAllMembers = 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/Events\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Events.NewAuditTrack(ctx, \"example\", \u0026Events.AuditTrackArgs{\n\t\t\tFilters: \u0026events.AuditTrackFiltersArgs{\n\t\t\t\tResourceFields: events.AuditTrackFiltersResourceFieldArray{\n\t\t\t\t\t\u0026events.AuditTrackFiltersResourceFieldArgs{\n\t\t\t\t\t\tActionType: pulumi.String(\"*\"),\n\t\t\t\t\t\tEventNames: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"AddSubAccount\"),\n\t\t\t\t\t\t\tpulumi.String(\"AddSubAccountCheckingMFA\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tResourceType: pulumi.String(\"cam\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026events.AuditTrackFiltersResourceFieldArgs{\n\t\t\t\t\t\tActionType: pulumi.String(\"*\"),\n\t\t\t\t\t\tEventNames: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tResourceType: pulumi.String(\"cvm\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026events.AuditTrackFiltersResourceFieldArgs{\n\t\t\t\t\t\tActionType: pulumi.String(\"*\"),\n\t\t\t\t\t\tEventNames: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tResourceType: pulumi.String(\"tke\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tStatus: pulumi.Int(1),\n\t\t\tStorage: \u0026events.AuditTrackStorageArgs{\n\t\t\t\tStorageName: pulumi.String(\"393953ac-5c1b-457d-911d-376271b1b4f2\"),\n\t\t\t\tStoragePrefix: pulumi.String(\"cloudaudit\"),\n\t\t\t\tStorageRegion: pulumi.String(\"ap-guangzhou\"),\n\t\t\t\tStorageType: pulumi.String(\"cls\"),\n\t\t\t},\n\t\t\tTrackForAllMembers: 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.Events.AuditTrack;\nimport com.pulumi.tencentcloud.Events.AuditTrackArgs;\nimport com.pulumi.tencentcloud.Events.inputs.AuditTrackFiltersArgs;\nimport com.pulumi.tencentcloud.Events.inputs.AuditTrackStorageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 AuditTrack(\"example\", AuditTrackArgs.builder() \n .filters(AuditTrackFiltersArgs.builder()\n .resourceFields( \n AuditTrackFiltersResourceFieldArgs.builder()\n .actionType(\"*\")\n .eventNames( \n \"AddSubAccount\",\n \"AddSubAccountCheckingMFA\")\n .resourceType(\"cam\")\n .build(),\n AuditTrackFiltersResourceFieldArgs.builder()\n .actionType(\"*\")\n .eventNames(\"*\")\n .resourceType(\"cvm\")\n .build(),\n AuditTrackFiltersResourceFieldArgs.builder()\n .actionType(\"*\")\n .eventNames(\"*\")\n .resourceType(\"tke\")\n .build())\n .build())\n .status(1)\n .storage(AuditTrackStorageArgs.builder()\n .storageName(\"393953ac-5c1b-457d-911d-376271b1b4f2\")\n .storagePrefix(\"cloudaudit\")\n .storageRegion(\"ap-guangzhou\")\n .storageType(\"cls\")\n .build())\n .trackForAllMembers(0)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Events:AuditTrack\n properties:\n filters:\n resourceFields:\n - actionType: '*'\n eventNames:\n - AddSubAccount\n - AddSubAccountCheckingMFA\n resourceType: cam\n - actionType: '*'\n eventNames:\n - '*'\n resourceType: cvm\n - actionType: '*'\n eventNames:\n - '*'\n resourceType: tke\n status: 1\n storage:\n storageName: 393953ac-5c1b-457d-911d-376271b1b4f2\n storagePrefix: cloudaudit\n storageRegion: ap-guangzhou\n storageType: cls\n trackForAllMembers: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nevents audit track can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Events/auditTrack:AuditTrack example 24283\n```\n", + "properties": { + "filters": { + "$ref": "#/types/tencentcloud:Events/AuditTrackFilters:AuditTrackFilters", + "description": "Data filtering criteria.\n" + }, + "name": { + "type": "string", + "description": "Tracking set name, which can only contain 3-48 letters, digits, hyphens, and underscores.\n" + }, + "status": { + "type": "integer", + "description": "Tracking set status (0: Not enabled; 1: Enabled).\n" + }, + "storage": { + "$ref": "#/types/tencentcloud:Events/AuditTrackStorage:AuditTrackStorage", + "description": "Storage type of shipped data. Valid values: `cos`, `cls`.\n" + }, + "trackForAllMembers": { + "type": "integer", + "description": "Whether to enable the feature of shipping organization members operation logs to the organization admin account or the trusted service admin account (0: Not enabled; 1: Enabled. This feature can only be enabled by the organization admin account or the trusted service admin account).\n" + }, + "trackId": { + "type": "integer", + "description": "Whether the log list has come to an end. `true`: Yes. Pagination is not required.\n" + } + }, + "required": [ + "filters", + "name", + "status", + "storage", + "trackId" + ], + "inputProperties": { + "filters": { + "$ref": "#/types/tencentcloud:Events/AuditTrackFilters:AuditTrackFilters", + "description": "Data filtering criteria.\n" + }, + "name": { + "type": "string", + "description": "Tracking set name, which can only contain 3-48 letters, digits, hyphens, and underscores.\n", + "willReplaceOnChanges": true + }, + "status": { + "type": "integer", + "description": "Tracking set status (0: Not enabled; 1: Enabled).\n" + }, + "storage": { + "$ref": "#/types/tencentcloud:Events/AuditTrackStorage:AuditTrackStorage", + "description": "Storage type of shipped data. Valid values: `cos`, `cls`.\n" + }, + "trackForAllMembers": { + "type": "integer", + "description": "Whether to enable the feature of shipping organization members operation logs to the organization admin account or the trusted service admin account (0: Not enabled; 1: Enabled. This feature can only be enabled by the organization admin account or the trusted service admin account).\n" + } + }, + "requiredInputs": [ + "filters", + "status", + "storage" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering AuditTrack resources.\n", + "properties": { + "filters": { + "$ref": "#/types/tencentcloud:Events/AuditTrackFilters:AuditTrackFilters", + "description": "Data filtering criteria.\n" + }, + "name": { + "type": "string", + "description": "Tracking set name, which can only contain 3-48 letters, digits, hyphens, and underscores.\n", + "willReplaceOnChanges": true + }, + "status": { + "type": "integer", + "description": "Tracking set status (0: Not enabled; 1: Enabled).\n" + }, + "storage": { + "$ref": "#/types/tencentcloud:Events/AuditTrackStorage:AuditTrackStorage", + "description": "Storage type of shipped data. Valid values: `cos`, `cls`.\n" + }, + "trackForAllMembers": { + "type": "integer", + "description": "Whether to enable the feature of shipping organization members operation logs to the organization admin account or the trusted service admin account (0: Not enabled; 1: Enabled. This feature can only be enabled by the organization admin account or the trusted service admin account).\n" + }, + "trackId": { + "type": "integer", + "description": "Whether the log list has come to an end. `true`: Yes. Pagination is not required.\n" + } + }, + "type": "object" + } + }, "tencentcloud:Gaap/certificate:Certificate": { "description": "Provides a resource to create a certificate 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 foo = new tencentcloud.gaap.Certificate(\"foo\", {\n content: \"test:tx2KGdo3zJg/.\",\n type: \"BASIC\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nfoo = tencentcloud.gaap.Certificate(\"foo\",\n content=\"test:tx2KGdo3zJg/.\",\n type=\"BASIC\")\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.Gaap.Certificate(\"foo\", new()\n {\n Content = \"test:tx2KGdo3zJg/.\",\n Type = \"BASIC\",\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\t_, err := Gaap.NewCertificate(ctx, \"foo\", \u0026Gaap.CertificateArgs{\n\t\t\tContent: pulumi.String(\"test:tx2KGdo3zJg/.\"),\n\t\t\tType: pulumi.String(\"BASIC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Gaap.Certificate;\nimport com.pulumi.tencentcloud.Gaap.CertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 Certificate(\"foo\", CertificateArgs.builder() \n .content(\"test:tx2KGdo3zJg/.\")\n .type(\"BASIC\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: tencentcloud:Gaap:Certificate\n properties:\n content: test:tx2KGdo3zJg/.\n type: BASIC\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGAAP certificate can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Gaap/certificate:Certificate tencentcloud_gaap_certificate.foo cert-d5y6ei3b\n```\n\n", "properties": { @@ -163405,6 +170522,14 @@ "type": "string", "description": "ID of the SSL certificate.\n" }, + "groupId": { + "type": "string", + "description": "Group Id.\n" + }, + "isDefaultServer": { + "type": "boolean", + "description": "Whether to use as the default domain name, the default is false.\n" + }, "listenerId": { "type": "string", "description": "ID of the layer7 listener.\n" @@ -163479,6 +170604,15 @@ "type": "string", "description": "ID of the SSL certificate.\n" }, + "groupId": { + "type": "string", + "description": "Group Id.\n", + "willReplaceOnChanges": true + }, + "isDefaultServer": { + "type": "boolean", + "description": "Whether to use as the default domain name, the default is false.\n" + }, "listenerId": { "type": "string", "description": "ID of the layer7 listener.\n", @@ -163549,6 +170683,15 @@ "type": "string", "description": "ID of the SSL certificate.\n" }, + "groupId": { + "type": "string", + "description": "Group Id.\n", + "willReplaceOnChanges": true + }, + "isDefaultServer": { + "type": "boolean", + "description": "Whether to use as the default domain name, the default is false.\n" + }, "listenerId": { "type": "string", "description": "ID of the layer7 listener.\n", @@ -163815,13 +170958,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 +170984,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 +171021,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 +171072,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 +171121,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 +171147,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 +171162,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 +171174,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 +171215,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" @@ -164038,6 +171270,10 @@ "type": "string", "description": "Protocol type of the forwarding. Valid value: `HTTP` and `HTTPS`. NOTES: Only supports listeners of `HTTPS` protocol.\n" }, + "groupId": { + "type": "string", + "description": "Group ID.\n" + }, "name": { "type": "string", "description": "Name of the layer7 listener, the maximum length is 30.\n" @@ -164057,6 +171293,17 @@ "status": { "type": "integer", "description": "Status of the layer7 listener.\n" + }, + "tlsCiphers": { + "type": "string", + "description": "Password Suite, optional GAAP_TLS_CIPHERS_STRICT, GAAP_TLS_CIPHERS_GENERAL, GAAP_TLS_CIPHERS_WIDE(default).\n" + }, + "tlsSupportVersions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "TLS version, optional TLSv1, TLSv1.1, TLSv1.2, TLSv1.3.\n" } }, "required": [ @@ -164066,8 +171313,9 @@ "name", "port", "protocol", - "proxyId", - "status" + "status", + "tlsCiphers", + "tlsSupportVersions" ], "inputProperties": { "authType": { @@ -164096,6 +171344,11 @@ "description": "Protocol type of the forwarding. Valid value: `HTTP` and `HTTPS`. NOTES: Only supports listeners of `HTTPS` protocol.\n", "willReplaceOnChanges": true }, + "groupId": { + "type": "string", + "description": "Group ID.\n", + "willReplaceOnChanges": true + }, "name": { "type": "string", "description": "Name of the layer7 listener, the maximum length is 30.\n" @@ -164114,12 +171367,22 @@ "type": "string", "description": "ID of the GAAP proxy.\n", "willReplaceOnChanges": true + }, + "tlsCiphers": { + "type": "string", + "description": "Password Suite, optional GAAP_TLS_CIPHERS_STRICT, GAAP_TLS_CIPHERS_GENERAL, GAAP_TLS_CIPHERS_WIDE(default).\n" + }, + "tlsSupportVersions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "TLS version, optional TLSv1, TLSv1.1, TLSv1.2, TLSv1.3.\n" } }, "requiredInputs": [ "port", - "protocol", - "proxyId" + "protocol" ], "stateInputs": { "description": "Input properties used for looking up and filtering Layer7Listener resources.\n", @@ -164154,6 +171417,11 @@ "description": "Protocol type of the forwarding. Valid value: `HTTP` and `HTTPS`. NOTES: Only supports listeners of `HTTPS` protocol.\n", "willReplaceOnChanges": true }, + "groupId": { + "type": "string", + "description": "Group ID.\n", + "willReplaceOnChanges": true + }, "name": { "type": "string", "description": "Name of the layer7 listener, the maximum length is 30.\n" @@ -164176,6 +171444,17 @@ "status": { "type": "integer", "description": "Status of the layer7 listener.\n" + }, + "tlsCiphers": { + "type": "string", + "description": "Password Suite, optional GAAP_TLS_CIPHERS_STRICT, GAAP_TLS_CIPHERS_GENERAL, GAAP_TLS_CIPHERS_WIDE(default).\n" + }, + "tlsSupportVersions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "TLS version, optional TLSv1, TLSv1.1, TLSv1.2, TLSv1.3.\n" } }, "type": "object" @@ -164919,8 +172198,1388 @@ "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/centerRoleConfigurationPermissionCustomPoliciesAttachment:CenterRoleConfigurationPermissionCustomPoliciesAttachment": { + "description": "Provides a resource to create a organization tencentcloud.Identity.CenterRoleConfigurationPermissionCustomPoliciesAttachment\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 identityCenterRoleConfigurationPermissionCustomPoliciesAttachment = new tencentcloud.identity.CenterRoleConfigurationPermissionCustomPoliciesAttachment(\"identityCenterRoleConfigurationPermissionCustomPoliciesAttachment\", {\n zoneId: \"z-xxxxxx\",\n roleConfigurationId: \"rc-xxxxxx\",\n policies: [\n {\n rolePolicyName: \"CustomPolicy2\",\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 rolePolicyName: \"CustomPolicy1\",\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```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nidentity_center_role_configuration_permission_custom_policies_attachment = tencentcloud.identity.CenterRoleConfigurationPermissionCustomPoliciesAttachment(\"identityCenterRoleConfigurationPermissionCustomPoliciesAttachment\",\n zone_id=\"z-xxxxxx\",\n role_configuration_id=\"rc-xxxxxx\",\n policies=[\n tencentcloud.identity.CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs(\n role_policy_name=\"CustomPolicy2\",\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 tencentcloud.identity.CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs(\n role_policy_name=\"CustomPolicy1\",\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 ])\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 identityCenterRoleConfigurationPermissionCustomPoliciesAttachment = new Tencentcloud.Identity.CenterRoleConfigurationPermissionCustomPoliciesAttachment(\"identityCenterRoleConfigurationPermissionCustomPoliciesAttachment\", new()\n {\n ZoneId = \"z-xxxxxx\",\n RoleConfigurationId = \"rc-xxxxxx\",\n Policies = new[]\n {\n new Tencentcloud.Identity.Inputs.CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs\n {\n RolePolicyName = \"CustomPolicy2\",\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 new Tencentcloud.Identity.Inputs.CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs\n {\n RolePolicyName = \"CustomPolicy1\",\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});\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.NewCenterRoleConfigurationPermissionCustomPoliciesAttachment(ctx, \"identityCenterRoleConfigurationPermissionCustomPoliciesAttachment\", \u0026Identity.CenterRoleConfigurationPermissionCustomPoliciesAttachmentArgs{\n\t\t\tZoneId: pulumi.String(\"z-xxxxxx\"),\n\t\t\tRoleConfigurationId: pulumi.String(\"rc-xxxxxx\"),\n\t\t\tPolicies: identity.CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArray{\n\t\t\t\t\u0026identity.CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs{\n\t\t\t\t\tRolePolicyName: pulumi.String(\"CustomPolicy2\"),\n\t\t\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\t\t},\n\t\t\t\t\u0026identity.CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs{\n\t\t\t\t\tRolePolicyName: pulumi.String(\"CustomPolicy1\"),\n\t\t\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\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.Identity.CenterRoleConfigurationPermissionCustomPoliciesAttachment;\nimport com.pulumi.tencentcloud.Identity.CenterRoleConfigurationPermissionCustomPoliciesAttachmentArgs;\nimport com.pulumi.tencentcloud.Identity.inputs.CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 identityCenterRoleConfigurationPermissionCustomPoliciesAttachment = new CenterRoleConfigurationPermissionCustomPoliciesAttachment(\"identityCenterRoleConfigurationPermissionCustomPoliciesAttachment\", CenterRoleConfigurationPermissionCustomPoliciesAttachmentArgs.builder() \n .zoneId(\"z-xxxxxx\")\n .roleConfigurationId(\"rc-xxxxxx\")\n .policies( \n CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs.builder()\n .rolePolicyName(\"CustomPolicy2\")\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 CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs.builder()\n .rolePolicyName(\"CustomPolicy1\")\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 .build());\n\n }\n}\n```\n```yaml\nresources:\n identityCenterRoleConfigurationPermissionCustomPoliciesAttachment:\n type: tencentcloud:Identity:CenterRoleConfigurationPermissionCustomPoliciesAttachment\n properties:\n zoneId: z-xxxxxx\n roleConfigurationId: rc-xxxxxx\n policies:\n - rolePolicyName: CustomPolicy2\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 - rolePolicyName: CustomPolicy1\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 tencentcloud_identity_center_role_configuration_permission_custom_policies_attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Identity/centerRoleConfigurationPermissionCustomPoliciesAttachment:CenterRoleConfigurationPermissionCustomPoliciesAttachment identity_center_role_configuration_permission_custom_policies_attachment ${zoneId}#${roleConfigurationId}#${rolePolicyName1},...${rolePolicyNameN}\n```\n\n", + "properties": { + "policies": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Identity/CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicy:CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicy" + }, + "description": "Policies.\n" + }, + "roleConfigurationId": { + "type": "string", + "description": "Permission configuration ID.\n" + }, + "zoneId": { + "type": "string", + "description": "Space ID.\n" + } + }, + "required": [ + "policies", + "roleConfigurationId", + "zoneId" + ], + "inputProperties": { + "policies": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Identity/CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicy:CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicy" + }, + "description": "Policies.\n", + "willReplaceOnChanges": true + }, + "roleConfigurationId": { + "type": "string", + "description": "Permission configuration ID.\n", + "willReplaceOnChanges": true + }, + "zoneId": { + "type": "string", + "description": "Space ID.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "policies", + "roleConfigurationId", + "zoneId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering CenterRoleConfigurationPermissionCustomPoliciesAttachment resources.\n", + "properties": { + "policies": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Identity/CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicy:CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicy" + }, + "description": "Policies.\n", + "willReplaceOnChanges": true + }, + "roleConfigurationId": { + "type": "string", + "description": "Permission configuration ID.\n", + "willReplaceOnChanges": true + }, + "zoneId": { + "type": "string", + "description": "Space ID.\n", + "willReplaceOnChanges": true + } + }, + "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/centerScimCredential:CenterScimCredential": { + "description": "Provides a resource to create an identity center scim credential\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 identityCenterScimCredential = new tencentcloud.identity.CenterScimCredential(\"identityCenterScimCredential\", {zoneId: \"z-xxxxxx\"});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nidentity_center_scim_credential = tencentcloud.identity.CenterScimCredential(\"identityCenterScimCredential\", 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 identityCenterScimCredential = new Tencentcloud.Identity.CenterScimCredential(\"identityCenterScimCredential\", new()\n {\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.NewCenterScimCredential(ctx, \"identityCenterScimCredential\", \u0026Identity.CenterScimCredentialArgs{\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.CenterScimCredential;\nimport com.pulumi.tencentcloud.Identity.CenterScimCredentialArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 identityCenterScimCredential = new CenterScimCredential(\"identityCenterScimCredential\", CenterScimCredentialArgs.builder() \n .zoneId(\"z-xxxxxx\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n identityCenterScimCredential:\n type: tencentcloud:Identity:CenterScimCredential\n properties:\n zoneId: z-xxxxxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\norganization identity_center_scim_credential can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Identity/centerScimCredential:CenterScimCredential identity_center_scim_credential ${zone_id}#${credential_id}\n```\n\n", + "properties": { + "createTime": { + "type": "string", + "description": "SCIM create time.\n" + }, + "credentialId": { + "type": "string", + "description": "SCIM key ID. scimcred-prefix and followed by 12 random digits/lowercase letters.\n" + }, + "credentialType": { + "type": "string", + "description": "SCIM credential type.\n" + }, + "expireTime": { + "type": "string", + "description": "SCIM expire time.\n" + }, + "status": { + "type": "string", + "description": "SCIM key status, Enabled-On, Disabled-Closed.\n" + }, + "zoneId": { + "type": "string", + "description": "Space ID. z-prefix starts with 12 random digits/lowercase letters.\n" + } + }, + "required": [ + "createTime", + "credentialId", + "credentialType", + "expireTime", + "status", + "zoneId" + ], + "inputProperties": { + "zoneId": { + "type": "string", + "description": "Space ID. z-prefix starts with 12 random digits/lowercase letters.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "zoneId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering CenterScimCredential resources.\n", + "properties": { + "createTime": { + "type": "string", + "description": "SCIM create time.\n" + }, + "credentialId": { + "type": "string", + "description": "SCIM key ID. scimcred-prefix and followed by 12 random digits/lowercase letters.\n" + }, + "credentialType": { + "type": "string", + "description": "SCIM credential type.\n" + }, + "expireTime": { + "type": "string", + "description": "SCIM expire time.\n" + }, + "status": { + "type": "string", + "description": "SCIM key status, Enabled-On, Disabled-Closed.\n" + }, + "zoneId": { + "type": "string", + "description": "Space ID. z-prefix starts with 12 random digits/lowercase letters.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "tencentcloud:Identity/centerScimCredentialStatus:CenterScimCredentialStatus": { + "description": "Provides a resource to manage identity center scim credential status\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 identityCenterScimCredentialStatus = new tencentcloud.identity.CenterScimCredentialStatus(\"identityCenterScimCredentialStatus\", {\n credentialId: \"scimcred-xxxxxx\",\n status: \"Enabled\",\n zoneId: \"z-xxxxxx\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nidentity_center_scim_credential_status = tencentcloud.identity.CenterScimCredentialStatus(\"identityCenterScimCredentialStatus\",\n credential_id=\"scimcred-xxxxxx\",\n 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 identityCenterScimCredentialStatus = new Tencentcloud.Identity.CenterScimCredentialStatus(\"identityCenterScimCredentialStatus\", new()\n {\n CredentialId = \"scimcred-xxxxxx\",\n Status = \"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.NewCenterScimCredentialStatus(ctx, \"identityCenterScimCredentialStatus\", \u0026Identity.CenterScimCredentialStatusArgs{\n\t\t\tCredentialId: pulumi.String(\"scimcred-xxxxxx\"),\n\t\t\tStatus: 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.CenterScimCredentialStatus;\nimport com.pulumi.tencentcloud.Identity.CenterScimCredentialStatusArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 identityCenterScimCredentialStatus = new CenterScimCredentialStatus(\"identityCenterScimCredentialStatus\", CenterScimCredentialStatusArgs.builder() \n .credentialId(\"scimcred-xxxxxx\")\n .status(\"Enabled\")\n .zoneId(\"z-xxxxxx\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n identityCenterScimCredentialStatus:\n type: tencentcloud:Identity:CenterScimCredentialStatus\n properties:\n credentialId: scimcred-xxxxxx\n status: Enabled\n zoneId: z-xxxxxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\norganization identity_center_scim_credential_status can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Identity/centerScimCredentialStatus:CenterScimCredentialStatus identity_center_scim_credential_status ${zone_id}#${credential_id}\n```\n\n", + "properties": { + "credentialId": { + "type": "string", + "description": "SCIM key ID. scimcred-prefix and followed by 12 random digits/lowercase letters.\n" + }, + "status": { + "type": "string", + "description": "SCIM key status. Enabled-enabled. Disabled-disabled.\n" + }, + "zoneId": { + "type": "string", + "description": "Space ID. z-prefix starts with 12 random digits/lowercase letters.\n" + } + }, + "required": [ + "credentialId", + "status", + "zoneId" + ], + "inputProperties": { + "credentialId": { + "type": "string", + "description": "SCIM key ID. scimcred-prefix and followed by 12 random digits/lowercase letters.\n", + "willReplaceOnChanges": true + }, + "status": { + "type": "string", + "description": "SCIM key status. Enabled-enabled. Disabled-disabled.\n" + }, + "zoneId": { + "type": "string", + "description": "Space ID. z-prefix starts with 12 random digits/lowercase letters.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "credentialId", + "status", + "zoneId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering CenterScimCredentialStatus resources.\n", + "properties": { + "credentialId": { + "type": "string", + "description": "SCIM key ID. scimcred-prefix and followed by 12 random digits/lowercase letters.\n", + "willReplaceOnChanges": true + }, + "status": { + "type": "string", + "description": "SCIM key status. Enabled-enabled. Disabled-disabled.\n" + }, + "zoneId": { + "type": "string", + "description": "Space ID. z-prefix starts with 12 random digits/lowercase letters.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "tencentcloud:Identity/centerScimSynchronizationStatus:CenterScimSynchronizationStatus": { + "description": "Provides a resource to manage identity center scim synchronization status\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 identityCenterScimSynchronizationStatus = new tencentcloud.identity.CenterScimSynchronizationStatus(\"identityCenterScimSynchronizationStatus\", {\n scimSynchronizationStatus: \"Enabled\",\n zoneId: \"z-xxxxxx\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nidentity_center_scim_synchronization_status = tencentcloud.identity.CenterScimSynchronizationStatus(\"identityCenterScimSynchronizationStatus\",\n scim_synchronization_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 identityCenterScimSynchronizationStatus = new Tencentcloud.Identity.CenterScimSynchronizationStatus(\"identityCenterScimSynchronizationStatus\", new()\n {\n ScimSynchronizationStatus = \"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.NewCenterScimSynchronizationStatus(ctx, \"identityCenterScimSynchronizationStatus\", \u0026Identity.CenterScimSynchronizationStatusArgs{\n\t\t\tScimSynchronizationStatus: 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.CenterScimSynchronizationStatus;\nimport com.pulumi.tencentcloud.Identity.CenterScimSynchronizationStatusArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 identityCenterScimSynchronizationStatus = new CenterScimSynchronizationStatus(\"identityCenterScimSynchronizationStatus\", CenterScimSynchronizationStatusArgs.builder() \n .scimSynchronizationStatus(\"Enabled\")\n .zoneId(\"z-xxxxxx\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n identityCenterScimSynchronizationStatus:\n type: tencentcloud:Identity:CenterScimSynchronizationStatus\n properties:\n scimSynchronizationStatus: Enabled\n zoneId: z-xxxxxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\norganization identity_center_scim_synchronization_status can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Identity/centerScimSynchronizationStatus:CenterScimSynchronizationStatus identity_center_scim_synchronization_status ${zone_id}\n```\n\n", + "properties": { + "scimSynchronizationStatus": { + "type": "string", + "description": "SCIM synchronization status. Enabled-enabled. Disabled-disables.\n" + }, + "zoneId": { + "type": "string", + "description": "Space ID. z-prefix starts with 12 random digits/lowercase letters.\n" + } + }, + "required": [ + "scimSynchronizationStatus", + "zoneId" + ], + "inputProperties": { + "scimSynchronizationStatus": { + "type": "string", + "description": "SCIM synchronization status. Enabled-enabled. Disabled-disables.\n" + }, + "zoneId": { + "type": "string", + "description": "Space ID. z-prefix starts with 12 random digits/lowercase letters.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "scimSynchronizationStatus", + "zoneId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering CenterScimSynchronizationStatus resources.\n", + "properties": { + "scimSynchronizationStatus": { + "type": "string", + "description": "SCIM synchronization status. Enabled-enabled. Disabled-disables.\n" + }, + "zoneId": { + "type": "string", + "description": "Space ID. z-prefix starts with 12 random digits/lowercase letters.\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", + "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### Use image family\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst imageFamily = new tencentcloud.image.Instance(\"imageFamily\", {\n dataDiskIds: [],\n imageDescription: \"create image with snapshot 12323\",\n imageFamily: \"business-daily-update\",\n imageName: \"image-family-test123\",\n snapshotIds: [\"snap-7uuvrcoj\"],\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nimage_family = tencentcloud.image.Instance(\"imageFamily\",\n data_disk_ids=[],\n image_description=\"create image with snapshot 12323\",\n image_family=\"business-daily-update\",\n image_name=\"image-family-test123\",\n snapshot_ids=[\"snap-7uuvrcoj\"])\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 imageFamily = new Tencentcloud.Image.Instance(\"imageFamily\", new()\n {\n DataDiskIds = new[] {},\n ImageDescription = \"create image with snapshot 12323\",\n ImageFamily = \"business-daily-update\",\n ImageName = \"image-family-test123\",\n SnapshotIds = new[]\n {\n \"snap-7uuvrcoj\",\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, \"imageFamily\", \u0026Image.InstanceArgs{\n\t\t\tDataDiskIds: pulumi.StringArray{},\n\t\t\tImageDescription: pulumi.String(\"create image with snapshot 12323\"),\n\t\t\tImageFamily: pulumi.String(\"business-daily-update\"),\n\t\t\tImageName: pulumi.String(\"image-family-test123\"),\n\t\t\tSnapshotIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"snap-7uuvrcoj\"),\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 imageFamily = new Instance(\"imageFamily\", InstanceArgs.builder() \n .dataDiskIds()\n .imageDescription(\"create image with snapshot 12323\")\n .imageFamily(\"business-daily-update\")\n .imageName(\"image-family-test123\")\n .snapshotIds(\"snap-7uuvrcoj\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n imageFamily:\n type: tencentcloud:Image:Instance\n properties:\n dataDiskIds: []\n imageDescription: create image with snapshot 12323\n imageFamily: business-daily-update\n imageName: image-family-test123\n snapshotIds:\n - snap-7uuvrcoj\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": { "dataDiskIds": { "type": "array", @@ -164937,6 +173596,10 @@ "type": "string", "description": "Image Description.\n" }, + "imageFamily": { + "type": "string", + "description": "Set image family. Example value: `business-daily-update`.\n" + }, "imageName": { "type": "string", "description": "Image name.\n" @@ -164985,6 +173648,10 @@ "type": "string", "description": "Image Description.\n" }, + "imageFamily": { + "type": "string", + "description": "Set image family. Example value: `business-daily-update`.\n" + }, "imageName": { "type": "string", "description": "Image name.\n" @@ -165036,6 +173703,10 @@ "type": "string", "description": "Image Description.\n" }, + "imageFamily": { + "type": "string", + "description": "Set image family. Example value: `business-daily-update`.\n" + }, "imageName": { "type": "string", "description": "Image name.\n" @@ -165069,7 +173740,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,10 +173781,18 @@ }, "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" }, + "disableAutomationService": { + "type": "boolean", + "description": "Disable enhance service for automation, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset.\n" + }, "disableMonitorService": { "type": "boolean", "description": "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.\n" @@ -165259,6 +173938,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,10 +174036,19 @@ "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" }, + "disableAutomationService": { + "type": "boolean", + "description": "Disable enhance service for automation, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset.\n" + }, "disableMonitorService": { "type": "boolean", "description": "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.\n" @@ -165484,6 +174176,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,10 +174261,19 @@ "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" }, + "disableAutomationService": { + "type": "boolean", + "description": "Disable enhance service for automation, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset.\n" + }, "disableMonitorService": { "type": "boolean", "description": "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.\n" @@ -165716,6 +174421,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 +174928,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,8 +176070,101 @@ "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", + "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 example = new tencentcloud.kubernetes.AuthAttachment(\"example\", {\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\")\nexample = tencentcloud.kubernetes.AuthAttachment(\"example\",\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 example = new Tencentcloud.Kubernetes.AuthAttachment(\"example\", 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, \"example\", \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 example = new AuthAttachment(\"example\", 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 example:\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 example = new tencentcloud.kubernetes.AuthAttachment(\"example\", {\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.\nexample = tencentcloud.kubernetes.AuthAttachment(\"example\",\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 example = new Tencentcloud.Kubernetes.AuthAttachment(\"example\", 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, \"example\", \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 example = new AuthAttachment(\"example\", 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 example:\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 example = new tencentcloud.kubernetes.AuthAttachment(\"example\", {\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\nexample = tencentcloud.kubernetes.AuthAttachment(\"example\",\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 example = new Tencentcloud.Kubernetes.AuthAttachment(\"example\", 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, \"example\", \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 example = new AuthAttachment(\"example\", 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 example:\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 example cls-fp5o961e\n```\n", "properties": { "autoCreateClientIds": { "type": "array", @@ -167396,7 +176405,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": "## 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 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```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 com.pulumi.tencentcloud.Kubernetes.inputs.ClusterExistInstanceInstancesParaMasterConfigArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.ClusterExistInstanceInstancesParaMasterConfigDataDiskArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.ClusterExistInstanceInstancesParaMasterConfigExtraArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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-262n63e8\")\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 .enhancedMonitorService(true)\n .enhancedSecurityService(true)\n .instanceIds( \n \"ins-mam0c7lw\",\n \"ins-quvwayve\",\n \"ins-qbffk8iw\")\n .masterConfig(ClusterExistInstanceInstancesParaMasterConfigArgs.builder()\n .dataDisk(ClusterExistInstanceInstancesParaMasterConfigDataDiskArgs.builder()\n .autoFormatAndMount(true)\n .diskPartition(\"/dev/vdb\")\n .fileSystem(\"ext4\")\n .mountTarget(\"/var/data\")\n .build())\n .dockerGraphPath(\"/var/lib/containerd\")\n .extraArgs(ClusterExistInstanceInstancesParaMasterConfigExtraArgs.builder()\n .kubelet(\"root-dir=/root\")\n .build())\n .labels(ClusterExistInstanceInstancesParaMasterConfigLabelArgs.builder()\n .name(\"key\")\n .value(\"value\")\n .build())\n .mountTarget(\"/var/data\")\n .taints(ClusterExistInstanceInstancesParaMasterConfigTaintArgs.builder()\n .effect(\"NoSchedule\")\n .key(\"key\")\n .value(\"value\")\n .build())\n .unschedulable(0)\n .build())\n .password(\"Password@123\")\n .securityGroupIds(\"sg-hjs685q9\")\n .build())\n .nodeRole(\"MASTER_ETCD\")\n .build())\n .instanceDeleteMode(\"retain\")\n .preStartUserScript(\"aXB0YWJsZXMgLUEgSU5QVVQgLXAgdGNwIC1zIDE2OS4yNTQuMC4wLzE5IC0tdGNwLWZsYWdzIFNZTixSU1QgU1lOIC1qIFRDUE1TUyAtLXNldC1tc3MgMTE2MAppcHRhYmxlcyAtQSBPVVRQVVQgLXAgdGNwIC1kIDE2OS4yNTQuMC4wLzE5IC0tdGNwLWZsYWdzIFNZTixSU1QgU1lOIC1qIFRDUE1TUyAtLXNldC1tc3MgMTE2MAoKZWNobyAnCmlwdGFibGVzIC1BIElOUFVUIC1wIHRjcCAtcyAxNjkuMjU0LjAuMC8xOSAtLXRjcC1mbGFncyBTWU4sUlNUIFNZTiAtaiBUQ1BNU1MgLS1zZXQtbXNzIDExNjAKaXB0YWJsZXMgLUEgT1VUUFVUIC1wIHRjcCAtZCAxNjkuMjU0LjAuMC8xOSAtLXRjcC1mbGFncyBTWU4sUlNUIFNZTiAtaiBUQ1BNU1MgLS1zZXQtbXNzIDExNjAKJyA+PiAvZXRjL3JjLmQvcmMubG9jYWw=\")\n .runtimeVersion(\"1.6.9\")\n .vpcId(\"vpc-0m6078eb\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cdcCluster:\n type: tencentcloud:Kubernetes:Cluster\n properties:\n cdcId: cluster-262n63e8\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 enhancedMonitorService: true\n enhancedSecurityService: true\n instanceIds:\n - ins-mam0c7lw\n - ins-quvwayve\n - ins-qbffk8iw\n masterConfig:\n dataDisk:\n autoFormatAndMount: true\n diskPartition: /dev/vdb\n fileSystem: ext4\n mountTarget: /var/data\n dockerGraphPath: /var/lib/containerd\n extraArgs:\n kubelet:\n - root-dir=/root\n labels:\n - name: key\n value: value\n mountTarget: /var/data\n taints:\n - effect: NoSchedule\n key: key\n value: value\n unschedulable: 0\n password: Password@123\n securityGroupIds:\n - sg-hjs685q9\n nodeRole: MASTER_ETCD\n instanceDeleteMode: retain\n preStartUserScript: aXB0YWJsZXMgLUEgSU5QVVQgLXAgdGNwIC1zIDE2OS4yNTQuMC4wLzE5IC0tdGNwLWZsYWdzIFNZTixSU1QgU1lOIC1qIFRDUE1TUyAtLXNldC1tc3MgMTE2MAppcHRhYmxlcyAtQSBPVVRQVVQgLXAgdGNwIC1kIDE2OS4yNTQuMC4wLzE5IC0tdGNwLWZsYWdzIFNZTixSU1QgU1lOIC1qIFRDUE1TUyAtLXNldC1tc3MgMTE2MAoKZWNobyAnCmlwdGFibGVzIC1BIElOUFVUIC1wIHRjcCAtcyAxNjkuMjU0LjAuMC8xOSAtLXRjcC1mbGFncyBTWU4sUlNUIFNZTiAtaiBUQ1BNU1MgLS1zZXQtbXNzIDExNjAKaXB0YWJsZXMgLUEgT1VUUFVUIC1wIHRjcCAtZCAxNjkuMjU0LjAuMC8xOSAtLXRjcC1mbGFncyBTWU4sUlNUIFNZTiAtaiBUQ1BNU1MgLS1zZXQtbXNzIDExNjAKJyA+PiAvZXRjL3JjLmQvcmMubG9jYWw=\n runtimeVersion: 1.6.9\n vpcId: vpc-0m6078eb\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Use delete options to delete CBS when deleting the Cluster\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.kubernetes.Cluster(\"example\", {\n vpcId: local.first_vpc_id,\n clusterCidr: _var.example_cluster_cidr,\n clusterMaxPodNum: 32,\n clusterName: \"example\",\n clusterDesc: \"example for tke cluster\",\n clusterMaxServiceNum: 32,\n clusterLevel: \"L50\",\n autoUpgradeClusterLevel: true,\n clusterInternet: false,\n clusterVersion: \"1.30.0\",\n clusterOs: \"tlinux2.2(tkernel3)x86_64\",\n clusterDeployType: \"MANAGED_CLUSTER\",\n containerRuntime: \"containerd\",\n dockerGraphPath: \"/var/lib/containerd\",\n tags: {\n demo: \"test\",\n },\n workerConfigs: [{\n count: 1,\n availabilityZone: _var.availability_zone_first,\n instanceType: \"SA2.MEDIUM2\",\n systemDiskType: \"CLOUD_SSD\",\n systemDiskSize: 60,\n internetChargeType: \"TRAFFIC_POSTPAID_BY_HOUR\",\n internetMaxBandwidthOut: 100,\n publicIpAssigned: true,\n subnetId: local.first_subnet_id,\n dataDisks: [{\n diskType: \"CLOUD_PREMIUM\",\n diskSize: 50,\n }],\n enhancedSecurityService: false,\n enhancedMonitorService: false,\n userData: \"dGVzdA==\",\n disasterRecoverGroupIds: [],\n securityGroupIds: [],\n keyIds: [],\n camRoleName: \"CVM_QcsRole\",\n password: \"ZZXXccvv1212\",\n }],\n resourceDeleteOptions: [{\n resourceType: \"CBS\",\n deleteMode: \"terminate\",\n }],\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.kubernetes.Cluster(\"example\",\n vpc_id=local[\"first_vpc_id\"],\n cluster_cidr=var[\"example_cluster_cidr\"],\n cluster_max_pod_num=32,\n cluster_name=\"example\",\n cluster_desc=\"example for tke cluster\",\n cluster_max_service_num=32,\n cluster_level=\"L50\",\n auto_upgrade_cluster_level=True,\n cluster_internet=False,\n cluster_version=\"1.30.0\",\n cluster_os=\"tlinux2.2(tkernel3)x86_64\",\n cluster_deploy_type=\"MANAGED_CLUSTER\",\n container_runtime=\"containerd\",\n docker_graph_path=\"/var/lib/containerd\",\n tags={\n \"demo\": \"test\",\n },\n worker_configs=[tencentcloud.kubernetes.ClusterWorkerConfigArgs(\n count=1,\n availability_zone=var[\"availability_zone_first\"],\n instance_type=\"SA2.MEDIUM2\",\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=local[\"first_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 disaster_recover_group_ids=[],\n security_group_ids=[],\n key_ids=[],\n cam_role_name=\"CVM_QcsRole\",\n password=\"ZZXXccvv1212\",\n )],\n resource_delete_options=[tencentcloud.kubernetes.ClusterResourceDeleteOptionArgs(\n resource_type=\"CBS\",\n delete_mode=\"terminate\",\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.Kubernetes.Cluster(\"example\", new()\n {\n VpcId = local.First_vpc_id,\n ClusterCidr = @var.Example_cluster_cidr,\n ClusterMaxPodNum = 32,\n ClusterName = \"example\",\n ClusterDesc = \"example for tke cluster\",\n ClusterMaxServiceNum = 32,\n ClusterLevel = \"L50\",\n AutoUpgradeClusterLevel = true,\n ClusterInternet = false,\n ClusterVersion = \"1.30.0\",\n ClusterOs = \"tlinux2.2(tkernel3)x86_64\",\n ClusterDeployType = \"MANAGED_CLUSTER\",\n ContainerRuntime = \"containerd\",\n DockerGraphPath = \"/var/lib/containerd\",\n Tags = \n {\n { \"demo\", \"test\" },\n },\n WorkerConfigs = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.ClusterWorkerConfigArgs\n {\n Count = 1,\n AvailabilityZone = @var.Availability_zone_first,\n InstanceType = \"SA2.MEDIUM2\",\n SystemDiskType = \"CLOUD_SSD\",\n SystemDiskSize = 60,\n InternetChargeType = \"TRAFFIC_POSTPAID_BY_HOUR\",\n InternetMaxBandwidthOut = 100,\n PublicIpAssigned = true,\n SubnetId = local.First_subnet_id,\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 DisasterRecoverGroupIds = new() { },\n SecurityGroupIds = new() { },\n KeyIds = new() { },\n CamRoleName = \"CVM_QcsRole\",\n Password = \"ZZXXccvv1212\",\n },\n },\n ResourceDeleteOptions = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.ClusterResourceDeleteOptionArgs\n {\n ResourceType = \"CBS\",\n DeleteMode = \"terminate\",\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.NewCluster(ctx, \"example\", \u0026Kubernetes.ClusterArgs{\n\t\t\tVpcId: pulumi.Any(local.First_vpc_id),\n\t\t\tClusterCidr: pulumi.Any(_var.Example_cluster_cidr),\n\t\t\tClusterMaxPodNum: pulumi.Int(32),\n\t\t\tClusterName: pulumi.String(\"example\"),\n\t\t\tClusterDesc: pulumi.String(\"example for tke cluster\"),\n\t\t\tClusterMaxServiceNum: pulumi.Int(32),\n\t\t\tClusterLevel: pulumi.String(\"L50\"),\n\t\t\tAutoUpgradeClusterLevel: pulumi.Bool(true),\n\t\t\tClusterInternet: pulumi.Bool(false),\n\t\t\tClusterVersion: pulumi.String(\"1.30.0\"),\n\t\t\tClusterOs: pulumi.String(\"tlinux2.2(tkernel3)x86_64\"),\n\t\t\tClusterDeployType: pulumi.String(\"MANAGED_CLUSTER\"),\n\t\t\tContainerRuntime: pulumi.String(\"containerd\"),\n\t\t\tDockerGraphPath: pulumi.String(\"/var/lib/containerd\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"demo\": pulumi.Any(\"test\"),\n\t\t\t},\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.Any(_var.Availability_zone_first),\n\t\t\t\t\tInstanceType: pulumi.String(\"SA2.MEDIUM2\"),\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.Any(local.First_subnet_id),\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\tDisasterRecoverGroupIds: pulumi.String{},\n\t\t\t\t\tSecurityGroupIds: pulumi.StringArray{},\n\t\t\t\t\tKeyIds: pulumi.String{},\n\t\t\t\t\tCamRoleName: pulumi.String(\"CVM_QcsRole\"),\n\t\t\t\t\tPassword: pulumi.String(\"ZZXXccvv1212\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceDeleteOptions: kubernetes.ClusterResourceDeleteOptionArray{\n\t\t\t\t\u0026kubernetes.ClusterResourceDeleteOptionArgs{\n\t\t\t\t\tResourceType: pulumi.String(\"CBS\"),\n\t\t\t\t\tDeleteMode: pulumi.String(\"terminate\"),\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.Cluster;\nimport com.pulumi.tencentcloud.Kubernetes.ClusterArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.ClusterWorkerConfigArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.ClusterResourceDeleteOptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 Cluster(\"example\", ClusterArgs.builder() \n .vpcId(local.first_vpc_id())\n .clusterCidr(var_.example_cluster_cidr())\n .clusterMaxPodNum(32)\n .clusterName(\"example\")\n .clusterDesc(\"example for tke cluster\")\n .clusterMaxServiceNum(32)\n .clusterLevel(\"L50\")\n .autoUpgradeClusterLevel(true)\n .clusterInternet(false)\n .clusterVersion(\"1.30.0\")\n .clusterOs(\"tlinux2.2(tkernel3)x86_64\")\n .clusterDeployType(\"MANAGED_CLUSTER\")\n .containerRuntime(\"containerd\")\n .dockerGraphPath(\"/var/lib/containerd\")\n .tags(Map.of(\"demo\", \"test\"))\n .workerConfigs(ClusterWorkerConfigArgs.builder()\n .count(1)\n .availabilityZone(var_.availability_zone_first())\n .instanceType(\"SA2.MEDIUM2\")\n .systemDiskType(\"CLOUD_SSD\")\n .systemDiskSize(60)\n .internetChargeType(\"TRAFFIC_POSTPAID_BY_HOUR\")\n .internetMaxBandwidthOut(100)\n .publicIpAssigned(true)\n .subnetId(local.first_subnet_id())\n .dataDisks(ClusterWorkerConfigDataDiskArgs.builder()\n .diskType(\"CLOUD_PREMIUM\")\n .diskSize(50)\n .build())\n .enhancedSecurityService(false)\n .enhancedMonitorService(false)\n .userData(\"dGVzdA==\")\n .disasterRecoverGroupIds()\n .securityGroupIds()\n .keyIds()\n .camRoleName(\"CVM_QcsRole\")\n .password(\"ZZXXccvv1212\")\n .build())\n .resourceDeleteOptions(ClusterResourceDeleteOptionArgs.builder()\n .resourceType(\"CBS\")\n .deleteMode(\"terminate\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Kubernetes:Cluster\n properties:\n vpcId: ${local.first_vpc_id}\n clusterCidr: ${var.example_cluster_cidr}\n clusterMaxPodNum: 32\n clusterName: example\n clusterDesc: example for tke cluster\n clusterMaxServiceNum: 32\n clusterLevel: L50\n autoUpgradeClusterLevel: true\n clusterInternet: false\n # (can be ignored) open it after the nodes added\n clusterVersion: 1.30.0\n clusterOs: tlinux2.2(tkernel3)x86_64\n clusterDeployType: MANAGED_CLUSTER\n containerRuntime: containerd\n dockerGraphPath: /var/lib/containerd\n # without any worker config\n tags:\n demo: test\n workerConfigs:\n - count: 1\n availabilityZone: ${var.availability_zone_first}\n instanceType: SA2.MEDIUM2\n systemDiskType: CLOUD_SSD\n systemDiskSize: 60\n internetChargeType: TRAFFIC_POSTPAID_BY_HOUR\n internetMaxBandwidthOut: 100\n publicIpAssigned: true\n subnetId: ${local.first_subnet_id}\n dataDisks:\n - diskType: CLOUD_PREMIUM\n diskSize: 50\n enhancedSecurityService: false\n enhancedMonitorService: false\n userData: dGVzdA==\n disasterRecoverGroupIds: []\n securityGroupIds: []\n keyIds: []\n camRoleName: CVM_QcsRole\n password: ZZXXccvv1212\n resourceDeleteOptions:\n - resourceType: CBS\n deleteMode: terminate\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 example cls-n2h4jbtk\n```\n", "properties": { "acquireClusterAdminRole": { "type": "boolean", @@ -167414,6 +176423,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 +176588,14 @@ "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" + }, + "instanceDeleteMode": { + "type": "string", + "description": "The strategy for deleting cluster instances: terminate (destroy instances, only support pay as you go cloud host instances) retain (remove only, keep instances), Default is terminate.\n" + }, "isNonStaticIpMode": { "type": "boolean", "description": "Indicates whether non-static ip mode is enabled. Default is false.\n" @@ -167644,10 +176665,21 @@ "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" }, + "resourceDeleteOptions": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/ClusterResourceDeleteOption:ClusterResourceDeleteOption" + }, + "description": "The resource deletion policy when the cluster is deleted. Currently, CBS is supported (CBS is retained by default). Only valid when deleting cluster.\n" + }, "runtimeVersion": { "type": "string", "description": "Container Runtime version.\n" @@ -167716,6 +176748,7 @@ "clusterNodeNum", "clusterVersion", "domain", + "ignoreServiceCidrConflict", "kubeConfig", "kubeConfigIntranet", "nodePoolGlobalConfigs", @@ -167745,6 +176778,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" @@ -167821,8 +176858,7 @@ }, "clusterOs": { "type": "string", - "description": "Cluster operating system, supports setting public images (the field passes the corresponding image Name) and custom images (the field passes the corresponding image ID). For details, please refer to: https://cloud.tencent.com/document/product/457/68289.\n", - "willReplaceOnChanges": true + "description": "Cluster operating system, supports setting public images (the field passes the corresponding image Name) and custom images (the field passes the corresponding image ID). For details, please refer to: https://cloud.tencent.com/document/product/457/68289.\n" }, "clusterOsType": { "type": "string", @@ -167900,6 +176936,15 @@ "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 + }, + "instanceDeleteMode": { + "type": "string", + "description": "The strategy for deleting cluster instances: terminate (destroy instances, only support pay as you go cloud host instances) retain (remove only, keep instances), Default is terminate.\n" + }, "isNonStaticIpMode": { "type": "boolean", "description": "Indicates whether non-static ip mode is enabled. Default is false.\n", @@ -167959,10 +177004,22 @@ }, "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" }, + "resourceDeleteOptions": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/ClusterResourceDeleteOption:ClusterResourceDeleteOption" + }, + "description": "The resource deletion policy when the cluster is deleted. Currently, CBS is supported (CBS is retained by default). Only valid when deleting cluster.\n" + }, "runtimeVersion": { "type": "string", "description": "Container Runtime version.\n" @@ -168029,6 +177086,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" @@ -168122,8 +177183,7 @@ }, "clusterOs": { "type": "string", - "description": "Cluster operating system, supports setting public images (the field passes the corresponding image Name) and custom images (the field passes the corresponding image ID). For details, please refer to: https://cloud.tencent.com/document/product/457/68289.\n", - "willReplaceOnChanges": true + "description": "Cluster operating system, supports setting public images (the field passes the corresponding image Name) and custom images (the field passes the corresponding image ID). For details, please refer to: https://cloud.tencent.com/document/product/457/68289.\n" }, "clusterOsType": { "type": "string", @@ -168205,6 +177265,15 @@ "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 + }, + "instanceDeleteMode": { + "type": "string", + "description": "The strategy for deleting cluster instances: terminate (destroy instances, only support pay as you go cloud host instances) retain (remove only, keep instances), Default is terminate.\n" + }, "isNonStaticIpMode": { "type": "boolean", "description": "Indicates whether non-static ip mode is enabled. Default is false.\n", @@ -168280,10 +177349,22 @@ "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" }, + "resourceDeleteOptions": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/ClusterResourceDeleteOption:ClusterResourceDeleteOption" + }, + "description": "The resource deletion policy when the cluster is deleted. Currently, CBS is supported (CBS is retained by default). Only valid when deleting cluster.\n" + }, "runtimeVersion": { "type": "string", "description": "Container Runtime version.\n" @@ -168349,7 +177430,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 +177440,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 +177477,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 +177490,7 @@ }, "required": [ "clusterId", + "imageId", "instanceId", "securityGroups", "state" @@ -168420,6 +177506,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", @@ -168444,9 +177535,17 @@ "secret": true, "willReplaceOnChanges": true }, + "securityGroups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of security group IDs after attach to cluster.\n", + "willReplaceOnChanges": true + }, "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 +177576,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", @@ -168506,7 +177610,8 @@ "items": { "type": "string" }, - "description": "A list of security group IDs after attach to cluster.\n" + "description": "A list of security group IDs after attach to cluster.\n", + "willReplaceOnChanges": true }, "state": { "type": "string", @@ -168514,7 +177619,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": { @@ -168739,6 +177844,232 @@ "type": "object" } }, + "tencentcloud:Kubernetes/clusterMasterAttachment:ClusterMasterAttachment": { + "description": "Provides a resource to create a tke kubernetes cluster master attachment\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.Kubernetes.ClusterMasterAttachment;\nimport com.pulumi.tencentcloud.Kubernetes.ClusterMasterAttachmentArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.ClusterMasterAttachmentMasterConfigArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.ClusterMasterAttachmentMasterConfigDataDiskArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.ClusterMasterAttachmentMasterConfigExtraArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ClusterMasterAttachment(\"example\", ClusterMasterAttachmentArgs.builder() \n .clusterId(\"cls-fp5o961e\")\n .enhancedAutomationService(true)\n .enhancedMonitorService(true)\n .enhancedSecurityService(true)\n .instanceId(\"ins-7d6tpbyg\")\n .masterConfig(ClusterMasterAttachmentMasterConfigArgs.builder()\n .dataDisk(ClusterMasterAttachmentMasterConfigDataDiskArgs.builder()\n .autoFormatAndMount(true)\n .diskPartition(\"/dev/vdb\")\n .fileSystem(\"ext4\")\n .mountTarget(\"/var/data\")\n .build())\n .dockerGraphPath(\"/var/lib/containerd\")\n .extraArgs(ClusterMasterAttachmentMasterConfigExtraArgs.builder()\n .kubelet(\"root-dir=/root\")\n .build())\n .labels(ClusterMasterAttachmentMasterConfigLabelArgs.builder()\n .name(\"key\")\n .value(\"value\")\n .build())\n .mountTarget(\"/var/data\")\n .taints(ClusterMasterAttachmentMasterConfigTaintArgs.builder()\n .effect(\"NoSchedule\")\n .key(\"key\")\n .value(\"value\")\n .build())\n .unschedulable(0)\n .build())\n .nodeRole(\"MASTER_ETCD\")\n .password(\"Password@123\")\n .securityGroupIds(\"sg-hjs685q9\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Kubernetes:ClusterMasterAttachment\n properties:\n clusterId: cls-fp5o961e\n enhancedAutomationService: true\n enhancedMonitorService: true\n enhancedSecurityService: true\n instanceId: ins-7d6tpbyg\n masterConfig:\n dataDisk:\n autoFormatAndMount: true\n diskPartition: /dev/vdb\n fileSystem: ext4\n mountTarget: /var/data\n dockerGraphPath: /var/lib/containerd\n extraArgs:\n kubelet:\n - root-dir=/root\n labels:\n - name: key\n value: value\n mountTarget: /var/data\n taints:\n - effect: NoSchedule\n key: key\n value: value\n unschedulable: 0\n nodeRole: MASTER_ETCD\n password: Password@123\n securityGroupIds:\n - sg-hjs685q9\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "properties": { + "clusterId": { + "type": "string", + "description": "ID of the cluster.\n" + }, + "desiredPodNumbers": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "When the node belongs to the podCIDR size customization mode, the maximum number of pods running on the node can be specified.\n" + }, + "enhancedAutomationService": { + "type": "boolean", + "description": "Activate TencentCloud Automation Tools (TAT) service. If this parameter is not specified, the public image will default to enabling the Cloud Automation Assistant service, while other images will default to not enabling the Cloud Automation Assistant service.\n" + }, + "enhancedMonitorService": { + "type": "boolean", + "description": "To specify whether to enable cloud monitor service. Default is TRUE.\n" + }, + "enhancedSecurityService": { + "type": "boolean", + "description": "To specify whether to enable cloud security service. Default is TRUE.\n" + }, + "extraArgs": { + "$ref": "#/types/tencentcloud:Kubernetes/ClusterMasterAttachmentExtraArgs:ClusterMasterAttachmentExtraArgs", + "description": "Custom parameters for cluster master component.\n" + }, + "hostName": { + "type": "string", + "description": "When reinstalling the system, you can specify the HostName of the instance to be modified (this parameter must be passed when the cluster is in HostName mode, and the rule name should be consistent with the HostName of the CVM instance creation interface except that uppercase characters are not supported).\n" + }, + "instanceId": { + "type": "string", + "description": "ID of the CVM instance, this cvm will reinstall the system.\n" + }, + "keyIds": { + "type": "string", + "description": "The key pair to use for the instance, it looks like skey-16jig7tx, it should be set if `password` not set.\n" + }, + "masterConfig": { + "$ref": "#/types/tencentcloud:Kubernetes/ClusterMasterAttachmentMasterConfig:ClusterMasterAttachmentMasterConfig", + "description": "Advanced Node Settings. commonly used to attach existing instances.\n" + }, + "nodeRole": { + "type": "string", + "description": "Node role, values: MASTER_ETCD, WORKER. MASTER_ETCD needs to be specified only when creating an INDEPENDENT_CLUSTER independent cluster. The number of MASTER_ETCD nodes is 3-7, and it is recommended to have an odd number. The minimum configuration for MASTER_ETCD is 4C8G.\n" + }, + "password": { + "type": "string", + "description": "Password to access, should be set if `key_ids` not set.\n", + "secret": true + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The security group to which the instance belongs. This parameter can be obtained by calling the sgId field in the return value of DescribeSecureGroups. If this parameter is not specified, the default security group will be bound.\n" + } + }, + "required": [ + "clusterId", + "instanceId", + "nodeRole" + ], + "inputProperties": { + "clusterId": { + "type": "string", + "description": "ID of the cluster.\n", + "willReplaceOnChanges": true + }, + "desiredPodNumbers": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "When the node belongs to the podCIDR size customization mode, the maximum number of pods running on the node can be specified.\n", + "willReplaceOnChanges": true + }, + "enhancedAutomationService": { + "type": "boolean", + "description": "Activate TencentCloud Automation Tools (TAT) service. If this parameter is not specified, the public image will default to enabling the Cloud Automation Assistant service, while other images will default to not enabling the Cloud Automation Assistant service.\n", + "willReplaceOnChanges": true + }, + "enhancedMonitorService": { + "type": "boolean", + "description": "To specify whether to enable cloud monitor service. Default is TRUE.\n", + "willReplaceOnChanges": true + }, + "enhancedSecurityService": { + "type": "boolean", + "description": "To specify whether to enable cloud security service. Default is TRUE.\n", + "willReplaceOnChanges": true + }, + "extraArgs": { + "$ref": "#/types/tencentcloud:Kubernetes/ClusterMasterAttachmentExtraArgs:ClusterMasterAttachmentExtraArgs", + "description": "Custom parameters for cluster master component.\n", + "willReplaceOnChanges": true + }, + "hostName": { + "type": "string", + "description": "When reinstalling the system, you can specify the HostName of the instance to be modified (this parameter must be passed when the cluster is in HostName mode, and the rule name should be consistent with the HostName of the CVM instance creation interface except that uppercase characters are not supported).\n", + "willReplaceOnChanges": true + }, + "instanceId": { + "type": "string", + "description": "ID of the CVM instance, this cvm will reinstall the system.\n", + "willReplaceOnChanges": true + }, + "keyIds": { + "type": "string", + "description": "The key pair to use for the instance, it looks like skey-16jig7tx, it should be set if `password` not set.\n", + "willReplaceOnChanges": true + }, + "masterConfig": { + "$ref": "#/types/tencentcloud:Kubernetes/ClusterMasterAttachmentMasterConfig:ClusterMasterAttachmentMasterConfig", + "description": "Advanced Node Settings. commonly used to attach existing instances.\n", + "willReplaceOnChanges": true + }, + "nodeRole": { + "type": "string", + "description": "Node role, values: MASTER_ETCD, WORKER. MASTER_ETCD needs to be specified only when creating an INDEPENDENT_CLUSTER independent cluster. The number of MASTER_ETCD nodes is 3-7, and it is recommended to have an odd number. The minimum configuration for MASTER_ETCD is 4C8G.\n", + "willReplaceOnChanges": true + }, + "password": { + "type": "string", + "description": "Password to access, should be set if `key_ids` not set.\n", + "secret": true, + "willReplaceOnChanges": true + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The security group to which the instance belongs. This parameter can be obtained by calling the sgId field in the return value of DescribeSecureGroups. If this parameter is not specified, the default security group will be bound.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "clusterId", + "instanceId", + "nodeRole" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering ClusterMasterAttachment resources.\n", + "properties": { + "clusterId": { + "type": "string", + "description": "ID of the cluster.\n", + "willReplaceOnChanges": true + }, + "desiredPodNumbers": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "When the node belongs to the podCIDR size customization mode, the maximum number of pods running on the node can be specified.\n", + "willReplaceOnChanges": true + }, + "enhancedAutomationService": { + "type": "boolean", + "description": "Activate TencentCloud Automation Tools (TAT) service. If this parameter is not specified, the public image will default to enabling the Cloud Automation Assistant service, while other images will default to not enabling the Cloud Automation Assistant service.\n", + "willReplaceOnChanges": true + }, + "enhancedMonitorService": { + "type": "boolean", + "description": "To specify whether to enable cloud monitor service. Default is TRUE.\n", + "willReplaceOnChanges": true + }, + "enhancedSecurityService": { + "type": "boolean", + "description": "To specify whether to enable cloud security service. Default is TRUE.\n", + "willReplaceOnChanges": true + }, + "extraArgs": { + "$ref": "#/types/tencentcloud:Kubernetes/ClusterMasterAttachmentExtraArgs:ClusterMasterAttachmentExtraArgs", + "description": "Custom parameters for cluster master component.\n", + "willReplaceOnChanges": true + }, + "hostName": { + "type": "string", + "description": "When reinstalling the system, you can specify the HostName of the instance to be modified (this parameter must be passed when the cluster is in HostName mode, and the rule name should be consistent with the HostName of the CVM instance creation interface except that uppercase characters are not supported).\n", + "willReplaceOnChanges": true + }, + "instanceId": { + "type": "string", + "description": "ID of the CVM instance, this cvm will reinstall the system.\n", + "willReplaceOnChanges": true + }, + "keyIds": { + "type": "string", + "description": "The key pair to use for the instance, it looks like skey-16jig7tx, it should be set if `password` not set.\n", + "willReplaceOnChanges": true + }, + "masterConfig": { + "$ref": "#/types/tencentcloud:Kubernetes/ClusterMasterAttachmentMasterConfig:ClusterMasterAttachmentMasterConfig", + "description": "Advanced Node Settings. commonly used to attach existing instances.\n", + "willReplaceOnChanges": true + }, + "nodeRole": { + "type": "string", + "description": "Node role, values: MASTER_ETCD, WORKER. MASTER_ETCD needs to be specified only when creating an INDEPENDENT_CLUSTER independent cluster. The number of MASTER_ETCD nodes is 3-7, and it is recommended to have an odd number. The minimum configuration for MASTER_ETCD is 4C8G.\n", + "willReplaceOnChanges": true + }, + "password": { + "type": "string", + "description": "Password to access, should be set if `key_ids` not set.\n", + "secret": true, + "willReplaceOnChanges": true + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The security group to which the instance belongs. This parameter can be obtained by calling the sgId field in the return value of DescribeSecureGroups. If this parameter is not specified, the default security group will be bound.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, "tencentcloud:Kubernetes/encryptionProtection:EncryptionProtection": { "description": "Provides a resource to create a tke encryption_protection\n\n## Example Usage\n\n### Enable tke encryption protection\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 exampleRegion = config.get(\"exampleRegion\") || \"ap-guangzhou\";\nconst exampleClusterCidr = config.get(\"exampleClusterCidr\") || \"10.32.0.0/16\";\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-3\";\nconst vpc = tencentcloud.Vpc.getSubnets({\n isDefault: true,\n availabilityZone: availabilityZone,\n});\nconst exampleCluster = new tencentcloud.kubernetes.Cluster(\"exampleCluster\", {\n vpcId: vpc.then(vpc =\u003e vpc.instanceLists?.[0]?.vpcId),\n clusterCidr: exampleClusterCidr,\n clusterMaxPodNum: 32,\n clusterName: \"tf_example_cluster\",\n clusterDesc: \"a tf example cluster for the kms test\",\n clusterMaxServiceNum: 32,\n clusterDeployType: \"MANAGED_CLUSTER\",\n});\nconst exampleKey = new tencentcloud.kms.Key(\"exampleKey\", {\n alias: \"tf-example-kms-key\",\n description: \"example of kms key instance\",\n keyUsage: \"ENCRYPT_DECRYPT\",\n isEnabled: true,\n});\nconst exampleEncryptionProtection = new tencentcloud.kubernetes.EncryptionProtection(\"exampleEncryptionProtection\", {\n clusterId: exampleCluster.id,\n kmsConfiguration: {\n keyId: exampleKey.id,\n kmsRegion: exampleRegion,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\nexample_region = config.get(\"exampleRegion\")\nif example_region is None:\n example_region = \"ap-guangzhou\"\nexample_cluster_cidr = config.get(\"exampleClusterCidr\")\nif example_cluster_cidr is None:\n example_cluster_cidr = \"10.32.0.0/16\"\navailability_zone = config.get(\"availabilityZone\")\nif availability_zone is None:\n availability_zone = \"ap-guangzhou-3\"\nvpc = tencentcloud.Vpc.get_subnets(is_default=True,\n availability_zone=availability_zone)\nexample_cluster = tencentcloud.kubernetes.Cluster(\"exampleCluster\",\n vpc_id=vpc.instance_lists[0].vpc_id,\n cluster_cidr=example_cluster_cidr,\n cluster_max_pod_num=32,\n cluster_name=\"tf_example_cluster\",\n cluster_desc=\"a tf example cluster for the kms test\",\n cluster_max_service_num=32,\n cluster_deploy_type=\"MANAGED_CLUSTER\")\nexample_key = tencentcloud.kms.Key(\"exampleKey\",\n alias=\"tf-example-kms-key\",\n description=\"example of kms key instance\",\n key_usage=\"ENCRYPT_DECRYPT\",\n is_enabled=True)\nexample_encryption_protection = tencentcloud.kubernetes.EncryptionProtection(\"exampleEncryptionProtection\",\n cluster_id=example_cluster.id,\n kms_configuration=tencentcloud.kubernetes.EncryptionProtectionKmsConfigurationArgs(\n key_id=example_key.id,\n kms_region=example_region,\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 exampleRegion = config.Get(\"exampleRegion\") ?? \"ap-guangzhou\";\n var exampleClusterCidr = config.Get(\"exampleClusterCidr\") ?? \"10.32.0.0/16\";\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-3\";\n var vpc = Tencentcloud.Vpc.GetSubnets.Invoke(new()\n {\n IsDefault = true,\n AvailabilityZone = availabilityZone,\n });\n\n var exampleCluster = new Tencentcloud.Kubernetes.Cluster(\"exampleCluster\", new()\n {\n VpcId = vpc.Apply(getSubnetsResult =\u003e getSubnetsResult.InstanceLists[0]?.VpcId),\n ClusterCidr = exampleClusterCidr,\n ClusterMaxPodNum = 32,\n ClusterName = \"tf_example_cluster\",\n ClusterDesc = \"a tf example cluster for the kms test\",\n ClusterMaxServiceNum = 32,\n ClusterDeployType = \"MANAGED_CLUSTER\",\n });\n\n var exampleKey = new Tencentcloud.Kms.Key(\"exampleKey\", new()\n {\n Alias = \"tf-example-kms-key\",\n Description = \"example of kms key instance\",\n KeyUsage = \"ENCRYPT_DECRYPT\",\n IsEnabled = true,\n });\n\n var exampleEncryptionProtection = new Tencentcloud.Kubernetes.EncryptionProtection(\"exampleEncryptionProtection\", new()\n {\n ClusterId = exampleCluster.Id,\n KmsConfiguration = new Tencentcloud.Kubernetes.Inputs.EncryptionProtectionKmsConfigurationArgs\n {\n KeyId = exampleKey.Id,\n KmsRegion = exampleRegion,\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/Kms\"\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\texampleRegion := \"ap-guangzhou\"\n\t\tif param := cfg.Get(\"exampleRegion\"); param != \"\" {\n\t\t\texampleRegion = param\n\t\t}\n\t\texampleClusterCidr := \"10.32.0.0/16\"\n\t\tif param := cfg.Get(\"exampleClusterCidr\"); param != \"\" {\n\t\t\texampleClusterCidr = param\n\t\t}\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.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\texampleCluster, err := Kubernetes.NewCluster(ctx, \"exampleCluster\", \u0026Kubernetes.ClusterArgs{\n\t\t\tVpcId: pulumi.String(vpc.InstanceLists[0].VpcId),\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(\"a tf example cluster for the kms test\"),\n\t\t\tClusterMaxServiceNum: pulumi.Int(32),\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\texampleKey, err := Kms.NewKey(ctx, \"exampleKey\", \u0026Kms.KeyArgs{\n\t\t\tAlias: pulumi.String(\"tf-example-kms-key\"),\n\t\t\tDescription: pulumi.String(\"example of kms key instance\"),\n\t\t\tKeyUsage: pulumi.String(\"ENCRYPT_DECRYPT\"),\n\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Kubernetes.NewEncryptionProtection(ctx, \"exampleEncryptionProtection\", \u0026Kubernetes.EncryptionProtectionArgs{\n\t\t\tClusterId: exampleCluster.ID(),\n\t\t\tKmsConfiguration: \u0026kubernetes.EncryptionProtectionKmsConfigurationArgs{\n\t\t\t\tKeyId: exampleKey.ID(),\n\t\t\t\tKmsRegion: pulumi.String(exampleRegion),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Vpc.VpcFunctions;\nimport com.pulumi.tencentcloud.Vpc.inputs.GetSubnetsArgs;\nimport com.pulumi.tencentcloud.Kubernetes.Cluster;\nimport com.pulumi.tencentcloud.Kubernetes.ClusterArgs;\nimport com.pulumi.tencentcloud.Kms.Key;\nimport com.pulumi.tencentcloud.Kms.KeyArgs;\nimport com.pulumi.tencentcloud.Kubernetes.EncryptionProtection;\nimport com.pulumi.tencentcloud.Kubernetes.EncryptionProtectionArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.EncryptionProtectionKmsConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleRegion = config.get(\"exampleRegion\").orElse(\"ap-guangzhou\");\n final var exampleClusterCidr = config.get(\"exampleClusterCidr\").orElse(\"10.32.0.0/16\");\n final var availabilityZone = config.get(\"availabilityZone\").orElse(\"ap-guangzhou-3\");\n final var vpc = VpcFunctions.getSubnets(GetSubnetsArgs.builder()\n .isDefault(true)\n .availabilityZone(availabilityZone)\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder() \n .vpcId(vpc.applyValue(getSubnetsResult -\u003e getSubnetsResult.instanceLists()[0].vpcId()))\n .clusterCidr(exampleClusterCidr)\n .clusterMaxPodNum(32)\n .clusterName(\"tf_example_cluster\")\n .clusterDesc(\"a tf example cluster for the kms test\")\n .clusterMaxServiceNum(32)\n .clusterDeployType(\"MANAGED_CLUSTER\")\n .build());\n\n var exampleKey = new Key(\"exampleKey\", KeyArgs.builder() \n .alias(\"tf-example-kms-key\")\n .description(\"example of kms key instance\")\n .keyUsage(\"ENCRYPT_DECRYPT\")\n .isEnabled(true)\n .build());\n\n var exampleEncryptionProtection = new EncryptionProtection(\"exampleEncryptionProtection\", EncryptionProtectionArgs.builder() \n .clusterId(exampleCluster.id())\n .kmsConfiguration(EncryptionProtectionKmsConfigurationArgs.builder()\n .keyId(exampleKey.id())\n .kmsRegion(exampleRegion)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n exampleRegion:\n type: string\n default: ap-guangzhou\n exampleClusterCidr:\n type: string\n default: 10.32.0.0/16\n availabilityZone:\n type: string\n default: ap-guangzhou-3\nresources:\n exampleCluster:\n type: tencentcloud:Kubernetes:Cluster\n properties:\n vpcId: ${vpc.instanceLists[0].vpcId}\n clusterCidr: ${exampleClusterCidr}\n clusterMaxPodNum: 32\n clusterName: tf_example_cluster\n clusterDesc: a tf example cluster for the kms test\n clusterMaxServiceNum: 32\n clusterDeployType: MANAGED_CLUSTER\n exampleKey:\n type: tencentcloud:Kms:Key\n properties:\n alias: tf-example-kms-key\n description: example of kms key instance\n keyUsage: ENCRYPT_DECRYPT\n isEnabled: true\n exampleEncryptionProtection:\n type: tencentcloud:Kubernetes:EncryptionProtection\n properties:\n clusterId: ${exampleCluster.id}\n kmsConfiguration:\n keyId: ${exampleKey.id}\n kmsRegion: ${exampleRegion}\nvariables:\n vpc:\n fn::invoke:\n Function: tencentcloud:Vpc:getSubnets\n Arguments:\n isDefault: true\n availabilityZone: ${availabilityZone}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { @@ -168797,6 +178128,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": { @@ -169001,8 +178507,15 @@ } }, "tencentcloud:Kubernetes/nodePool:NodePool": { - "description": "Provide a resource to create an auto scaling group for kubernetes cluster.\n\n\u003e **NOTE:** We recommend the usage of one cluster with essential worker config + node pool to manage cluster and nodes. Its a more flexible way than manage worker config with tencentcloud_kubernetes_cluster, tencentcloud.Kubernetes.ScaleWorker or exist node management of `tencentcloud_kubernetes_attachment`. Cause some unchangeable parameters of `worker_config` may cause the whole cluster resource `force new`.\n\n\u003e **NOTE:** In order to ensure the integrity of customer data, if you destroy nodepool instance, it will keep the cvm instance associate with nodepool by default. If you want to destroy together, please set `delete_keep_instance` to `false`.\n\n\u003e **NOTE:** In order to ensure the integrity of customer data, if the cvm instance was destroyed due to shrinking, it will keep the cbs associate with cvm by default. If you want to destroy together, please set `delete_with_instance` to `true`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst config = new pulumi.Config();\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-3\";\nconst clusterCidr = config.get(\"clusterCidr\") || \"172.31.0.0/16\";\nconst vpc = tencentcloud.Vpc.getSubnets({\n isDefault: true,\n availabilityZone: availabilityZone,\n});\nconst defaultInstanceType = config.get(\"defaultInstanceType\") || \"S1.SMALL1\";\n//this is the cluster with empty worker config\nconst managedCluster = new tencentcloud.kubernetes.Cluster(\"managedCluster\", {\n vpcId: vpc.then(vpc =\u003e vpc.instanceLists?.[0]?.vpcId),\n clusterCidr: clusterCidr,\n clusterMaxPodNum: 32,\n clusterName: \"tf-tke-unit-test\",\n clusterDesc: \"test cluster desc\",\n clusterMaxServiceNum: 32,\n clusterVersion: \"1.18.4\",\n clusterDeployType: \"MANAGED_CLUSTER\",\n});\n//this is one example of managing node using node pool\nconst mynodepool = new tencentcloud.kubernetes.NodePool(\"mynodepool\", {\n clusterId: managedCluster.id,\n maxSize: 6,\n minSize: 1,\n vpcId: vpc.then(vpc =\u003e vpc.instanceLists?.[0]?.vpcId),\n subnetIds: [vpc.then(vpc =\u003e vpc.instanceLists?.[0]?.subnetId)],\n retryPolicy: \"INCREMENTAL_INTERVALS\",\n desiredCapacity: 4,\n enableAutoScale: true,\n multiZoneSubnetPolicy: \"EQUALITY\",\n autoScalingConfig: {\n instanceType: defaultInstanceType,\n systemDiskType: \"CLOUD_PREMIUM\",\n systemDiskSize: 50,\n orderlySecurityGroupIds: [\"sg-24vswocp\"],\n dataDisks: [{\n diskType: \"CLOUD_PREMIUM\",\n diskSize: 50,\n }],\n internetChargeType: \"TRAFFIC_POSTPAID_BY_HOUR\",\n internetMaxBandwidthOut: 10,\n publicIpAssigned: true,\n password: \"test123#\",\n enhancedSecurityService: false,\n enhancedMonitorService: false,\n hostName: \"12.123.0.0\",\n hostNameStyle: \"ORIGINAL\",\n },\n labels: {\n test1: \"test1\",\n test2: \"test2\",\n },\n taints: [\n {\n key: \"test_taint\",\n value: \"taint_value\",\n effect: \"PreferNoSchedule\",\n },\n {\n key: \"test_taint2\",\n value: \"taint_value2\",\n effect: \"PreferNoSchedule\",\n },\n ],\n nodeConfig: {\n extraArgs: [\"root-dir=/var/lib/kubelet\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\navailability_zone = config.get(\"availabilityZone\")\nif availability_zone is None:\n availability_zone = \"ap-guangzhou-3\"\ncluster_cidr = config.get(\"clusterCidr\")\nif cluster_cidr is None:\n cluster_cidr = \"172.31.0.0/16\"\nvpc = tencentcloud.Vpc.get_subnets(is_default=True,\n availability_zone=availability_zone)\ndefault_instance_type = config.get(\"defaultInstanceType\")\nif default_instance_type is None:\n default_instance_type = \"S1.SMALL1\"\n#this is the cluster with empty worker config\nmanaged_cluster = tencentcloud.kubernetes.Cluster(\"managedCluster\",\n vpc_id=vpc.instance_lists[0].vpc_id,\n cluster_cidr=cluster_cidr,\n cluster_max_pod_num=32,\n cluster_name=\"tf-tke-unit-test\",\n cluster_desc=\"test cluster desc\",\n cluster_max_service_num=32,\n cluster_version=\"1.18.4\",\n cluster_deploy_type=\"MANAGED_CLUSTER\")\n#this is one example of managing node using node pool\nmynodepool = tencentcloud.kubernetes.NodePool(\"mynodepool\",\n cluster_id=managed_cluster.id,\n max_size=6,\n min_size=1,\n vpc_id=vpc.instance_lists[0].vpc_id,\n subnet_ids=[vpc.instance_lists[0].subnet_id],\n retry_policy=\"INCREMENTAL_INTERVALS\",\n desired_capacity=4,\n enable_auto_scale=True,\n multi_zone_subnet_policy=\"EQUALITY\",\n auto_scaling_config=tencentcloud.kubernetes.NodePoolAutoScalingConfigArgs(\n instance_type=default_instance_type,\n system_disk_type=\"CLOUD_PREMIUM\",\n system_disk_size=50,\n orderly_security_group_ids=[\"sg-24vswocp\"],\n data_disks=[tencentcloud.kubernetes.NodePoolAutoScalingConfigDataDiskArgs(\n disk_type=\"CLOUD_PREMIUM\",\n disk_size=50,\n )],\n internet_charge_type=\"TRAFFIC_POSTPAID_BY_HOUR\",\n internet_max_bandwidth_out=10,\n public_ip_assigned=True,\n password=\"test123#\",\n enhanced_security_service=False,\n enhanced_monitor_service=False,\n host_name=\"12.123.0.0\",\n host_name_style=\"ORIGINAL\",\n ),\n labels={\n \"test1\": \"test1\",\n \"test2\": \"test2\",\n },\n taints=[\n tencentcloud.kubernetes.NodePoolTaintArgs(\n key=\"test_taint\",\n value=\"taint_value\",\n effect=\"PreferNoSchedule\",\n ),\n tencentcloud.kubernetes.NodePoolTaintArgs(\n key=\"test_taint2\",\n value=\"taint_value2\",\n effect=\"PreferNoSchedule\",\n ),\n ],\n node_config=tencentcloud.kubernetes.NodePoolNodeConfigArgs(\n extra_args=[\"root-dir=/var/lib/kubelet\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = Pulumi.Tencentcloud;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-3\";\n var clusterCidr = config.Get(\"clusterCidr\") ?? \"172.31.0.0/16\";\n var vpc = Tencentcloud.Vpc.GetSubnets.Invoke(new()\n {\n IsDefault = true,\n AvailabilityZone = availabilityZone,\n });\n\n var defaultInstanceType = config.Get(\"defaultInstanceType\") ?? \"S1.SMALL1\";\n //this is the cluster with empty worker config\n var managedCluster = new Tencentcloud.Kubernetes.Cluster(\"managedCluster\", new()\n {\n VpcId = vpc.Apply(getSubnetsResult =\u003e getSubnetsResult.InstanceLists[0]?.VpcId),\n ClusterCidr = clusterCidr,\n ClusterMaxPodNum = 32,\n ClusterName = \"tf-tke-unit-test\",\n ClusterDesc = \"test cluster desc\",\n ClusterMaxServiceNum = 32,\n ClusterVersion = \"1.18.4\",\n ClusterDeployType = \"MANAGED_CLUSTER\",\n });\n\n //this is one example of managing node using node pool\n var mynodepool = new Tencentcloud.Kubernetes.NodePool(\"mynodepool\", new()\n {\n ClusterId = managedCluster.Id,\n MaxSize = 6,\n MinSize = 1,\n VpcId = vpc.Apply(getSubnetsResult =\u003e getSubnetsResult.InstanceLists[0]?.VpcId),\n SubnetIds = new[]\n {\n vpc.Apply(getSubnetsResult =\u003e getSubnetsResult.InstanceLists[0]?.SubnetId),\n },\n RetryPolicy = \"INCREMENTAL_INTERVALS\",\n DesiredCapacity = 4,\n EnableAutoScale = true,\n MultiZoneSubnetPolicy = \"EQUALITY\",\n AutoScalingConfig = new Tencentcloud.Kubernetes.Inputs.NodePoolAutoScalingConfigArgs\n {\n InstanceType = defaultInstanceType,\n SystemDiskType = \"CLOUD_PREMIUM\",\n SystemDiskSize = 50,\n OrderlySecurityGroupIds = new[]\n {\n \"sg-24vswocp\",\n },\n DataDisks = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.NodePoolAutoScalingConfigDataDiskArgs\n {\n DiskType = \"CLOUD_PREMIUM\",\n DiskSize = 50,\n },\n },\n InternetChargeType = \"TRAFFIC_POSTPAID_BY_HOUR\",\n InternetMaxBandwidthOut = 10,\n PublicIpAssigned = true,\n Password = \"test123#\",\n EnhancedSecurityService = false,\n EnhancedMonitorService = false,\n HostName = \"12.123.0.0\",\n HostNameStyle = \"ORIGINAL\",\n },\n Labels = \n {\n { \"test1\", \"test1\" },\n { \"test2\", \"test2\" },\n },\n Taints = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.NodePoolTaintArgs\n {\n Key = \"test_taint\",\n Value = \"taint_value\",\n Effect = \"PreferNoSchedule\",\n },\n new Tencentcloud.Kubernetes.Inputs.NodePoolTaintArgs\n {\n Key = \"test_taint2\",\n Value = \"taint_value2\",\n Effect = \"PreferNoSchedule\",\n },\n },\n NodeConfig = new Tencentcloud.Kubernetes.Inputs.NodePoolNodeConfigArgs\n {\n ExtraArgs = new[]\n {\n \"root-dir=/var/lib/kubelet\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Kubernetes\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tavailabilityZone := \"ap-guangzhou-3\"\n\t\tif param := cfg.Get(\"availabilityZone\"); param != \"\" {\n\t\t\tavailabilityZone = param\n\t\t}\n\t\tclusterCidr := \"172.31.0.0/16\"\n\t\tif param := cfg.Get(\"clusterCidr\"); param != \"\" {\n\t\t\tclusterCidr = param\n\t\t}\n\t\tvpc, err := Vpc.GetSubnets(ctx, \u0026vpc.GetSubnetsArgs{\n\t\t\tIsDefault: pulumi.BoolRef(true),\n\t\t\tAvailabilityZone: pulumi.StringRef(availabilityZone),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstanceType := \"S1.SMALL1\"\n\t\tif param := cfg.Get(\"defaultInstanceType\"); param != \"\" {\n\t\t\tdefaultInstanceType = param\n\t\t}\n\t\t// this is the cluster with empty worker config\n\t\tmanagedCluster, err := Kubernetes.NewCluster(ctx, \"managedCluster\", \u0026Kubernetes.ClusterArgs{\n\t\t\tVpcId: pulumi.String(vpc.InstanceLists[0].VpcId),\n\t\t\tClusterCidr: pulumi.String(clusterCidr),\n\t\t\tClusterMaxPodNum: pulumi.Int(32),\n\t\t\tClusterName: pulumi.String(\"tf-tke-unit-test\"),\n\t\t\tClusterDesc: pulumi.String(\"test cluster desc\"),\n\t\t\tClusterMaxServiceNum: pulumi.Int(32),\n\t\t\tClusterVersion: pulumi.String(\"1.18.4\"),\n\t\t\tClusterDeployType: pulumi.String(\"MANAGED_CLUSTER\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// this is one example of managing node using node pool\n\t\t_, err = Kubernetes.NewNodePool(ctx, \"mynodepool\", \u0026Kubernetes.NodePoolArgs{\n\t\t\tClusterId: managedCluster.ID(),\n\t\t\tMaxSize: pulumi.Int(6),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tVpcId: pulumi.String(vpc.InstanceLists[0].VpcId),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(vpc.InstanceLists[0].SubnetId),\n\t\t\t},\n\t\t\tRetryPolicy: pulumi.String(\"INCREMENTAL_INTERVALS\"),\n\t\t\tDesiredCapacity: pulumi.Int(4),\n\t\t\tEnableAutoScale: pulumi.Bool(true),\n\t\t\tMultiZoneSubnetPolicy: pulumi.String(\"EQUALITY\"),\n\t\t\tAutoScalingConfig: \u0026kubernetes.NodePoolAutoScalingConfigArgs{\n\t\t\t\tInstanceType: pulumi.String(defaultInstanceType),\n\t\t\t\tSystemDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\t\tSystemDiskSize: pulumi.Int(50),\n\t\t\t\tOrderlySecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"sg-24vswocp\"),\n\t\t\t\t},\n\t\t\t\tDataDisks: kubernetes.NodePoolAutoScalingConfigDataDiskArray{\n\t\t\t\t\t\u0026kubernetes.NodePoolAutoScalingConfigDataDiskArgs{\n\t\t\t\t\t\tDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\t\t\t\tDiskSize: pulumi.Int(50),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tInternetChargeType: pulumi.String(\"TRAFFIC_POSTPAID_BY_HOUR\"),\n\t\t\t\tInternetMaxBandwidthOut: pulumi.Int(10),\n\t\t\t\tPublicIpAssigned: pulumi.Bool(true),\n\t\t\t\tPassword: pulumi.String(\"test123#\"),\n\t\t\t\tEnhancedSecurityService: pulumi.Bool(false),\n\t\t\t\tEnhancedMonitorService: pulumi.Bool(false),\n\t\t\t\tHostName: pulumi.String(\"12.123.0.0\"),\n\t\t\t\tHostNameStyle: pulumi.String(\"ORIGINAL\"),\n\t\t\t},\n\t\t\tLabels: pulumi.Map{\n\t\t\t\t\"test1\": pulumi.Any(\"test1\"),\n\t\t\t\t\"test2\": pulumi.Any(\"test2\"),\n\t\t\t},\n\t\t\tTaints: kubernetes.NodePoolTaintArray{\n\t\t\t\t\u0026kubernetes.NodePoolTaintArgs{\n\t\t\t\t\tKey: pulumi.String(\"test_taint\"),\n\t\t\t\t\tValue: pulumi.String(\"taint_value\"),\n\t\t\t\t\tEffect: pulumi.String(\"PreferNoSchedule\"),\n\t\t\t\t},\n\t\t\t\t\u0026kubernetes.NodePoolTaintArgs{\n\t\t\t\t\tKey: pulumi.String(\"test_taint2\"),\n\t\t\t\t\tValue: pulumi.String(\"taint_value2\"),\n\t\t\t\t\tEffect: pulumi.String(\"PreferNoSchedule\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNodeConfig: \u0026kubernetes.NodePoolNodeConfigArgs{\n\t\t\t\tExtraArgs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"root-dir=/var/lib/kubelet\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Vpc.VpcFunctions;\nimport com.pulumi.tencentcloud.Vpc.inputs.GetSubnetsArgs;\nimport com.pulumi.tencentcloud.Kubernetes.Cluster;\nimport com.pulumi.tencentcloud.Kubernetes.ClusterArgs;\nimport com.pulumi.tencentcloud.Kubernetes.NodePool;\nimport com.pulumi.tencentcloud.Kubernetes.NodePoolArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.NodePoolAutoScalingConfigArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.NodePoolTaintArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.NodePoolNodeConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var availabilityZone = config.get(\"availabilityZone\").orElse(\"ap-guangzhou-3\");\n final var clusterCidr = config.get(\"clusterCidr\").orElse(\"172.31.0.0/16\");\n final var vpc = VpcFunctions.getSubnets(GetSubnetsArgs.builder()\n .isDefault(true)\n .availabilityZone(availabilityZone)\n .build());\n\n final var defaultInstanceType = config.get(\"defaultInstanceType\").orElse(\"S1.SMALL1\");\n //this is the cluster with empty worker config\n var managedCluster = new Cluster(\"managedCluster\", ClusterArgs.builder() \n .vpcId(vpc.applyValue(getSubnetsResult -\u003e getSubnetsResult.instanceLists()[0].vpcId()))\n .clusterCidr(clusterCidr)\n .clusterMaxPodNum(32)\n .clusterName(\"tf-tke-unit-test\")\n .clusterDesc(\"test cluster desc\")\n .clusterMaxServiceNum(32)\n .clusterVersion(\"1.18.4\")\n .clusterDeployType(\"MANAGED_CLUSTER\")\n .build());\n\n //this is one example of managing node using node pool\n var mynodepool = new NodePool(\"mynodepool\", NodePoolArgs.builder() \n .clusterId(managedCluster.id())\n .maxSize(6)\n .minSize(1)\n .vpcId(vpc.applyValue(getSubnetsResult -\u003e getSubnetsResult.instanceLists()[0].vpcId()))\n .subnetIds(vpc.applyValue(getSubnetsResult -\u003e getSubnetsResult.instanceLists()[0].subnetId()))\n .retryPolicy(\"INCREMENTAL_INTERVALS\")\n .desiredCapacity(4)\n .enableAutoScale(true)\n .multiZoneSubnetPolicy(\"EQUALITY\")\n .autoScalingConfig(NodePoolAutoScalingConfigArgs.builder()\n .instanceType(defaultInstanceType)\n .systemDiskType(\"CLOUD_PREMIUM\")\n .systemDiskSize(\"50\")\n .orderlySecurityGroupIds(\"sg-24vswocp\")\n .dataDisks(NodePoolAutoScalingConfigDataDiskArgs.builder()\n .diskType(\"CLOUD_PREMIUM\")\n .diskSize(50)\n .build())\n .internetChargeType(\"TRAFFIC_POSTPAID_BY_HOUR\")\n .internetMaxBandwidthOut(10)\n .publicIpAssigned(true)\n .password(\"test123#\")\n .enhancedSecurityService(false)\n .enhancedMonitorService(false)\n .hostName(\"12.123.0.0\")\n .hostNameStyle(\"ORIGINAL\")\n .build())\n .labels(Map.ofEntries(\n Map.entry(\"test1\", \"test1\"),\n Map.entry(\"test2\", \"test2\")\n ))\n .taints( \n NodePoolTaintArgs.builder()\n .key(\"test_taint\")\n .value(\"taint_value\")\n .effect(\"PreferNoSchedule\")\n .build(),\n NodePoolTaintArgs.builder()\n .key(\"test_taint2\")\n .value(\"taint_value2\")\n .effect(\"PreferNoSchedule\")\n .build())\n .nodeConfig(NodePoolNodeConfigArgs.builder()\n .extraArgs(\"root-dir=/var/lib/kubelet\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-3\n clusterCidr:\n type: string\n default: 172.31.0.0/16\n defaultInstanceType:\n type: string\n default: S1.SMALL1\nresources:\n # this is the cluster with empty worker config\n managedCluster:\n type: tencentcloud:Kubernetes:Cluster\n properties:\n vpcId: ${vpc.instanceLists[0].vpcId}\n clusterCidr: ${clusterCidr}\n clusterMaxPodNum: 32\n clusterName: tf-tke-unit-test\n clusterDesc: test cluster desc\n clusterMaxServiceNum: 32\n clusterVersion: 1.18.4\n clusterDeployType: MANAGED_CLUSTER\n # this is one example of managing node using node pool\n mynodepool:\n type: tencentcloud:Kubernetes:NodePool\n properties:\n clusterId: ${managedCluster.id}\n maxSize: 6\n minSize: 1\n vpcId: ${vpc.instanceLists[0].vpcId}\n subnetIds:\n - ${vpc.instanceLists[0].subnetId}\n retryPolicy: INCREMENTAL_INTERVALS\n desiredCapacity: 4\n enableAutoScale: true\n multiZoneSubnetPolicy: EQUALITY\n autoScalingConfig:\n instanceType: ${defaultInstanceType}\n systemDiskType: CLOUD_PREMIUM\n systemDiskSize: '50'\n orderlySecurityGroupIds:\n - sg-24vswocp\n dataDisks:\n - diskType: CLOUD_PREMIUM\n diskSize: 50\n internetChargeType: TRAFFIC_POSTPAID_BY_HOUR\n internetMaxBandwidthOut: 10\n publicIpAssigned: true\n password: test123#\n enhancedSecurityService: false\n enhancedMonitorService: false\n hostName: 12.123.0.0\n hostNameStyle: ORIGINAL\n labels:\n test1: test1\n test2: test2\n taints:\n - key: test_taint\n value: taint_value\n effect: PreferNoSchedule\n - key: test_taint2\n value: taint_value2\n effect: PreferNoSchedule\n nodeConfig:\n extraArgs:\n - root-dir=/var/lib/kubelet\nvariables:\n vpc:\n fn::invoke:\n Function: tencentcloud:Vpc:getSubnets\n Arguments:\n isDefault: true\n availabilityZone: ${availabilityZone}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using Spot CVM Instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst mynodepool = new tencentcloud.kubernetes.NodePool(\"mynodepool\", {\n clusterId: tencentcloud_kubernetes_cluster.managed_cluster.id,\n maxSize: 6,\n minSize: 1,\n vpcId: data.tencentcloud_vpc_subnets.vpc.instance_list[0].vpc_id,\n subnetIds: [data.tencentcloud_vpc_subnets.vpc.instance_list[0].subnet_id],\n retryPolicy: \"INCREMENTAL_INTERVALS\",\n desiredCapacity: 4,\n enableAutoScale: true,\n multiZoneSubnetPolicy: \"EQUALITY\",\n autoScalingConfig: {\n instanceType: _var.default_instance_type,\n systemDiskType: \"CLOUD_PREMIUM\",\n systemDiskSize: 50,\n orderlySecurityGroupIds: [\n \"sg-24vswocp\",\n \"sg-3qntci2v\",\n \"sg-7y1t2wax\",\n ],\n instanceChargeType: \"SPOTPAID\",\n spotInstanceType: \"one-time\",\n spotMaxPrice: \"1000\",\n dataDisks: [{\n diskType: \"CLOUD_PREMIUM\",\n diskSize: 50,\n }],\n internetChargeType: \"TRAFFIC_POSTPAID_BY_HOUR\",\n internetMaxBandwidthOut: 10,\n publicIpAssigned: true,\n password: \"test123#\",\n enhancedSecurityService: false,\n enhancedMonitorService: false,\n },\n labels: {\n test1: \"test1\",\n test2: \"test2\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nmynodepool = tencentcloud.kubernetes.NodePool(\"mynodepool\",\n cluster_id=tencentcloud_kubernetes_cluster[\"managed_cluster\"][\"id\"],\n max_size=6,\n min_size=1,\n vpc_id=data[\"tencentcloud_vpc_subnets\"][\"vpc\"][\"instance_list\"][0][\"vpc_id\"],\n subnet_ids=[data[\"tencentcloud_vpc_subnets\"][\"vpc\"][\"instance_list\"][0][\"subnet_id\"]],\n retry_policy=\"INCREMENTAL_INTERVALS\",\n desired_capacity=4,\n enable_auto_scale=True,\n multi_zone_subnet_policy=\"EQUALITY\",\n auto_scaling_config=tencentcloud.kubernetes.NodePoolAutoScalingConfigArgs(\n instance_type=var[\"default_instance_type\"],\n system_disk_type=\"CLOUD_PREMIUM\",\n system_disk_size=50,\n orderly_security_group_ids=[\n \"sg-24vswocp\",\n \"sg-3qntci2v\",\n \"sg-7y1t2wax\",\n ],\n instance_charge_type=\"SPOTPAID\",\n spot_instance_type=\"one-time\",\n spot_max_price=\"1000\",\n data_disks=[tencentcloud.kubernetes.NodePoolAutoScalingConfigDataDiskArgs(\n disk_type=\"CLOUD_PREMIUM\",\n disk_size=50,\n )],\n internet_charge_type=\"TRAFFIC_POSTPAID_BY_HOUR\",\n internet_max_bandwidth_out=10,\n public_ip_assigned=True,\n password=\"test123#\",\n enhanced_security_service=False,\n enhanced_monitor_service=False,\n ),\n labels={\n \"test1\": \"test1\",\n \"test2\": \"test2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mynodepool = new Tencentcloud.Kubernetes.NodePool(\"mynodepool\", new()\n {\n ClusterId = tencentcloud_kubernetes_cluster.Managed_cluster.Id,\n MaxSize = 6,\n MinSize = 1,\n VpcId = data.Tencentcloud_vpc_subnets.Vpc.Instance_list[0].Vpc_id,\n SubnetIds = new[]\n {\n data.Tencentcloud_vpc_subnets.Vpc.Instance_list[0].Subnet_id,\n },\n RetryPolicy = \"INCREMENTAL_INTERVALS\",\n DesiredCapacity = 4,\n EnableAutoScale = true,\n MultiZoneSubnetPolicy = \"EQUALITY\",\n AutoScalingConfig = new Tencentcloud.Kubernetes.Inputs.NodePoolAutoScalingConfigArgs\n {\n InstanceType = @var.Default_instance_type,\n SystemDiskType = \"CLOUD_PREMIUM\",\n SystemDiskSize = 50,\n OrderlySecurityGroupIds = new[]\n {\n \"sg-24vswocp\",\n \"sg-3qntci2v\",\n \"sg-7y1t2wax\",\n },\n InstanceChargeType = \"SPOTPAID\",\n SpotInstanceType = \"one-time\",\n SpotMaxPrice = \"1000\",\n DataDisks = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.NodePoolAutoScalingConfigDataDiskArgs\n {\n DiskType = \"CLOUD_PREMIUM\",\n DiskSize = 50,\n },\n },\n InternetChargeType = \"TRAFFIC_POSTPAID_BY_HOUR\",\n InternetMaxBandwidthOut = 10,\n PublicIpAssigned = true,\n Password = \"test123#\",\n EnhancedSecurityService = false,\n EnhancedMonitorService = false,\n },\n Labels = \n {\n { \"test1\", \"test1\" },\n { \"test2\", \"test2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Kubernetes\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Kubernetes.NewNodePool(ctx, \"mynodepool\", \u0026Kubernetes.NodePoolArgs{\n\t\t\tClusterId: pulumi.Any(tencentcloud_kubernetes_cluster.Managed_cluster.Id),\n\t\t\tMaxSize: pulumi.Int(6),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tVpcId: pulumi.Any(data.Tencentcloud_vpc_subnets.Vpc.Instance_list[0].Vpc_id),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tdata.Tencentcloud_vpc_subnets.Vpc.Instance_list[0].Subnet_id,\n\t\t\t},\n\t\t\tRetryPolicy: pulumi.String(\"INCREMENTAL_INTERVALS\"),\n\t\t\tDesiredCapacity: pulumi.Int(4),\n\t\t\tEnableAutoScale: pulumi.Bool(true),\n\t\t\tMultiZoneSubnetPolicy: pulumi.String(\"EQUALITY\"),\n\t\t\tAutoScalingConfig: \u0026kubernetes.NodePoolAutoScalingConfigArgs{\n\t\t\t\tInstanceType: pulumi.Any(_var.Default_instance_type),\n\t\t\t\tSystemDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\t\tSystemDiskSize: pulumi.Int(50),\n\t\t\t\tOrderlySecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"sg-24vswocp\"),\n\t\t\t\t\tpulumi.String(\"sg-3qntci2v\"),\n\t\t\t\t\tpulumi.String(\"sg-7y1t2wax\"),\n\t\t\t\t},\n\t\t\t\tInstanceChargeType: pulumi.String(\"SPOTPAID\"),\n\t\t\t\tSpotInstanceType: pulumi.String(\"one-time\"),\n\t\t\t\tSpotMaxPrice: pulumi.String(\"1000\"),\n\t\t\t\tDataDisks: kubernetes.NodePoolAutoScalingConfigDataDiskArray{\n\t\t\t\t\t\u0026kubernetes.NodePoolAutoScalingConfigDataDiskArgs{\n\t\t\t\t\t\tDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\t\t\t\tDiskSize: pulumi.Int(50),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tInternetChargeType: pulumi.String(\"TRAFFIC_POSTPAID_BY_HOUR\"),\n\t\t\t\tInternetMaxBandwidthOut: pulumi.Int(10),\n\t\t\t\tPublicIpAssigned: pulumi.Bool(true),\n\t\t\t\tPassword: pulumi.String(\"test123#\"),\n\t\t\t\tEnhancedSecurityService: pulumi.Bool(false),\n\t\t\t\tEnhancedMonitorService: pulumi.Bool(false),\n\t\t\t},\n\t\t\tLabels: pulumi.Map{\n\t\t\t\t\"test1\": pulumi.Any(\"test1\"),\n\t\t\t\t\"test2\": pulumi.Any(\"test2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Kubernetes.NodePool;\nimport com.pulumi.tencentcloud.Kubernetes.NodePoolArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.NodePoolAutoScalingConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var mynodepool = new NodePool(\"mynodepool\", NodePoolArgs.builder() \n .clusterId(tencentcloud_kubernetes_cluster.managed_cluster().id())\n .maxSize(6)\n .minSize(1)\n .vpcId(data.tencentcloud_vpc_subnets().vpc().instance_list()[0].vpc_id())\n .subnetIds(data.tencentcloud_vpc_subnets().vpc().instance_list()[0].subnet_id())\n .retryPolicy(\"INCREMENTAL_INTERVALS\")\n .desiredCapacity(4)\n .enableAutoScale(true)\n .multiZoneSubnetPolicy(\"EQUALITY\")\n .autoScalingConfig(NodePoolAutoScalingConfigArgs.builder()\n .instanceType(var_.default_instance_type())\n .systemDiskType(\"CLOUD_PREMIUM\")\n .systemDiskSize(\"50\")\n .orderlySecurityGroupIds( \n \"sg-24vswocp\",\n \"sg-3qntci2v\",\n \"sg-7y1t2wax\")\n .instanceChargeType(\"SPOTPAID\")\n .spotInstanceType(\"one-time\")\n .spotMaxPrice(\"1000\")\n .dataDisks(NodePoolAutoScalingConfigDataDiskArgs.builder()\n .diskType(\"CLOUD_PREMIUM\")\n .diskSize(50)\n .build())\n .internetChargeType(\"TRAFFIC_POSTPAID_BY_HOUR\")\n .internetMaxBandwidthOut(10)\n .publicIpAssigned(true)\n .password(\"test123#\")\n .enhancedSecurityService(false)\n .enhancedMonitorService(false)\n .build())\n .labels(Map.ofEntries(\n Map.entry(\"test1\", \"test1\"),\n Map.entry(\"test2\", \"test2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mynodepool:\n type: tencentcloud:Kubernetes:NodePool\n properties:\n clusterId: ${tencentcloud_kubernetes_cluster.managed_cluster.id}\n maxSize: 6\n minSize: 1\n vpcId: ${data.tencentcloud_vpc_subnets.vpc.instance_list[0].vpc_id}\n subnetIds:\n - ${data.tencentcloud_vpc_subnets.vpc.instance_list[0].subnet_id}\n retryPolicy: INCREMENTAL_INTERVALS\n desiredCapacity: 4\n enableAutoScale: true\n multiZoneSubnetPolicy: EQUALITY\n autoScalingConfig:\n instanceType: ${var.default_instance_type}\n systemDiskType: CLOUD_PREMIUM\n systemDiskSize: '50'\n orderlySecurityGroupIds:\n - sg-24vswocp\n - sg-3qntci2v\n - sg-7y1t2wax\n instanceChargeType: SPOTPAID\n spotInstanceType: one-time\n spotMaxPrice: '1000'\n dataDisks:\n - diskType: CLOUD_PREMIUM\n diskSize: 50\n internetChargeType: TRAFFIC_POSTPAID_BY_HOUR\n internetMaxBandwidthOut: 10\n publicIpAssigned: true\n password: test123#\n enhancedSecurityService: false\n enhancedMonitorService: false\n labels:\n test1: test1\n test2: test2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\ntke node pool can be imported, e.g.\n\n```sh\n$ pulumi import tencentcloud:Kubernetes/nodePool:NodePool test cls-xxx#np-xxx\n```\n", + "description": "Provide a resource to create an auto scaling group for kubernetes cluster.\n\n\u003e **NOTE:** We recommend the usage of one cluster with essential worker config + node pool to manage cluster and nodes. Its a more flexible way than manage worker config with tencentcloud_kubernetes_cluster, tencentcloud.Kubernetes.ScaleWorker or exist node management of `tencentcloud_kubernetes_attachment`. Cause some unchangeable parameters of `worker_config` may cause the whole cluster resource `force new`.\n\n\u003e **NOTE:** In order to ensure the integrity of customer data, if you destroy nodepool instance, it will keep the cvm instance associate with nodepool by default. If you want to destroy together, please set `delete_keep_instance` to `false`.\n\n\u003e **NOTE:** In order to ensure the integrity of customer data, if the cvm instance was destroyed due to shrinking, it will keep the cbs associate with cvm by default. If you want to destroy together, please set `delete_with_instance` to `true`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst config = new pulumi.Config();\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-3\";\nconst clusterCidr = config.get(\"clusterCidr\") || \"172.31.0.0/16\";\nconst vpc = tencentcloud.Vpc.getSubnets({\n isDefault: true,\n availabilityZone: availabilityZone,\n});\nconst defaultInstanceType = config.get(\"defaultInstanceType\") || \"S1.SMALL1\";\n//this is the cluster with empty worker config\nconst exampleCluster = new tencentcloud.kubernetes.Cluster(\"exampleCluster\", {\n vpcId: vpc.then(vpc =\u003e vpc.instanceLists?.[0]?.vpcId),\n clusterCidr: clusterCidr,\n clusterMaxPodNum: 32,\n clusterName: \"tf-tke-unit-test\",\n clusterDesc: \"test cluster desc\",\n clusterMaxServiceNum: 32,\n clusterVersion: \"1.18.4\",\n clusterDeployType: \"MANAGED_CLUSTER\",\n});\n//this is one example of managing node using node pool\nconst exampleNodePool = new tencentcloud.kubernetes.NodePool(\"exampleNodePool\", {\n clusterId: exampleCluster.id,\n maxSize: 6,\n minSize: 1,\n vpcId: vpc.then(vpc =\u003e vpc.instanceLists?.[0]?.vpcId),\n subnetIds: [vpc.then(vpc =\u003e vpc.instanceLists?.[0]?.subnetId)],\n retryPolicy: \"INCREMENTAL_INTERVALS\",\n desiredCapacity: 4,\n enableAutoScale: true,\n multiZoneSubnetPolicy: \"EQUALITY\",\n nodeOs: \"img-9qrfy1xt\",\n autoScalingConfig: {\n instanceType: defaultInstanceType,\n systemDiskType: \"CLOUD_PREMIUM\",\n systemDiskSize: 50,\n orderlySecurityGroupIds: [\"sg-24vswocp\"],\n dataDisks: [{\n diskType: \"CLOUD_PREMIUM\",\n diskSize: 50,\n }],\n internetChargeType: \"TRAFFIC_POSTPAID_BY_HOUR\",\n internetMaxBandwidthOut: 10,\n publicIpAssigned: true,\n password: \"test123#\",\n enhancedSecurityService: false,\n enhancedMonitorService: false,\n hostName: \"12.123.0.0\",\n hostNameStyle: \"ORIGINAL\",\n },\n labels: {\n test1: \"test1\",\n test2: \"test2\",\n },\n taints: [\n {\n key: \"test_taint\",\n value: \"taint_value\",\n effect: \"PreferNoSchedule\",\n },\n {\n key: \"test_taint2\",\n value: \"taint_value2\",\n effect: \"PreferNoSchedule\",\n },\n ],\n nodeConfig: {\n dockerGraphPath: \"/var/lib/docker\",\n extraArgs: [\"root-dir=/var/lib/kubelet\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\navailability_zone = config.get(\"availabilityZone\")\nif availability_zone is None:\n availability_zone = \"ap-guangzhou-3\"\ncluster_cidr = config.get(\"clusterCidr\")\nif cluster_cidr is None:\n cluster_cidr = \"172.31.0.0/16\"\nvpc = tencentcloud.Vpc.get_subnets(is_default=True,\n availability_zone=availability_zone)\ndefault_instance_type = config.get(\"defaultInstanceType\")\nif default_instance_type is None:\n default_instance_type = \"S1.SMALL1\"\n#this is the cluster with empty worker config\nexample_cluster = tencentcloud.kubernetes.Cluster(\"exampleCluster\",\n vpc_id=vpc.instance_lists[0].vpc_id,\n cluster_cidr=cluster_cidr,\n cluster_max_pod_num=32,\n cluster_name=\"tf-tke-unit-test\",\n cluster_desc=\"test cluster desc\",\n cluster_max_service_num=32,\n cluster_version=\"1.18.4\",\n cluster_deploy_type=\"MANAGED_CLUSTER\")\n#this is one example of managing node using node pool\nexample_node_pool = tencentcloud.kubernetes.NodePool(\"exampleNodePool\",\n cluster_id=example_cluster.id,\n max_size=6,\n min_size=1,\n vpc_id=vpc.instance_lists[0].vpc_id,\n subnet_ids=[vpc.instance_lists[0].subnet_id],\n retry_policy=\"INCREMENTAL_INTERVALS\",\n desired_capacity=4,\n enable_auto_scale=True,\n multi_zone_subnet_policy=\"EQUALITY\",\n node_os=\"img-9qrfy1xt\",\n auto_scaling_config=tencentcloud.kubernetes.NodePoolAutoScalingConfigArgs(\n instance_type=default_instance_type,\n system_disk_type=\"CLOUD_PREMIUM\",\n system_disk_size=50,\n orderly_security_group_ids=[\"sg-24vswocp\"],\n data_disks=[tencentcloud.kubernetes.NodePoolAutoScalingConfigDataDiskArgs(\n disk_type=\"CLOUD_PREMIUM\",\n disk_size=50,\n )],\n internet_charge_type=\"TRAFFIC_POSTPAID_BY_HOUR\",\n internet_max_bandwidth_out=10,\n public_ip_assigned=True,\n password=\"test123#\",\n enhanced_security_service=False,\n enhanced_monitor_service=False,\n host_name=\"12.123.0.0\",\n host_name_style=\"ORIGINAL\",\n ),\n labels={\n \"test1\": \"test1\",\n \"test2\": \"test2\",\n },\n taints=[\n tencentcloud.kubernetes.NodePoolTaintArgs(\n key=\"test_taint\",\n value=\"taint_value\",\n effect=\"PreferNoSchedule\",\n ),\n tencentcloud.kubernetes.NodePoolTaintArgs(\n key=\"test_taint2\",\n value=\"taint_value2\",\n effect=\"PreferNoSchedule\",\n ),\n ],\n node_config=tencentcloud.kubernetes.NodePoolNodeConfigArgs(\n docker_graph_path=\"/var/lib/docker\",\n extra_args=[\"root-dir=/var/lib/kubelet\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = Pulumi.Tencentcloud;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-3\";\n var clusterCidr = config.Get(\"clusterCidr\") ?? \"172.31.0.0/16\";\n var vpc = Tencentcloud.Vpc.GetSubnets.Invoke(new()\n {\n IsDefault = true,\n AvailabilityZone = availabilityZone,\n });\n\n var defaultInstanceType = config.Get(\"defaultInstanceType\") ?? \"S1.SMALL1\";\n //this is the cluster with empty worker config\n var exampleCluster = new Tencentcloud.Kubernetes.Cluster(\"exampleCluster\", new()\n {\n VpcId = vpc.Apply(getSubnetsResult =\u003e getSubnetsResult.InstanceLists[0]?.VpcId),\n ClusterCidr = clusterCidr,\n ClusterMaxPodNum = 32,\n ClusterName = \"tf-tke-unit-test\",\n ClusterDesc = \"test cluster desc\",\n ClusterMaxServiceNum = 32,\n ClusterVersion = \"1.18.4\",\n ClusterDeployType = \"MANAGED_CLUSTER\",\n });\n\n //this is one example of managing node using node pool\n var exampleNodePool = new Tencentcloud.Kubernetes.NodePool(\"exampleNodePool\", new()\n {\n ClusterId = exampleCluster.Id,\n MaxSize = 6,\n MinSize = 1,\n VpcId = vpc.Apply(getSubnetsResult =\u003e getSubnetsResult.InstanceLists[0]?.VpcId),\n SubnetIds = new[]\n {\n vpc.Apply(getSubnetsResult =\u003e getSubnetsResult.InstanceLists[0]?.SubnetId),\n },\n RetryPolicy = \"INCREMENTAL_INTERVALS\",\n DesiredCapacity = 4,\n EnableAutoScale = true,\n MultiZoneSubnetPolicy = \"EQUALITY\",\n NodeOs = \"img-9qrfy1xt\",\n AutoScalingConfig = new Tencentcloud.Kubernetes.Inputs.NodePoolAutoScalingConfigArgs\n {\n InstanceType = defaultInstanceType,\n SystemDiskType = \"CLOUD_PREMIUM\",\n SystemDiskSize = 50,\n OrderlySecurityGroupIds = new[]\n {\n \"sg-24vswocp\",\n },\n DataDisks = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.NodePoolAutoScalingConfigDataDiskArgs\n {\n DiskType = \"CLOUD_PREMIUM\",\n DiskSize = 50,\n },\n },\n InternetChargeType = \"TRAFFIC_POSTPAID_BY_HOUR\",\n InternetMaxBandwidthOut = 10,\n PublicIpAssigned = true,\n Password = \"test123#\",\n EnhancedSecurityService = false,\n EnhancedMonitorService = false,\n HostName = \"12.123.0.0\",\n HostNameStyle = \"ORIGINAL\",\n },\n Labels = \n {\n { \"test1\", \"test1\" },\n { \"test2\", \"test2\" },\n },\n Taints = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.NodePoolTaintArgs\n {\n Key = \"test_taint\",\n Value = \"taint_value\",\n Effect = \"PreferNoSchedule\",\n },\n new Tencentcloud.Kubernetes.Inputs.NodePoolTaintArgs\n {\n Key = \"test_taint2\",\n Value = \"taint_value2\",\n Effect = \"PreferNoSchedule\",\n },\n },\n NodeConfig = new Tencentcloud.Kubernetes.Inputs.NodePoolNodeConfigArgs\n {\n DockerGraphPath = \"/var/lib/docker\",\n ExtraArgs = new[]\n {\n \"root-dir=/var/lib/kubelet\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Kubernetes\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tavailabilityZone := \"ap-guangzhou-3\"\n\t\tif param := cfg.Get(\"availabilityZone\"); param != \"\" {\n\t\t\tavailabilityZone = param\n\t\t}\n\t\tclusterCidr := \"172.31.0.0/16\"\n\t\tif param := cfg.Get(\"clusterCidr\"); param != \"\" {\n\t\t\tclusterCidr = param\n\t\t}\n\t\tvpc, err := Vpc.GetSubnets(ctx, \u0026vpc.GetSubnetsArgs{\n\t\t\tIsDefault: pulumi.BoolRef(true),\n\t\t\tAvailabilityZone: pulumi.StringRef(availabilityZone),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstanceType := \"S1.SMALL1\"\n\t\tif param := cfg.Get(\"defaultInstanceType\"); param != \"\" {\n\t\t\tdefaultInstanceType = param\n\t\t}\n\t\t// this is the cluster with empty worker config\n\t\texampleCluster, err := Kubernetes.NewCluster(ctx, \"exampleCluster\", \u0026Kubernetes.ClusterArgs{\n\t\t\tVpcId: pulumi.String(vpc.InstanceLists[0].VpcId),\n\t\t\tClusterCidr: pulumi.String(clusterCidr),\n\t\t\tClusterMaxPodNum: pulumi.Int(32),\n\t\t\tClusterName: pulumi.String(\"tf-tke-unit-test\"),\n\t\t\tClusterDesc: pulumi.String(\"test cluster desc\"),\n\t\t\tClusterMaxServiceNum: pulumi.Int(32),\n\t\t\tClusterVersion: pulumi.String(\"1.18.4\"),\n\t\t\tClusterDeployType: pulumi.String(\"MANAGED_CLUSTER\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// this is one example of managing node using node pool\n\t\t_, err = Kubernetes.NewNodePool(ctx, \"exampleNodePool\", \u0026Kubernetes.NodePoolArgs{\n\t\t\tClusterId: exampleCluster.ID(),\n\t\t\tMaxSize: pulumi.Int(6),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tVpcId: pulumi.String(vpc.InstanceLists[0].VpcId),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(vpc.InstanceLists[0].SubnetId),\n\t\t\t},\n\t\t\tRetryPolicy: pulumi.String(\"INCREMENTAL_INTERVALS\"),\n\t\t\tDesiredCapacity: pulumi.Int(4),\n\t\t\tEnableAutoScale: pulumi.Bool(true),\n\t\t\tMultiZoneSubnetPolicy: pulumi.String(\"EQUALITY\"),\n\t\t\tNodeOs: pulumi.String(\"img-9qrfy1xt\"),\n\t\t\tAutoScalingConfig: \u0026kubernetes.NodePoolAutoScalingConfigArgs{\n\t\t\t\tInstanceType: pulumi.String(defaultInstanceType),\n\t\t\t\tSystemDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\t\tSystemDiskSize: pulumi.Int(50),\n\t\t\t\tOrderlySecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"sg-24vswocp\"),\n\t\t\t\t},\n\t\t\t\tDataDisks: kubernetes.NodePoolAutoScalingConfigDataDiskArray{\n\t\t\t\t\t\u0026kubernetes.NodePoolAutoScalingConfigDataDiskArgs{\n\t\t\t\t\t\tDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\t\t\t\tDiskSize: pulumi.Int(50),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tInternetChargeType: pulumi.String(\"TRAFFIC_POSTPAID_BY_HOUR\"),\n\t\t\t\tInternetMaxBandwidthOut: pulumi.Int(10),\n\t\t\t\tPublicIpAssigned: pulumi.Bool(true),\n\t\t\t\tPassword: pulumi.String(\"test123#\"),\n\t\t\t\tEnhancedSecurityService: pulumi.Bool(false),\n\t\t\t\tEnhancedMonitorService: pulumi.Bool(false),\n\t\t\t\tHostName: pulumi.String(\"12.123.0.0\"),\n\t\t\t\tHostNameStyle: pulumi.String(\"ORIGINAL\"),\n\t\t\t},\n\t\t\tLabels: pulumi.Map{\n\t\t\t\t\"test1\": pulumi.Any(\"test1\"),\n\t\t\t\t\"test2\": pulumi.Any(\"test2\"),\n\t\t\t},\n\t\t\tTaints: kubernetes.NodePoolTaintArray{\n\t\t\t\t\u0026kubernetes.NodePoolTaintArgs{\n\t\t\t\t\tKey: pulumi.String(\"test_taint\"),\n\t\t\t\t\tValue: pulumi.String(\"taint_value\"),\n\t\t\t\t\tEffect: pulumi.String(\"PreferNoSchedule\"),\n\t\t\t\t},\n\t\t\t\t\u0026kubernetes.NodePoolTaintArgs{\n\t\t\t\t\tKey: pulumi.String(\"test_taint2\"),\n\t\t\t\t\tValue: pulumi.String(\"taint_value2\"),\n\t\t\t\t\tEffect: pulumi.String(\"PreferNoSchedule\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNodeConfig: \u0026kubernetes.NodePoolNodeConfigArgs{\n\t\t\t\tDockerGraphPath: pulumi.String(\"/var/lib/docker\"),\n\t\t\t\tExtraArgs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"root-dir=/var/lib/kubelet\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Vpc.VpcFunctions;\nimport com.pulumi.tencentcloud.Vpc.inputs.GetSubnetsArgs;\nimport com.pulumi.tencentcloud.Kubernetes.Cluster;\nimport com.pulumi.tencentcloud.Kubernetes.ClusterArgs;\nimport com.pulumi.tencentcloud.Kubernetes.NodePool;\nimport com.pulumi.tencentcloud.Kubernetes.NodePoolArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.NodePoolAutoScalingConfigArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.NodePoolTaintArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.NodePoolNodeConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var availabilityZone = config.get(\"availabilityZone\").orElse(\"ap-guangzhou-3\");\n final var clusterCidr = config.get(\"clusterCidr\").orElse(\"172.31.0.0/16\");\n final var vpc = VpcFunctions.getSubnets(GetSubnetsArgs.builder()\n .isDefault(true)\n .availabilityZone(availabilityZone)\n .build());\n\n final var defaultInstanceType = config.get(\"defaultInstanceType\").orElse(\"S1.SMALL1\");\n //this is the cluster with empty worker config\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder() \n .vpcId(vpc.applyValue(getSubnetsResult -\u003e getSubnetsResult.instanceLists()[0].vpcId()))\n .clusterCidr(clusterCidr)\n .clusterMaxPodNum(32)\n .clusterName(\"tf-tke-unit-test\")\n .clusterDesc(\"test cluster desc\")\n .clusterMaxServiceNum(32)\n .clusterVersion(\"1.18.4\")\n .clusterDeployType(\"MANAGED_CLUSTER\")\n .build());\n\n //this is one example of managing node using node pool\n var exampleNodePool = new NodePool(\"exampleNodePool\", NodePoolArgs.builder() \n .clusterId(exampleCluster.id())\n .maxSize(6)\n .minSize(1)\n .vpcId(vpc.applyValue(getSubnetsResult -\u003e getSubnetsResult.instanceLists()[0].vpcId()))\n .subnetIds(vpc.applyValue(getSubnetsResult -\u003e getSubnetsResult.instanceLists()[0].subnetId()))\n .retryPolicy(\"INCREMENTAL_INTERVALS\")\n .desiredCapacity(4)\n .enableAutoScale(true)\n .multiZoneSubnetPolicy(\"EQUALITY\")\n .nodeOs(\"img-9qrfy1xt\")\n .autoScalingConfig(NodePoolAutoScalingConfigArgs.builder()\n .instanceType(defaultInstanceType)\n .systemDiskType(\"CLOUD_PREMIUM\")\n .systemDiskSize(\"50\")\n .orderlySecurityGroupIds(\"sg-24vswocp\")\n .dataDisks(NodePoolAutoScalingConfigDataDiskArgs.builder()\n .diskType(\"CLOUD_PREMIUM\")\n .diskSize(50)\n .build())\n .internetChargeType(\"TRAFFIC_POSTPAID_BY_HOUR\")\n .internetMaxBandwidthOut(10)\n .publicIpAssigned(true)\n .password(\"test123#\")\n .enhancedSecurityService(false)\n .enhancedMonitorService(false)\n .hostName(\"12.123.0.0\")\n .hostNameStyle(\"ORIGINAL\")\n .build())\n .labels(Map.ofEntries(\n Map.entry(\"test1\", \"test1\"),\n Map.entry(\"test2\", \"test2\")\n ))\n .taints( \n NodePoolTaintArgs.builder()\n .key(\"test_taint\")\n .value(\"taint_value\")\n .effect(\"PreferNoSchedule\")\n .build(),\n NodePoolTaintArgs.builder()\n .key(\"test_taint2\")\n .value(\"taint_value2\")\n .effect(\"PreferNoSchedule\")\n .build())\n .nodeConfig(NodePoolNodeConfigArgs.builder()\n .dockerGraphPath(\"/var/lib/docker\")\n .extraArgs(\"root-dir=/var/lib/kubelet\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-3\n clusterCidr:\n type: string\n default: 172.31.0.0/16\n defaultInstanceType:\n type: string\n default: S1.SMALL1\nresources:\n # this is the cluster with empty worker config\n exampleCluster:\n type: tencentcloud:Kubernetes:Cluster\n properties:\n vpcId: ${vpc.instanceLists[0].vpcId}\n clusterCidr: ${clusterCidr}\n clusterMaxPodNum: 32\n clusterName: tf-tke-unit-test\n clusterDesc: test cluster desc\n clusterMaxServiceNum: 32\n clusterVersion: 1.18.4\n clusterDeployType: MANAGED_CLUSTER\n # this is one example of managing node using node pool\n exampleNodePool:\n type: tencentcloud:Kubernetes:NodePool\n properties:\n clusterId: ${exampleCluster.id}\n maxSize: 6\n minSize: 1\n vpcId: ${vpc.instanceLists[0].vpcId}\n subnetIds:\n - ${vpc.instanceLists[0].subnetId}\n retryPolicy: INCREMENTAL_INTERVALS\n desiredCapacity: 4\n enableAutoScale: true\n multiZoneSubnetPolicy: EQUALITY\n nodeOs: img-9qrfy1xt\n autoScalingConfig:\n instanceType: ${defaultInstanceType}\n systemDiskType: CLOUD_PREMIUM\n systemDiskSize: '50'\n orderlySecurityGroupIds:\n - sg-24vswocp\n dataDisks:\n - diskType: CLOUD_PREMIUM\n diskSize: 50\n internetChargeType: TRAFFIC_POSTPAID_BY_HOUR\n internetMaxBandwidthOut: 10\n publicIpAssigned: true\n password: test123#\n enhancedSecurityService: false\n enhancedMonitorService: false\n hostName: 12.123.0.0\n hostNameStyle: ORIGINAL\n labels:\n test1: test1\n test2: test2\n taints:\n - key: test_taint\n value: taint_value\n effect: PreferNoSchedule\n - key: test_taint2\n value: taint_value2\n effect: PreferNoSchedule\n nodeConfig:\n dockerGraphPath: /var/lib/docker\n extraArgs:\n - root-dir=/var/lib/kubelet\nvariables:\n vpc:\n fn::invoke:\n Function: tencentcloud:Vpc:getSubnets\n Arguments:\n isDefault: true\n availabilityZone: ${availabilityZone}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using Spot CVM Instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst example = new tencentcloud.kubernetes.NodePool(\"example\", {\n clusterId: tencentcloud_kubernetes_cluster.managed_cluster.id,\n maxSize: 6,\n minSize: 1,\n vpcId: data.tencentcloud_vpc_subnets.vpc.instance_list[0].vpc_id,\n subnetIds: [data.tencentcloud_vpc_subnets.vpc.instance_list[0].subnet_id],\n retryPolicy: \"INCREMENTAL_INTERVALS\",\n desiredCapacity: 4,\n enableAutoScale: true,\n multiZoneSubnetPolicy: \"EQUALITY\",\n autoScalingConfig: {\n instanceType: _var.default_instance_type,\n systemDiskType: \"CLOUD_PREMIUM\",\n systemDiskSize: 50,\n orderlySecurityGroupIds: [\n \"sg-24vswocp\",\n \"sg-3qntci2v\",\n \"sg-7y1t2wax\",\n ],\n instanceChargeType: \"SPOTPAID\",\n spotInstanceType: \"one-time\",\n spotMaxPrice: \"1000\",\n dataDisks: [{\n diskType: \"CLOUD_PREMIUM\",\n diskSize: 50,\n }],\n internetChargeType: \"TRAFFIC_POSTPAID_BY_HOUR\",\n internetMaxBandwidthOut: 10,\n publicIpAssigned: true,\n password: \"test123#\",\n enhancedSecurityService: false,\n enhancedMonitorService: false,\n },\n labels: {\n test1: \"test1\",\n test2: \"test2\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.kubernetes.NodePool(\"example\",\n cluster_id=tencentcloud_kubernetes_cluster[\"managed_cluster\"][\"id\"],\n max_size=6,\n min_size=1,\n vpc_id=data[\"tencentcloud_vpc_subnets\"][\"vpc\"][\"instance_list\"][0][\"vpc_id\"],\n subnet_ids=[data[\"tencentcloud_vpc_subnets\"][\"vpc\"][\"instance_list\"][0][\"subnet_id\"]],\n retry_policy=\"INCREMENTAL_INTERVALS\",\n desired_capacity=4,\n enable_auto_scale=True,\n multi_zone_subnet_policy=\"EQUALITY\",\n auto_scaling_config=tencentcloud.kubernetes.NodePoolAutoScalingConfigArgs(\n instance_type=var[\"default_instance_type\"],\n system_disk_type=\"CLOUD_PREMIUM\",\n system_disk_size=50,\n orderly_security_group_ids=[\n \"sg-24vswocp\",\n \"sg-3qntci2v\",\n \"sg-7y1t2wax\",\n ],\n instance_charge_type=\"SPOTPAID\",\n spot_instance_type=\"one-time\",\n spot_max_price=\"1000\",\n data_disks=[tencentcloud.kubernetes.NodePoolAutoScalingConfigDataDiskArgs(\n disk_type=\"CLOUD_PREMIUM\",\n disk_size=50,\n )],\n internet_charge_type=\"TRAFFIC_POSTPAID_BY_HOUR\",\n internet_max_bandwidth_out=10,\n public_ip_assigned=True,\n password=\"test123#\",\n enhanced_security_service=False,\n enhanced_monitor_service=False,\n ),\n labels={\n \"test1\": \"test1\",\n \"test2\": \"test2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Tencentcloud.Kubernetes.NodePool(\"example\", new()\n {\n ClusterId = tencentcloud_kubernetes_cluster.Managed_cluster.Id,\n MaxSize = 6,\n MinSize = 1,\n VpcId = data.Tencentcloud_vpc_subnets.Vpc.Instance_list[0].Vpc_id,\n SubnetIds = new[]\n {\n data.Tencentcloud_vpc_subnets.Vpc.Instance_list[0].Subnet_id,\n },\n RetryPolicy = \"INCREMENTAL_INTERVALS\",\n DesiredCapacity = 4,\n EnableAutoScale = true,\n MultiZoneSubnetPolicy = \"EQUALITY\",\n AutoScalingConfig = new Tencentcloud.Kubernetes.Inputs.NodePoolAutoScalingConfigArgs\n {\n InstanceType = @var.Default_instance_type,\n SystemDiskType = \"CLOUD_PREMIUM\",\n SystemDiskSize = 50,\n OrderlySecurityGroupIds = new[]\n {\n \"sg-24vswocp\",\n \"sg-3qntci2v\",\n \"sg-7y1t2wax\",\n },\n InstanceChargeType = \"SPOTPAID\",\n SpotInstanceType = \"one-time\",\n SpotMaxPrice = \"1000\",\n DataDisks = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.NodePoolAutoScalingConfigDataDiskArgs\n {\n DiskType = \"CLOUD_PREMIUM\",\n DiskSize = 50,\n },\n },\n InternetChargeType = \"TRAFFIC_POSTPAID_BY_HOUR\",\n InternetMaxBandwidthOut = 10,\n PublicIpAssigned = true,\n Password = \"test123#\",\n EnhancedSecurityService = false,\n EnhancedMonitorService = false,\n },\n Labels = \n {\n { \"test1\", \"test1\" },\n { \"test2\", \"test2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Kubernetes\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Kubernetes.NewNodePool(ctx, \"example\", \u0026Kubernetes.NodePoolArgs{\n\t\t\tClusterId: pulumi.Any(tencentcloud_kubernetes_cluster.Managed_cluster.Id),\n\t\t\tMaxSize: pulumi.Int(6),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tVpcId: pulumi.Any(data.Tencentcloud_vpc_subnets.Vpc.Instance_list[0].Vpc_id),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tdata.Tencentcloud_vpc_subnets.Vpc.Instance_list[0].Subnet_id,\n\t\t\t},\n\t\t\tRetryPolicy: pulumi.String(\"INCREMENTAL_INTERVALS\"),\n\t\t\tDesiredCapacity: pulumi.Int(4),\n\t\t\tEnableAutoScale: pulumi.Bool(true),\n\t\t\tMultiZoneSubnetPolicy: pulumi.String(\"EQUALITY\"),\n\t\t\tAutoScalingConfig: \u0026kubernetes.NodePoolAutoScalingConfigArgs{\n\t\t\t\tInstanceType: pulumi.Any(_var.Default_instance_type),\n\t\t\t\tSystemDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\t\tSystemDiskSize: pulumi.Int(50),\n\t\t\t\tOrderlySecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"sg-24vswocp\"),\n\t\t\t\t\tpulumi.String(\"sg-3qntci2v\"),\n\t\t\t\t\tpulumi.String(\"sg-7y1t2wax\"),\n\t\t\t\t},\n\t\t\t\tInstanceChargeType: pulumi.String(\"SPOTPAID\"),\n\t\t\t\tSpotInstanceType: pulumi.String(\"one-time\"),\n\t\t\t\tSpotMaxPrice: pulumi.String(\"1000\"),\n\t\t\t\tDataDisks: kubernetes.NodePoolAutoScalingConfigDataDiskArray{\n\t\t\t\t\t\u0026kubernetes.NodePoolAutoScalingConfigDataDiskArgs{\n\t\t\t\t\t\tDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\t\t\t\tDiskSize: pulumi.Int(50),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tInternetChargeType: pulumi.String(\"TRAFFIC_POSTPAID_BY_HOUR\"),\n\t\t\t\tInternetMaxBandwidthOut: pulumi.Int(10),\n\t\t\t\tPublicIpAssigned: pulumi.Bool(true),\n\t\t\t\tPassword: pulumi.String(\"test123#\"),\n\t\t\t\tEnhancedSecurityService: pulumi.Bool(false),\n\t\t\t\tEnhancedMonitorService: pulumi.Bool(false),\n\t\t\t},\n\t\t\tLabels: pulumi.Map{\n\t\t\t\t\"test1\": pulumi.Any(\"test1\"),\n\t\t\t\t\"test2\": pulumi.Any(\"test2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Kubernetes.NodePool;\nimport com.pulumi.tencentcloud.Kubernetes.NodePoolArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.NodePoolAutoScalingConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new NodePool(\"example\", NodePoolArgs.builder() \n .clusterId(tencentcloud_kubernetes_cluster.managed_cluster().id())\n .maxSize(6)\n .minSize(1)\n .vpcId(data.tencentcloud_vpc_subnets().vpc().instance_list()[0].vpc_id())\n .subnetIds(data.tencentcloud_vpc_subnets().vpc().instance_list()[0].subnet_id())\n .retryPolicy(\"INCREMENTAL_INTERVALS\")\n .desiredCapacity(4)\n .enableAutoScale(true)\n .multiZoneSubnetPolicy(\"EQUALITY\")\n .autoScalingConfig(NodePoolAutoScalingConfigArgs.builder()\n .instanceType(var_.default_instance_type())\n .systemDiskType(\"CLOUD_PREMIUM\")\n .systemDiskSize(\"50\")\n .orderlySecurityGroupIds( \n \"sg-24vswocp\",\n \"sg-3qntci2v\",\n \"sg-7y1t2wax\")\n .instanceChargeType(\"SPOTPAID\")\n .spotInstanceType(\"one-time\")\n .spotMaxPrice(\"1000\")\n .dataDisks(NodePoolAutoScalingConfigDataDiskArgs.builder()\n .diskType(\"CLOUD_PREMIUM\")\n .diskSize(50)\n .build())\n .internetChargeType(\"TRAFFIC_POSTPAID_BY_HOUR\")\n .internetMaxBandwidthOut(10)\n .publicIpAssigned(true)\n .password(\"test123#\")\n .enhancedSecurityService(false)\n .enhancedMonitorService(false)\n .build())\n .labels(Map.ofEntries(\n Map.entry(\"test1\", \"test1\"),\n Map.entry(\"test2\", \"test2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Kubernetes:NodePool\n properties:\n clusterId: ${tencentcloud_kubernetes_cluster.managed_cluster.id}\n maxSize: 6\n minSize: 1\n vpcId: ${data.tencentcloud_vpc_subnets.vpc.instance_list[0].vpc_id}\n subnetIds:\n - ${data.tencentcloud_vpc_subnets.vpc.instance_list[0].subnet_id}\n retryPolicy: INCREMENTAL_INTERVALS\n desiredCapacity: 4\n enableAutoScale: true\n multiZoneSubnetPolicy: EQUALITY\n autoScalingConfig:\n instanceType: ${var.default_instance_type}\n systemDiskType: CLOUD_PREMIUM\n systemDiskSize: '50'\n orderlySecurityGroupIds:\n - sg-24vswocp\n - sg-3qntci2v\n - sg-7y1t2wax\n instanceChargeType: SPOTPAID\n spotInstanceType: one-time\n spotMaxPrice: '1000'\n dataDisks:\n - diskType: CLOUD_PREMIUM\n diskSize: 50\n internetChargeType: TRAFFIC_POSTPAID_BY_HOUR\n internetMaxBandwidthOut: 10\n publicIpAssigned: true\n password: test123#\n enhancedSecurityService: false\n enhancedMonitorService: false\n labels:\n test1: test1\n test2: test2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\ntke node pool can be imported, e.g.\n\n```sh\n$ pulumi import tencentcloud:Kubernetes/nodePool:NodePool example cls-d2xdg3io#np-380ay1o8\n```\n", "properties": { + "annotations": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/NodePoolAnnotation:NodePoolAnnotation" + }, + "description": "Node Annotation List.\n" + }, "autoScalingConfig": { "$ref": "#/types/tencentcloud:Kubernetes/NodePoolAutoScalingConfig:NodePoolAutoScalingConfig", "description": "Auto scaling config parameters.\n" @@ -169148,6 +178661,7 @@ } }, "required": [ + "annotations", "autoScalingConfig", "autoScalingGroupId", "autoscalingAddedTotal", @@ -169163,10 +178677,18 @@ "nodeCount", "scalingGroupName", "status", + "tags", "terminationPolicies", "vpcId" ], "inputProperties": { + "annotations": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/NodePoolAnnotation:NodePoolAnnotation" + }, + "description": "Node Annotation List.\n" + }, "autoScalingConfig": { "$ref": "#/types/tencentcloud:Kubernetes/NodePoolAutoScalingConfig:NodePoolAutoScalingConfig", "description": "Auto scaling config parameters.\n" @@ -169303,6 +178825,13 @@ "stateInputs": { "description": "Input properties used for looking up and filtering NodePool resources.\n", "properties": { + "annotations": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/NodePoolAnnotation:NodePoolAnnotation" + }, + "description": "Node Annotation List.\n" + }, "autoScalingConfig": { "$ref": "#/types/tencentcloud:Kubernetes/NodePoolAutoScalingConfig:NodePoolAutoScalingConfig", "description": "Auto scaling config parameters.\n" @@ -169457,18 +178986,22 @@ } }, "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\u003e **NOTE:** If you need to view error messages during instance creation, you can use parameter `create_result_output_file` to set the file save path\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 createResultOutputFile: \"my_output_file_path\",\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 create_result_output_file=\"my_output_file_path\")\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 CreateResultOutputFile = \"my_output_file_path\",\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\tCreateResultOutputFile: pulumi.String(\"my_output_file_path\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\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 .createResultOutputFile(\"my_output_file_path\")\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 createResultOutputFile: my_output_file_path\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\n```\n", "properties": { "clusterId": { "type": "string", "description": "ID of the cluster.\n" }, + "createResultOutputFile": { + "type": "string", + "description": "Used to save results of CVMs creation error messages.\n" + }, "dataDisks": { "type": "array", "items": { "$ref": "#/types/tencentcloud:Kubernetes/ScaleWorkerDataDisk:ScaleWorkerDataDisk" }, - "description": "Configurations of data disk.\n" + "description": "Configurations of tke data disk.\n" }, "desiredPodNum": { "type": "integer", @@ -169504,6 +179037,13 @@ "type": "string", "description": "Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes.\n" }, + "taints": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/ScaleWorkerTaint:ScaleWorkerTaint" + }, + "description": "Node taint.\n" + }, "unschedulable": { "type": "integer", "description": "Set whether the added node participates in scheduling. The default value is 0, which means participating in scheduling; non-0 means not participating in scheduling. After the node initialization is completed, you can execute kubectl uncordon nodename to join the node in scheduling.\n" @@ -169535,12 +179075,17 @@ "description": "ID of the cluster.\n", "willReplaceOnChanges": true }, + "createResultOutputFile": { + "type": "string", + "description": "Used to save results of CVMs creation error messages.\n", + "willReplaceOnChanges": true + }, "dataDisks": { "type": "array", "items": { "$ref": "#/types/tencentcloud:Kubernetes/ScaleWorkerDataDisk:ScaleWorkerDataDisk" }, - "description": "Configurations of data disk.\n", + "description": "Configurations of tke data disk.\n", "willReplaceOnChanges": true }, "desiredPodNum": { @@ -169584,6 +179129,14 @@ "description": "Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes.\n", "willReplaceOnChanges": true }, + "taints": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/ScaleWorkerTaint:ScaleWorkerTaint" + }, + "description": "Node taint.\n", + "willReplaceOnChanges": true + }, "unschedulable": { "type": "integer", "description": "Set whether the added node participates in scheduling. The default value is 0, which means participating in scheduling; non-0 means not participating in scheduling. After the node initialization is completed, you can execute kubectl uncordon nodename to join the node in scheduling.\n", @@ -169612,12 +179165,17 @@ "description": "ID of the cluster.\n", "willReplaceOnChanges": true }, + "createResultOutputFile": { + "type": "string", + "description": "Used to save results of CVMs creation error messages.\n", + "willReplaceOnChanges": true + }, "dataDisks": { "type": "array", "items": { "$ref": "#/types/tencentcloud:Kubernetes/ScaleWorkerDataDisk:ScaleWorkerDataDisk" }, - "description": "Configurations of data disk.\n", + "description": "Configurations of tke data disk.\n", "willReplaceOnChanges": true }, "desiredPodNum": { @@ -169661,6 +179219,14 @@ "description": "Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes.\n", "willReplaceOnChanges": true }, + "taints": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/ScaleWorkerTaint:ScaleWorkerTaint" + }, + "description": "Node taint.\n", + "willReplaceOnChanges": true + }, "unschedulable": { "type": "integer", "description": "Set whether the added node participates in scheduling. The default value is 0, which means participating in scheduling; non-0 means not participating in scheduling. After the node initialization is completed, you can execute kubectl uncordon nodename to join the node in scheduling.\n", @@ -170961,6 +180527,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 +182651,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 +182741,8 @@ "hiddenZone", "instanceName", "machineType", + "maintenanceEnd", + "maintenanceStart", "memory", "nodeNum", "standbyInstanceLists", @@ -173091,6 +182798,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 +182924,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 +183262,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 +185500,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 +185963,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 +185971,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 +186023,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 +186065,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 +189935,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", + "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 +190774,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 +190927,7 @@ "availabilityZone", "cpu", "deviceType", + "engineType", "firstSlaveZone", "gtid", "instanceName", @@ -181060,6 +190965,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 +191115,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,6 +192026,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. Cross-region query requires master instance permission.\n" + }, "securityGroups": { "type": "array", "items": { @@ -182169,6 +192086,7 @@ "masterInstanceId", "masterRegion", "memSize", + "roGroupId", "status", "subnetId", "taskStatus", @@ -182240,6 +192158,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. Cross-region query requires master instance permission.\n" + }, "securityGroups": { "type": "array", "items": { @@ -182359,6 +192281,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. Cross-region query requires master instance permission.\n" + }, "securityGroups": { "type": "array", "items": { @@ -183169,6 +193095,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": { @@ -183462,7 +193442,7 @@ } }, "tencentcloud:Nat/gateway:Gateway": { - "description": "Provides a resource to create a NAT gateway.\n\n## Example Usage\n\n### Create a traditional NAT gateway.\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 eipExample1 = new tencentcloud.eip.Instance(\"eipExample1\", {});\nconst eipExample2 = new tencentcloud.eip.Instance(\"eipExample2\", {});\nconst example = new tencentcloud.nat.Gateway(\"example\", {\n vpcId: vpc.id,\n bandwidth: 100,\n maxConcurrent: 1000000,\n assignedEipSets: [\n eipExample1.publicIp,\n eipExample2.publicIp,\n ],\n tags: {\n tf_tag_key: \"tf_tag_value\",\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\")\neip_example1 = tencentcloud.eip.Instance(\"eipExample1\")\neip_example2 = tencentcloud.eip.Instance(\"eipExample2\")\nexample = tencentcloud.nat.Gateway(\"example\",\n vpc_id=vpc.id,\n bandwidth=100,\n max_concurrent=1000000,\n assigned_eip_sets=[\n eip_example1.public_ip,\n eip_example2.public_ip,\n ],\n tags={\n \"tf_tag_key\": \"tf_tag_value\",\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 var eipExample1 = new Tencentcloud.Eip.Instance(\"eipExample1\");\n\n var eipExample2 = new Tencentcloud.Eip.Instance(\"eipExample2\");\n\n var example = new Tencentcloud.Nat.Gateway(\"example\", new()\n {\n VpcId = vpc.Id,\n Bandwidth = 100,\n MaxConcurrent = 1000000,\n AssignedEipSets = new[]\n {\n eipExample1.PublicIp,\n eipExample2.PublicIp,\n },\n Tags = \n {\n { \"tf_tag_key\", \"tf_tag_value\" },\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/Eip\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Nat\"\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\teipExample1, err := Eip.NewInstance(ctx, \"eipExample1\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\teipExample2, err := Eip.NewInstance(ctx, \"eipExample2\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Nat.NewGateway(ctx, \"example\", \u0026Nat.GatewayArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tBandwidth: pulumi.Int(100),\n\t\t\tMaxConcurrent: pulumi.Int(1000000),\n\t\t\tAssignedEipSets: pulumi.StringArray{\n\t\t\t\teipExample1.PublicIp,\n\t\t\t\teipExample2.PublicIp,\n\t\t\t},\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"tf_tag_key\": pulumi.Any(\"tf_tag_value\"),\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.Eip.Instance;\nimport com.pulumi.tencentcloud.Nat.Gateway;\nimport com.pulumi.tencentcloud.Nat.GatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 eipExample1 = new Instance(\"eipExample1\");\n\n var eipExample2 = new Instance(\"eipExample2\");\n\n var example = new Gateway(\"example\", GatewayArgs.builder() \n .vpcId(vpc.id())\n .bandwidth(100)\n .maxConcurrent(1000000)\n .assignedEipSets( \n eipExample1.publicIp(),\n eipExample2.publicIp())\n .tags(Map.of(\"tf_tag_key\", \"tf_tag_value\"))\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 eipExample1:\n type: tencentcloud:Eip:Instance\n eipExample2:\n type: tencentcloud:Eip:Instance\n example:\n type: tencentcloud:Nat:Gateway\n properties:\n vpcId: ${vpc.id}\n bandwidth: 100\n maxConcurrent: 1e+06\n assignedEipSets:\n - ${eipExample1.publicIp}\n - ${eipExample2.publicIp}\n tags:\n tf_tag_key: tf_tag_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a standard NAT gateway.\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 eipExample1 = new tencentcloud.eip.Instance(\"eipExample1\", {});\nconst eipExample2 = new tencentcloud.eip.Instance(\"eipExample2\", {});\nconst example = new tencentcloud.nat.Gateway(\"example\", {\n vpcId: vpc.id,\n assignedEipSets: [\n eipExample1.publicIp,\n eipExample2.publicIp,\n ],\n natProductVersion: 2,\n tags: {\n tf_tag_key: \"tf_tag_value\",\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\")\neip_example1 = tencentcloud.eip.Instance(\"eipExample1\")\neip_example2 = tencentcloud.eip.Instance(\"eipExample2\")\nexample = tencentcloud.nat.Gateway(\"example\",\n vpc_id=vpc.id,\n assigned_eip_sets=[\n eip_example1.public_ip,\n eip_example2.public_ip,\n ],\n nat_product_version=2,\n tags={\n \"tf_tag_key\": \"tf_tag_value\",\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 var eipExample1 = new Tencentcloud.Eip.Instance(\"eipExample1\");\n\n var eipExample2 = new Tencentcloud.Eip.Instance(\"eipExample2\");\n\n var example = new Tencentcloud.Nat.Gateway(\"example\", new()\n {\n VpcId = vpc.Id,\n AssignedEipSets = new[]\n {\n eipExample1.PublicIp,\n eipExample2.PublicIp,\n },\n NatProductVersion = 2,\n Tags = \n {\n { \"tf_tag_key\", \"tf_tag_value\" },\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/Eip\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Nat\"\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\teipExample1, err := Eip.NewInstance(ctx, \"eipExample1\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\teipExample2, err := Eip.NewInstance(ctx, \"eipExample2\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Nat.NewGateway(ctx, \"example\", \u0026Nat.GatewayArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tAssignedEipSets: pulumi.StringArray{\n\t\t\t\teipExample1.PublicIp,\n\t\t\t\teipExample2.PublicIp,\n\t\t\t},\n\t\t\tNatProductVersion: pulumi.Int(2),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"tf_tag_key\": pulumi.Any(\"tf_tag_value\"),\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.Eip.Instance;\nimport com.pulumi.tencentcloud.Nat.Gateway;\nimport com.pulumi.tencentcloud.Nat.GatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 eipExample1 = new Instance(\"eipExample1\");\n\n var eipExample2 = new Instance(\"eipExample2\");\n\n var example = new Gateway(\"example\", GatewayArgs.builder() \n .vpcId(vpc.id())\n .assignedEipSets( \n eipExample1.publicIp(),\n eipExample2.publicIp())\n .natProductVersion(2)\n .tags(Map.of(\"tf_tag_key\", \"tf_tag_value\"))\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 eipExample1:\n type: tencentcloud:Eip:Instance\n eipExample2:\n type: tencentcloud:Eip:Instance\n example:\n type: tencentcloud:Nat:Gateway\n properties:\n vpcId: ${vpc.id}\n assignedEipSets:\n - ${eipExample1.publicIp}\n - ${eipExample2.publicIp}\n natProductVersion: 2\n tags:\n tf_tag_key: tf_tag_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nNAT gateway can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Nat/gateway:Gateway foo nat-1asg3t63\n```\n", + "description": "Provides a resource to create a NAT gateway.\n\n\u003e **NOTE:** If `nat_product_version` is `1`, `max_concurrent` valid values is `1000000`, `3000000`, `10000000`.\n\n\u003e **NOTE:** If set `stock_public_ip_addresses_bandwidth_out`, do not set the `internet_max_bandwidth_out` parameter of resource `tencentcloud.Eip.Instance` at the same time, otherwise conflicts may occur.\n\n## Example Usage\n\n### Create a traditional NAT gateway.\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 eipExample1 = new tencentcloud.eip.Instance(\"eipExample1\", {});\nconst eipExample2 = new tencentcloud.eip.Instance(\"eipExample2\", {});\nconst example = new tencentcloud.nat.Gateway(\"example\", {\n vpcId: vpc.id,\n natProductVersion: 1,\n bandwidth: 100,\n maxConcurrent: 1000000,\n assignedEipSets: [\n eipExample1.publicIp,\n eipExample2.publicIp,\n ],\n tags: {\n createBy: \"terraform\",\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\")\neip_example1 = tencentcloud.eip.Instance(\"eipExample1\")\neip_example2 = tencentcloud.eip.Instance(\"eipExample2\")\nexample = tencentcloud.nat.Gateway(\"example\",\n vpc_id=vpc.id,\n nat_product_version=1,\n bandwidth=100,\n max_concurrent=1000000,\n assigned_eip_sets=[\n eip_example1.public_ip,\n eip_example2.public_ip,\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 vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var eipExample1 = new Tencentcloud.Eip.Instance(\"eipExample1\");\n\n var eipExample2 = new Tencentcloud.Eip.Instance(\"eipExample2\");\n\n var example = new Tencentcloud.Nat.Gateway(\"example\", new()\n {\n VpcId = vpc.Id,\n NatProductVersion = 1,\n Bandwidth = 100,\n MaxConcurrent = 1000000,\n AssignedEipSets = new[]\n {\n eipExample1.PublicIp,\n eipExample2.PublicIp,\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/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Eip\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Nat\"\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\teipExample1, err := Eip.NewInstance(ctx, \"eipExample1\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\teipExample2, err := Eip.NewInstance(ctx, \"eipExample2\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Nat.NewGateway(ctx, \"example\", \u0026Nat.GatewayArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tNatProductVersion: pulumi.Int(1),\n\t\t\tBandwidth: pulumi.Int(100),\n\t\t\tMaxConcurrent: pulumi.Int(1000000),\n\t\t\tAssignedEipSets: pulumi.StringArray{\n\t\t\t\teipExample1.PublicIp,\n\t\t\t\teipExample2.PublicIp,\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.Eip.Instance;\nimport com.pulumi.tencentcloud.Nat.Gateway;\nimport com.pulumi.tencentcloud.Nat.GatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 eipExample1 = new Instance(\"eipExample1\");\n\n var eipExample2 = new Instance(\"eipExample2\");\n\n var example = new Gateway(\"example\", GatewayArgs.builder() \n .vpcId(vpc.id())\n .natProductVersion(1)\n .bandwidth(100)\n .maxConcurrent(1000000)\n .assignedEipSets( \n eipExample1.publicIp(),\n eipExample2.publicIp())\n .tags(Map.of(\"createBy\", \"terraform\"))\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 eipExample1:\n type: tencentcloud:Eip:Instance\n eipExample2:\n type: tencentcloud:Eip:Instance\n example:\n type: tencentcloud:Nat:Gateway\n properties:\n vpcId: ${vpc.id}\n natProductVersion: 1\n bandwidth: 100\n maxConcurrent: 1e+06\n assignedEipSets:\n - ${eipExample1.publicIp}\n - ${eipExample2.publicIp}\n tags:\n createBy: terraform\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a standard NAT gateway.\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 eipExample1 = new tencentcloud.eip.Instance(\"eipExample1\", {});\nconst eipExample2 = new tencentcloud.eip.Instance(\"eipExample2\", {});\nconst example = new tencentcloud.nat.Gateway(\"example\", {\n vpcId: vpc.id,\n natProductVersion: 2,\n assignedEipSets: [\n eipExample1.publicIp,\n eipExample2.publicIp,\n ],\n tags: {\n createBy: \"terraform\",\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\")\neip_example1 = tencentcloud.eip.Instance(\"eipExample1\")\neip_example2 = tencentcloud.eip.Instance(\"eipExample2\")\nexample = tencentcloud.nat.Gateway(\"example\",\n vpc_id=vpc.id,\n nat_product_version=2,\n assigned_eip_sets=[\n eip_example1.public_ip,\n eip_example2.public_ip,\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 vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var eipExample1 = new Tencentcloud.Eip.Instance(\"eipExample1\");\n\n var eipExample2 = new Tencentcloud.Eip.Instance(\"eipExample2\");\n\n var example = new Tencentcloud.Nat.Gateway(\"example\", new()\n {\n VpcId = vpc.Id,\n NatProductVersion = 2,\n AssignedEipSets = new[]\n {\n eipExample1.PublicIp,\n eipExample2.PublicIp,\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/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Eip\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Nat\"\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\teipExample1, err := Eip.NewInstance(ctx, \"eipExample1\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\teipExample2, err := Eip.NewInstance(ctx, \"eipExample2\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Nat.NewGateway(ctx, \"example\", \u0026Nat.GatewayArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tNatProductVersion: pulumi.Int(2),\n\t\t\tAssignedEipSets: pulumi.StringArray{\n\t\t\t\teipExample1.PublicIp,\n\t\t\t\teipExample2.PublicIp,\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.Eip.Instance;\nimport com.pulumi.tencentcloud.Nat.Gateway;\nimport com.pulumi.tencentcloud.Nat.GatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 eipExample1 = new Instance(\"eipExample1\");\n\n var eipExample2 = new Instance(\"eipExample2\");\n\n var example = new Gateway(\"example\", GatewayArgs.builder() \n .vpcId(vpc.id())\n .natProductVersion(2)\n .assignedEipSets( \n eipExample1.publicIp(),\n eipExample2.publicIp())\n .tags(Map.of(\"createBy\", \"terraform\"))\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 eipExample1:\n type: tencentcloud:Eip:Instance\n eipExample2:\n type: tencentcloud:Eip:Instance\n example:\n type: tencentcloud:Nat:Gateway\n properties:\n vpcId: ${vpc.id}\n natProductVersion: 2\n assignedEipSets:\n - ${eipExample1.publicIp}\n - ${eipExample2.publicIp}\n tags:\n createBy: terraform\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Or set stock public ip addresses bandwidth out\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 eipExample1 = new tencentcloud.eip.Instance(\"eipExample1\", {});\nconst eipExample2 = new tencentcloud.eip.Instance(\"eipExample2\", {});\nconst example = new tencentcloud.nat.Gateway(\"example\", {\n vpcId: vpc.id,\n natProductVersion: 2,\n stockPublicIpAddressesBandwidthOut: 100,\n assignedEipSets: [\n eipExample1.publicIp,\n eipExample2.publicIp,\n ],\n tags: {\n createBy: \"terraform\",\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\")\neip_example1 = tencentcloud.eip.Instance(\"eipExample1\")\neip_example2 = tencentcloud.eip.Instance(\"eipExample2\")\nexample = tencentcloud.nat.Gateway(\"example\",\n vpc_id=vpc.id,\n nat_product_version=2,\n stock_public_ip_addresses_bandwidth_out=100,\n assigned_eip_sets=[\n eip_example1.public_ip,\n eip_example2.public_ip,\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 vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var eipExample1 = new Tencentcloud.Eip.Instance(\"eipExample1\");\n\n var eipExample2 = new Tencentcloud.Eip.Instance(\"eipExample2\");\n\n var example = new Tencentcloud.Nat.Gateway(\"example\", new()\n {\n VpcId = vpc.Id,\n NatProductVersion = 2,\n StockPublicIpAddressesBandwidthOut = 100,\n AssignedEipSets = new[]\n {\n eipExample1.PublicIp,\n eipExample2.PublicIp,\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/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Eip\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Nat\"\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\teipExample1, err := Eip.NewInstance(ctx, \"eipExample1\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\teipExample2, err := Eip.NewInstance(ctx, \"eipExample2\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Nat.NewGateway(ctx, \"example\", \u0026Nat.GatewayArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tNatProductVersion: pulumi.Int(2),\n\t\t\tStockPublicIpAddressesBandwidthOut: pulumi.Int(100),\n\t\t\tAssignedEipSets: pulumi.StringArray{\n\t\t\t\teipExample1.PublicIp,\n\t\t\t\teipExample2.PublicIp,\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.Eip.Instance;\nimport com.pulumi.tencentcloud.Nat.Gateway;\nimport com.pulumi.tencentcloud.Nat.GatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 eipExample1 = new Instance(\"eipExample1\");\n\n var eipExample2 = new Instance(\"eipExample2\");\n\n var example = new Gateway(\"example\", GatewayArgs.builder() \n .vpcId(vpc.id())\n .natProductVersion(2)\n .stockPublicIpAddressesBandwidthOut(100)\n .assignedEipSets( \n eipExample1.publicIp(),\n eipExample2.publicIp())\n .tags(Map.of(\"createBy\", \"terraform\"))\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 eipExample1:\n type: tencentcloud:Eip:Instance\n eipExample2:\n type: tencentcloud:Eip:Instance\n example:\n type: tencentcloud:Nat:Gateway\n properties:\n vpcId: ${vpc.id}\n natProductVersion: 2\n stockPublicIpAddressesBandwidthOut: 100\n assignedEipSets:\n - ${eipExample1.publicIp}\n - ${eipExample2.publicIp}\n tags:\n createBy: terraform\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nNAT gateway can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Nat/gateway:Gateway example nat-1asg3t63\n```\n", "properties": { "assignedEipSets": { "type": "array", @@ -183473,7 +193453,7 @@ }, "bandwidth": { "type": "integer", - "description": "The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is 100.\n" + "description": "The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is `100`. When the value of parameter `nat_product_version` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `5000`.\n" }, "createdTime": { "type": "string", @@ -183481,7 +193461,7 @@ }, "maxConcurrent": { "type": "integer", - "description": "The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`.\n" + "description": "The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. When the value of parameter `nat_product_version` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `2000000`.\n" }, "name": { "type": "string", @@ -183491,6 +193471,10 @@ "type": "integer", "description": "1: traditional NAT, 2: standard NAT, default value is 1.\n" }, + "stockPublicIpAddressesBandwidthOut": { + "type": "integer", + "description": "The elastic public IP bandwidth value (unit: Mbps) for binding NAT gateway. When this parameter is not filled in, it defaults to the bandwidth value of the elastic public IP, and for some users, it defaults to the bandwidth limit of the elastic public IP of that user type.\n" + }, "subnetId": { "type": "string", "description": "Subnet of NAT.\n" @@ -183513,9 +193497,12 @@ }, "required": [ "assignedEipSets", + "bandwidth", "createdTime", + "maxConcurrent", "name", "natProductVersion", + "stockPublicIpAddressesBandwidthOut", "subnetId", "vpcId", "zone" @@ -183530,11 +193517,11 @@ }, "bandwidth": { "type": "integer", - "description": "The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is 100.\n" + "description": "The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is `100`. When the value of parameter `nat_product_version` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `5000`.\n" }, "maxConcurrent": { "type": "integer", - "description": "The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`.\n" + "description": "The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. When the value of parameter `nat_product_version` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `2000000`.\n" }, "name": { "type": "string", @@ -183545,6 +193532,11 @@ "description": "1: traditional NAT, 2: standard NAT, default value is 1.\n", "willReplaceOnChanges": true }, + "stockPublicIpAddressesBandwidthOut": { + "type": "integer", + "description": "The elastic public IP bandwidth value (unit: Mbps) for binding NAT gateway. When this parameter is not filled in, it defaults to the bandwidth value of the elastic public IP, and for some users, it defaults to the bandwidth limit of the elastic public IP of that user type.\n", + "willReplaceOnChanges": true + }, "subnetId": { "type": "string", "description": "Subnet of NAT.\n", @@ -183583,7 +193575,7 @@ }, "bandwidth": { "type": "integer", - "description": "The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is 100.\n" + "description": "The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is `100`. When the value of parameter `nat_product_version` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `5000`.\n" }, "createdTime": { "type": "string", @@ -183591,7 +193583,7 @@ }, "maxConcurrent": { "type": "integer", - "description": "The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`.\n" + "description": "The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. When the value of parameter `nat_product_version` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `2000000`.\n" }, "name": { "type": "string", @@ -183602,6 +193594,11 @@ "description": "1: traditional NAT, 2: standard NAT, default value is 1.\n", "willReplaceOnChanges": true }, + "stockPublicIpAddressesBandwidthOut": { + "type": "integer", + "description": "The elastic public IP bandwidth value (unit: Mbps) for binding NAT gateway. When this parameter is not filled in, it defaults to the bandwidth value of the elastic public IP, and for some users, it defaults to the bandwidth limit of the elastic public IP of that user type.\n", + "willReplaceOnChanges": true + }, "subnetId": { "type": "string", "description": "Subnet of NAT.\n", @@ -184988,6 +194985,48 @@ "type": "object" } }, + "tencentcloud:Open/identityCenterOperation:IdentityCenterOperation": { + "description": "Provides a resource to open identity center\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 openIdentityCenterOperation = new tencentcloud.open.IdentityCenterOperation(\"openIdentityCenterOperation\", {zoneName: \"test\"});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nopen_identity_center_operation = tencentcloud.open.IdentityCenterOperation(\"openIdentityCenterOperation\", zone_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 openIdentityCenterOperation = new Tencentcloud.Open.IdentityCenterOperation(\"openIdentityCenterOperation\", new()\n {\n ZoneName = \"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/Open\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Open.NewIdentityCenterOperation(ctx, \"openIdentityCenterOperation\", \u0026Open.IdentityCenterOperationArgs{\n\t\t\tZoneName: 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.Open.IdentityCenterOperation;\nimport com.pulumi.tencentcloud.Open.IdentityCenterOperationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 openIdentityCenterOperation = new IdentityCenterOperation(\"openIdentityCenterOperation\", IdentityCenterOperationArgs.builder() \n .zoneName(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n openIdentityCenterOperation:\n type: tencentcloud:Open:IdentityCenterOperation\n properties:\n zoneName: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "properties": { + "zoneId": { + "type": "string", + "description": "Space ID. z-Prefix starts with 12 random numbers/lowercase letters followed by.\n" + }, + "zoneName": { + "type": "string", + "description": "Space name, which must be globally unique and contain 2-64 characters including lowercase letters, digits, and hyphens (-). It can neither start or end with a hyphen (-) nor contain two consecutive hyphens (-).\n" + } + }, + "required": [ + "zoneId", + "zoneName" + ], + "inputProperties": { + "zoneName": { + "type": "string", + "description": "Space name, which must be globally unique and contain 2-64 characters including lowercase letters, digits, and hyphens (-). It can neither start or end with a hyphen (-) nor contain two consecutive hyphens (-).\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "zoneName" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering IdentityCenterOperation resources.\n", + "properties": { + "zoneId": { + "type": "string", + "description": "Space ID. z-Prefix starts with 12 random numbers/lowercase letters followed by.\n" + }, + "zoneName": { + "type": "string", + "description": "Space name, which must be globally unique and contain 2-64 characters including lowercase letters, digits, and hyphens (-). It can neither start or end with a hyphen (-) nor contain two consecutive hyphens (-).\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, "tencentcloud:Organization/instance:Instance": { "description": "Provides a resource to create a organization organization\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 organization = new tencentcloud.organization.Instance(\"organization\", {});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\norganization = tencentcloud.organization.Instance(\"organization\")\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 organization = new Tencentcloud.Organization.Instance(\"organization\");\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.NewInstance(ctx, \"organization\", 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.Instance;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 organization = new Instance(\"organization\");\n\n }\n}\n```\n```yaml\nresources:\n organization:\n type: tencentcloud:Organization:Instance\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\norganization organization can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Organization/instance:Instance organization organization_id\n```\n\n", "properties": { @@ -185057,6 +195096,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 +195118,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 +195196,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 +195539,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 +195596,13 @@ "remark": { "type": "string", "description": "Notes.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "description": "Tag description list.\n" } }, "requiredInputs": [ @@ -185607,6 +195675,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 +195982,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 +196012,13 @@ "remark": { "type": "string", "description": "Notes.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "description": "Tag description list.\n" } }, "requiredInputs": [ @@ -185954,6 +196043,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 +196358,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 +196540,234 @@ "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/applyParameterTemplateOperation:ApplyParameterTemplateOperation": { + "description": "Provides a resource to apply parameter template\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 applyParameterTemplateOperation = new tencentcloud.postgresql.ApplyParameterTemplateOperation(\"applyParameterTemplateOperation\", {\n dbInstanceId: \"postgres-xxxxxx\",\n templateId: \"xxxxxx\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\napply_parameter_template_operation = tencentcloud.postgresql.ApplyParameterTemplateOperation(\"applyParameterTemplateOperation\",\n db_instance_id=\"postgres-xxxxxx\",\n template_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 applyParameterTemplateOperation = new Tencentcloud.Postgresql.ApplyParameterTemplateOperation(\"applyParameterTemplateOperation\", new()\n {\n DbInstanceId = \"postgres-xxxxxx\",\n TemplateId = \"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/Postgresql\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Postgresql.NewApplyParameterTemplateOperation(ctx, \"applyParameterTemplateOperation\", \u0026Postgresql.ApplyParameterTemplateOperationArgs{\n\t\t\tDbInstanceId: pulumi.String(\"postgres-xxxxxx\"),\n\t\t\tTemplateId: pulumi.String(\"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.Postgresql.ApplyParameterTemplateOperation;\nimport com.pulumi.tencentcloud.Postgresql.ApplyParameterTemplateOperationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 applyParameterTemplateOperation = new ApplyParameterTemplateOperation(\"applyParameterTemplateOperation\", ApplyParameterTemplateOperationArgs.builder() \n .dbInstanceId(\"postgres-xxxxxx\")\n .templateId(\"xxxxxx\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n applyParameterTemplateOperation:\n type: tencentcloud:Postgresql:ApplyParameterTemplateOperation\n properties:\n dbInstanceId: postgres-xxxxxx\n templateId: xxxxxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "properties": { + "dbInstanceId": { + "type": "string", + "description": "Instance ID.\n" + }, + "templateId": { + "type": "string", + "description": "Template ID.\n" + } + }, + "required": [ + "dbInstanceId", + "templateId" + ], + "inputProperties": { + "dbInstanceId": { + "type": "string", + "description": "Instance ID.\n", + "willReplaceOnChanges": true + }, + "templateId": { + "type": "string", + "description": "Template ID.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "dbInstanceId", + "templateId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering ApplyParameterTemplateOperation resources.\n", + "properties": { + "dbInstanceId": { + "type": "string", + "description": "Instance ID.\n", + "willReplaceOnChanges": true + }, + "templateId": { + "type": "string", + "description": "Template ID.\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": { @@ -186594,6 +197027,303 @@ "type": "object" } }, + "tencentcloud:Postgresql/cloneDbInstance:CloneDbInstance": { + "description": "Provides a resource to create a postgresql clone db 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.postgresql.CloneDbInstance(\"example\", {\n autoRenewFlag: 0,\n dbInstanceId: \"postgres-evsqpyap\",\n dbNodeSets: [\n {\n role: \"Primary\",\n zone: \"ap-guangzhou-6\",\n },\n {\n role: \"Standby\",\n zone: \"ap-guangzhou-6\",\n },\n ],\n instanceChargeType: \"POSTPAID_BY_HOUR\",\n period: 1,\n projectId: 0,\n recoveryTargetTime: \"2024-10-12 18:17:00\",\n securityGroupIds: [\"sg-8stavs03\"],\n specCode: \"pg.it.medium4\",\n storage: 200,\n subnetId: \"subnet-b8hintyy\",\n tagLists: [{\n tagKey: \"createBy\",\n tagValue: \"terraform\",\n }],\n vpcId: \"vpc-a6zec4mf\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.postgresql.CloneDbInstance(\"example\",\n auto_renew_flag=0,\n db_instance_id=\"postgres-evsqpyap\",\n db_node_sets=[\n tencentcloud.postgresql.CloneDbInstanceDbNodeSetArgs(\n role=\"Primary\",\n zone=\"ap-guangzhou-6\",\n ),\n tencentcloud.postgresql.CloneDbInstanceDbNodeSetArgs(\n role=\"Standby\",\n zone=\"ap-guangzhou-6\",\n ),\n ],\n instance_charge_type=\"POSTPAID_BY_HOUR\",\n period=1,\n project_id=0,\n recovery_target_time=\"2024-10-12 18:17:00\",\n security_group_ids=[\"sg-8stavs03\"],\n spec_code=\"pg.it.medium4\",\n storage=200,\n subnet_id=\"subnet-b8hintyy\",\n tag_lists=[tencentcloud.postgresql.CloneDbInstanceTagListArgs(\n tag_key=\"createBy\",\n tag_value=\"terraform\",\n )],\n vpc_id=\"vpc-a6zec4mf\")\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.Postgresql.CloneDbInstance(\"example\", new()\n {\n AutoRenewFlag = 0,\n DbInstanceId = \"postgres-evsqpyap\",\n DbNodeSets = new[]\n {\n new Tencentcloud.Postgresql.Inputs.CloneDbInstanceDbNodeSetArgs\n {\n Role = \"Primary\",\n Zone = \"ap-guangzhou-6\",\n },\n new Tencentcloud.Postgresql.Inputs.CloneDbInstanceDbNodeSetArgs\n {\n Role = \"Standby\",\n Zone = \"ap-guangzhou-6\",\n },\n },\n InstanceChargeType = \"POSTPAID_BY_HOUR\",\n Period = 1,\n ProjectId = 0,\n RecoveryTargetTime = \"2024-10-12 18:17:00\",\n SecurityGroupIds = new[]\n {\n \"sg-8stavs03\",\n },\n SpecCode = \"pg.it.medium4\",\n Storage = 200,\n SubnetId = \"subnet-b8hintyy\",\n TagLists = new[]\n {\n new Tencentcloud.Postgresql.Inputs.CloneDbInstanceTagListArgs\n {\n TagKey = \"createBy\",\n TagValue = \"terraform\",\n },\n },\n VpcId = \"vpc-a6zec4mf\",\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.NewCloneDbInstance(ctx, \"example\", \u0026Postgresql.CloneDbInstanceArgs{\n\t\t\tAutoRenewFlag: pulumi.Int(0),\n\t\t\tDbInstanceId: pulumi.String(\"postgres-evsqpyap\"),\n\t\t\tDbNodeSets: postgresql.CloneDbInstanceDbNodeSetArray{\n\t\t\t\t\u0026postgresql.CloneDbInstanceDbNodeSetArgs{\n\t\t\t\t\tRole: pulumi.String(\"Primary\"),\n\t\t\t\t\tZone: pulumi.String(\"ap-guangzhou-6\"),\n\t\t\t\t},\n\t\t\t\t\u0026postgresql.CloneDbInstanceDbNodeSetArgs{\n\t\t\t\t\tRole: pulumi.String(\"Standby\"),\n\t\t\t\t\tZone: pulumi.String(\"ap-guangzhou-6\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tInstanceChargeType: pulumi.String(\"POSTPAID_BY_HOUR\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tRecoveryTargetTime: pulumi.String(\"2024-10-12 18:17:00\"),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sg-8stavs03\"),\n\t\t\t},\n\t\t\tSpecCode: pulumi.String(\"pg.it.medium4\"),\n\t\t\tStorage: pulumi.Int(200),\n\t\t\tSubnetId: pulumi.String(\"subnet-b8hintyy\"),\n\t\t\tTagLists: postgresql.CloneDbInstanceTagListArray{\n\t\t\t\t\u0026postgresql.CloneDbInstanceTagListArgs{\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\tVpcId: pulumi.String(\"vpc-a6zec4mf\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\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.CloneDbInstance;\nimport com.pulumi.tencentcloud.Postgresql.CloneDbInstanceArgs;\nimport com.pulumi.tencentcloud.Postgresql.inputs.CloneDbInstanceDbNodeSetArgs;\nimport com.pulumi.tencentcloud.Postgresql.inputs.CloneDbInstanceTagListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 CloneDbInstance(\"example\", CloneDbInstanceArgs.builder() \n .autoRenewFlag(0)\n .dbInstanceId(\"postgres-evsqpyap\")\n .dbNodeSets( \n CloneDbInstanceDbNodeSetArgs.builder()\n .role(\"Primary\")\n .zone(\"ap-guangzhou-6\")\n .build(),\n CloneDbInstanceDbNodeSetArgs.builder()\n .role(\"Standby\")\n .zone(\"ap-guangzhou-6\")\n .build())\n .instanceChargeType(\"POSTPAID_BY_HOUR\")\n .period(1)\n .projectId(0)\n .recoveryTargetTime(\"2024-10-12 18:17:00\")\n .securityGroupIds(\"sg-8stavs03\")\n .specCode(\"pg.it.medium4\")\n .storage(200)\n .subnetId(\"subnet-b8hintyy\")\n .tagLists(CloneDbInstanceTagListArgs.builder()\n .tagKey(\"createBy\")\n .tagValue(\"terraform\")\n .build())\n .vpcId(\"vpc-a6zec4mf\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Postgresql:CloneDbInstance\n properties:\n autoRenewFlag: 0\n dbInstanceId: postgres-evsqpyap\n dbNodeSets:\n - role: Primary\n zone: ap-guangzhou-6\n - role: Standby\n zone: ap-guangzhou-6\n instanceChargeType: POSTPAID_BY_HOUR\n period: 1\n projectId: 0\n recoveryTargetTime: 2024-10-12 18:17:00\n securityGroupIds:\n - sg-8stavs03\n specCode: pg.it.medium4\n storage: 200\n subnetId: subnet-b8hintyy\n tagLists:\n - tagKey: createBy\n tagValue: terraform\n vpcId: vpc-a6zec4mf\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\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst baseBackups = tencentcloud.Postgresql.getBaseBackups({\n filters: [{\n name: \"db-instance-id\",\n values: [\"postgres-evsqpyap\"],\n }],\n orderBy: \"Size\",\n orderByType: \"asc\",\n});\nconst example = new tencentcloud.postgresql.CloneDbInstance(\"example\", {\n dbInstanceId: \"postgres-evsqpyap\",\n specCode: \"pg.it.medium4\",\n storage: 200,\n period: 1,\n autoRenewFlag: 0,\n vpcId: \"vpc-a6zec4mf\",\n subnetId: \"subnet-b8hintyy\",\n instanceChargeType: \"POSTPAID_BY_HOUR\",\n securityGroupIds: [\"sg-8stavs03\"],\n projectId: 0,\n backupSetId: baseBackups.then(baseBackups =\u003e baseBackups.baseBackupSets?.[0]?.id),\n dbNodeSets: [\n {\n role: \"Primary\",\n zone: \"ap-guangzhou-6\",\n },\n {\n role: \"Standby\",\n zone: \"ap-guangzhou-6\",\n },\n ],\n tagLists: [{\n tagKey: \"createBy\",\n tagValue: \"terraform\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\nbase_backups = tencentcloud.Postgresql.get_base_backups(filters=[tencentcloud.postgresql.GetBaseBackupsFilterArgs(\n name=\"db-instance-id\",\n values=[\"postgres-evsqpyap\"],\n )],\n order_by=\"Size\",\n order_by_type=\"asc\")\nexample = tencentcloud.postgresql.CloneDbInstance(\"example\",\n db_instance_id=\"postgres-evsqpyap\",\n spec_code=\"pg.it.medium4\",\n storage=200,\n period=1,\n auto_renew_flag=0,\n vpc_id=\"vpc-a6zec4mf\",\n subnet_id=\"subnet-b8hintyy\",\n instance_charge_type=\"POSTPAID_BY_HOUR\",\n security_group_ids=[\"sg-8stavs03\"],\n project_id=0,\n backup_set_id=base_backups.base_backup_sets[0].id,\n db_node_sets=[\n tencentcloud.postgresql.CloneDbInstanceDbNodeSetArgs(\n role=\"Primary\",\n zone=\"ap-guangzhou-6\",\n ),\n tencentcloud.postgresql.CloneDbInstanceDbNodeSetArgs(\n role=\"Standby\",\n zone=\"ap-guangzhou-6\",\n ),\n ],\n tag_lists=[tencentcloud.postgresql.CloneDbInstanceTagListArgs(\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;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var baseBackups = Tencentcloud.Postgresql.GetBaseBackups.Invoke(new()\n {\n Filters = new[]\n {\n new Tencentcloud.Postgresql.Inputs.GetBaseBackupsFilterInputArgs\n {\n Name = \"db-instance-id\",\n Values = new[]\n {\n \"postgres-evsqpyap\",\n },\n },\n },\n OrderBy = \"Size\",\n OrderByType = \"asc\",\n });\n\n var example = new Tencentcloud.Postgresql.CloneDbInstance(\"example\", new()\n {\n DbInstanceId = \"postgres-evsqpyap\",\n SpecCode = \"pg.it.medium4\",\n Storage = 200,\n Period = 1,\n AutoRenewFlag = 0,\n VpcId = \"vpc-a6zec4mf\",\n SubnetId = \"subnet-b8hintyy\",\n InstanceChargeType = \"POSTPAID_BY_HOUR\",\n SecurityGroupIds = new[]\n {\n \"sg-8stavs03\",\n },\n ProjectId = 0,\n BackupSetId = baseBackups.Apply(getBaseBackupsResult =\u003e getBaseBackupsResult.BaseBackupSets[0]?.Id),\n DbNodeSets = new[]\n {\n new Tencentcloud.Postgresql.Inputs.CloneDbInstanceDbNodeSetArgs\n {\n Role = \"Primary\",\n Zone = \"ap-guangzhou-6\",\n },\n new Tencentcloud.Postgresql.Inputs.CloneDbInstanceDbNodeSetArgs\n {\n Role = \"Standby\",\n Zone = \"ap-guangzhou-6\",\n },\n },\n TagLists = new[]\n {\n new Tencentcloud.Postgresql.Inputs.CloneDbInstanceTagListArgs\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/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Postgresql\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbaseBackups, err := Postgresql.GetBaseBackups(ctx, \u0026postgresql.GetBaseBackupsArgs{\n\t\t\tFilters: []postgresql.GetBaseBackupsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.StringRef(\"db-instance-id\"),\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"postgres-evsqpyap\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOrderBy: pulumi.StringRef(\"Size\"),\n\t\t\tOrderByType: pulumi.StringRef(\"asc\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Postgresql.NewCloneDbInstance(ctx, \"example\", \u0026Postgresql.CloneDbInstanceArgs{\n\t\t\tDbInstanceId: pulumi.String(\"postgres-evsqpyap\"),\n\t\t\tSpecCode: pulumi.String(\"pg.it.medium4\"),\n\t\t\tStorage: pulumi.Int(200),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tAutoRenewFlag: pulumi.Int(0),\n\t\t\tVpcId: pulumi.String(\"vpc-a6zec4mf\"),\n\t\t\tSubnetId: pulumi.String(\"subnet-b8hintyy\"),\n\t\t\tInstanceChargeType: pulumi.String(\"POSTPAID_BY_HOUR\"),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sg-8stavs03\"),\n\t\t\t},\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tBackupSetId: pulumi.String(baseBackups.BaseBackupSets[0].Id),\n\t\t\tDbNodeSets: postgresql.CloneDbInstanceDbNodeSetArray{\n\t\t\t\t\u0026postgresql.CloneDbInstanceDbNodeSetArgs{\n\t\t\t\t\tRole: pulumi.String(\"Primary\"),\n\t\t\t\t\tZone: pulumi.String(\"ap-guangzhou-6\"),\n\t\t\t\t},\n\t\t\t\t\u0026postgresql.CloneDbInstanceDbNodeSetArgs{\n\t\t\t\t\tRole: pulumi.String(\"Standby\"),\n\t\t\t\t\tZone: pulumi.String(\"ap-guangzhou-6\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTagLists: postgresql.CloneDbInstanceTagListArray{\n\t\t\t\t\u0026postgresql.CloneDbInstanceTagListArgs{\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.Postgresql.PostgresqlFunctions;\nimport com.pulumi.tencentcloud.Postgresql.inputs.GetBaseBackupsArgs;\nimport com.pulumi.tencentcloud.Postgresql.CloneDbInstance;\nimport com.pulumi.tencentcloud.Postgresql.CloneDbInstanceArgs;\nimport com.pulumi.tencentcloud.Postgresql.inputs.CloneDbInstanceDbNodeSetArgs;\nimport com.pulumi.tencentcloud.Postgresql.inputs.CloneDbInstanceTagListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 baseBackups = PostgresqlFunctions.getBaseBackups(GetBaseBackupsArgs.builder()\n .filters(GetBaseBackupsFilterArgs.builder()\n .name(\"db-instance-id\")\n .values(\"postgres-evsqpyap\")\n .build())\n .orderBy(\"Size\")\n .orderByType(\"asc\")\n .build());\n\n var example = new CloneDbInstance(\"example\", CloneDbInstanceArgs.builder() \n .dbInstanceId(\"postgres-evsqpyap\")\n .specCode(\"pg.it.medium4\")\n .storage(200)\n .period(1)\n .autoRenewFlag(0)\n .vpcId(\"vpc-a6zec4mf\")\n .subnetId(\"subnet-b8hintyy\")\n .instanceChargeType(\"POSTPAID_BY_HOUR\")\n .securityGroupIds(\"sg-8stavs03\")\n .projectId(0)\n .backupSetId(baseBackups.applyValue(getBaseBackupsResult -\u003e getBaseBackupsResult.baseBackupSets()[0].id()))\n .dbNodeSets( \n CloneDbInstanceDbNodeSetArgs.builder()\n .role(\"Primary\")\n .zone(\"ap-guangzhou-6\")\n .build(),\n CloneDbInstanceDbNodeSetArgs.builder()\n .role(\"Standby\")\n .zone(\"ap-guangzhou-6\")\n .build())\n .tagLists(CloneDbInstanceTagListArgs.builder()\n .tagKey(\"createBy\")\n .tagValue(\"terraform\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Postgresql:CloneDbInstance\n properties:\n dbInstanceId: postgres-evsqpyap\n specCode: pg.it.medium4\n storage: 200\n period: 1\n autoRenewFlag: 0\n vpcId: vpc-a6zec4mf\n subnetId: subnet-b8hintyy\n instanceChargeType: POSTPAID_BY_HOUR\n securityGroupIds:\n - sg-8stavs03\n projectId: 0\n backupSetId: ${baseBackups.baseBackupSets[0].id}\n dbNodeSets:\n - role: Primary\n zone: ap-guangzhou-6\n - role: Standby\n zone: ap-guangzhou-6\n tagLists:\n - tagKey: createBy\n tagValue: terraform\nvariables:\n baseBackups:\n fn::invoke:\n Function: tencentcloud:Postgresql:getBaseBackups\n Arguments:\n filters:\n - name: db-instance-id\n values:\n - postgres-evsqpyap\n orderBy: Size\n orderByType: asc\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Clone db instance from CDC\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.postgresql.CloneDbInstance(\"example\", {\n autoRenewFlag: 0,\n dbInstanceId: \"postgres-evsqpyap\",\n dbNodeSets: [\n {\n dedicatedClusterId: \"cluster-262n63e8\",\n role: \"Primary\",\n zone: \"ap-guangzhou-6\",\n },\n {\n dedicatedClusterId: \"cluster-262n63e8\",\n role: \"Standby\",\n zone: \"ap-guangzhou-6\",\n },\n ],\n instanceChargeType: \"POSTPAID_BY_HOUR\",\n period: 1,\n projectId: 0,\n recoveryTargetTime: \"2024-10-12 18:17:00\",\n securityGroupIds: [\"sg-8stavs03\"],\n specCode: \"pg.it.medium4\",\n storage: 200,\n subnetId: \"subnet-b8hintyy\",\n tagLists: [{\n tagKey: \"createBy\",\n tagValue: \"terraform\",\n }],\n vpcId: \"vpc-a6zec4mf\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.postgresql.CloneDbInstance(\"example\",\n auto_renew_flag=0,\n db_instance_id=\"postgres-evsqpyap\",\n db_node_sets=[\n tencentcloud.postgresql.CloneDbInstanceDbNodeSetArgs(\n dedicated_cluster_id=\"cluster-262n63e8\",\n role=\"Primary\",\n zone=\"ap-guangzhou-6\",\n ),\n tencentcloud.postgresql.CloneDbInstanceDbNodeSetArgs(\n dedicated_cluster_id=\"cluster-262n63e8\",\n role=\"Standby\",\n zone=\"ap-guangzhou-6\",\n ),\n ],\n instance_charge_type=\"POSTPAID_BY_HOUR\",\n period=1,\n project_id=0,\n recovery_target_time=\"2024-10-12 18:17:00\",\n security_group_ids=[\"sg-8stavs03\"],\n spec_code=\"pg.it.medium4\",\n storage=200,\n subnet_id=\"subnet-b8hintyy\",\n tag_lists=[tencentcloud.postgresql.CloneDbInstanceTagListArgs(\n tag_key=\"createBy\",\n tag_value=\"terraform\",\n )],\n vpc_id=\"vpc-a6zec4mf\")\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.Postgresql.CloneDbInstance(\"example\", new()\n {\n AutoRenewFlag = 0,\n DbInstanceId = \"postgres-evsqpyap\",\n DbNodeSets = new[]\n {\n new Tencentcloud.Postgresql.Inputs.CloneDbInstanceDbNodeSetArgs\n {\n DedicatedClusterId = \"cluster-262n63e8\",\n Role = \"Primary\",\n Zone = \"ap-guangzhou-6\",\n },\n new Tencentcloud.Postgresql.Inputs.CloneDbInstanceDbNodeSetArgs\n {\n DedicatedClusterId = \"cluster-262n63e8\",\n Role = \"Standby\",\n Zone = \"ap-guangzhou-6\",\n },\n },\n InstanceChargeType = \"POSTPAID_BY_HOUR\",\n Period = 1,\n ProjectId = 0,\n RecoveryTargetTime = \"2024-10-12 18:17:00\",\n SecurityGroupIds = new[]\n {\n \"sg-8stavs03\",\n },\n SpecCode = \"pg.it.medium4\",\n Storage = 200,\n SubnetId = \"subnet-b8hintyy\",\n TagLists = new[]\n {\n new Tencentcloud.Postgresql.Inputs.CloneDbInstanceTagListArgs\n {\n TagKey = \"createBy\",\n TagValue = \"terraform\",\n },\n },\n VpcId = \"vpc-a6zec4mf\",\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.NewCloneDbInstance(ctx, \"example\", \u0026Postgresql.CloneDbInstanceArgs{\n\t\t\tAutoRenewFlag: pulumi.Int(0),\n\t\t\tDbInstanceId: pulumi.String(\"postgres-evsqpyap\"),\n\t\t\tDbNodeSets: postgresql.CloneDbInstanceDbNodeSetArray{\n\t\t\t\t\u0026postgresql.CloneDbInstanceDbNodeSetArgs{\n\t\t\t\t\tDedicatedClusterId: pulumi.String(\"cluster-262n63e8\"),\n\t\t\t\t\tRole: pulumi.String(\"Primary\"),\n\t\t\t\t\tZone: pulumi.String(\"ap-guangzhou-6\"),\n\t\t\t\t},\n\t\t\t\t\u0026postgresql.CloneDbInstanceDbNodeSetArgs{\n\t\t\t\t\tDedicatedClusterId: pulumi.String(\"cluster-262n63e8\"),\n\t\t\t\t\tRole: pulumi.String(\"Standby\"),\n\t\t\t\t\tZone: pulumi.String(\"ap-guangzhou-6\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tInstanceChargeType: pulumi.String(\"POSTPAID_BY_HOUR\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tRecoveryTargetTime: pulumi.String(\"2024-10-12 18:17:00\"),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sg-8stavs03\"),\n\t\t\t},\n\t\t\tSpecCode: pulumi.String(\"pg.it.medium4\"),\n\t\t\tStorage: pulumi.Int(200),\n\t\t\tSubnetId: pulumi.String(\"subnet-b8hintyy\"),\n\t\t\tTagLists: postgresql.CloneDbInstanceTagListArray{\n\t\t\t\t\u0026postgresql.CloneDbInstanceTagListArgs{\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\tVpcId: pulumi.String(\"vpc-a6zec4mf\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\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.CloneDbInstance;\nimport com.pulumi.tencentcloud.Postgresql.CloneDbInstanceArgs;\nimport com.pulumi.tencentcloud.Postgresql.inputs.CloneDbInstanceDbNodeSetArgs;\nimport com.pulumi.tencentcloud.Postgresql.inputs.CloneDbInstanceTagListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 CloneDbInstance(\"example\", CloneDbInstanceArgs.builder() \n .autoRenewFlag(0)\n .dbInstanceId(\"postgres-evsqpyap\")\n .dbNodeSets( \n CloneDbInstanceDbNodeSetArgs.builder()\n .dedicatedClusterId(\"cluster-262n63e8\")\n .role(\"Primary\")\n .zone(\"ap-guangzhou-6\")\n .build(),\n CloneDbInstanceDbNodeSetArgs.builder()\n .dedicatedClusterId(\"cluster-262n63e8\")\n .role(\"Standby\")\n .zone(\"ap-guangzhou-6\")\n .build())\n .instanceChargeType(\"POSTPAID_BY_HOUR\")\n .period(1)\n .projectId(0)\n .recoveryTargetTime(\"2024-10-12 18:17:00\")\n .securityGroupIds(\"sg-8stavs03\")\n .specCode(\"pg.it.medium4\")\n .storage(200)\n .subnetId(\"subnet-b8hintyy\")\n .tagLists(CloneDbInstanceTagListArgs.builder()\n .tagKey(\"createBy\")\n .tagValue(\"terraform\")\n .build())\n .vpcId(\"vpc-a6zec4mf\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Postgresql:CloneDbInstance\n properties:\n autoRenewFlag: 0\n dbInstanceId: postgres-evsqpyap\n dbNodeSets:\n - dedicatedClusterId: cluster-262n63e8\n role: Primary\n zone: ap-guangzhou-6\n - dedicatedClusterId: cluster-262n63e8\n role: Standby\n zone: ap-guangzhou-6\n instanceChargeType: POSTPAID_BY_HOUR\n period: 1\n projectId: 0\n recoveryTargetTime: 2024-10-12 18:17:00\n securityGroupIds:\n - sg-8stavs03\n specCode: pg.it.medium4\n storage: 200\n subnetId: subnet-b8hintyy\n tagLists:\n - tagKey: createBy\n tagValue: terraform\n vpcId: vpc-a6zec4mf\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "properties": { + "activityId": { + "type": "integer", + "description": "Campaign ID.\n" + }, + "autoRenewFlag": { + "type": "integer", + "description": "Renewal Flag:\n" + }, + "backupSetId": { + "type": "string", + "description": "Basic backup set ID.\n" + }, + "dbInstanceId": { + "type": "string", + "description": "ID of the original instance to be cloned.\n" + }, + "dbNodeSets": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Postgresql/CloneDbInstanceDbNodeSet:CloneDbInstanceDbNodeSet" + }, + "description": "Deployment information of the instance node, which will display the information of each AZ when the instance node is deployed across multiple AZs.\nThe information of AZ can be obtained from the `Zone` field in the return value of the [DescribeZones](https://intl.cloud.tencent.com/document/api/409/16769?from_cn_redirect=1) API.\n" + }, + "instanceChargeType": { + "type": "string", + "description": "Instance billing type, which currently supports:\n\n- PREPAID: Prepaid, i.e., monthly subscription\n- POSTPAID_BY_HOUR: Pay-as-you-go, i.e., pay by consumption\n\nDefault value: PREPAID.\n" + }, + "name": { + "type": "string", + "description": "Name of the newly purchased instance, which can contain up to 60 letters, digits, or symbols (-_). If this parameter is not specified, \"Unnamed\" will be displayed by default.\n" + }, + "period": { + "type": "integer", + "description": "Purchase duration, in months.\n- Prepaid: Supports `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, and `36`.\n- Pay-as-you-go: Only supports `1`.\n" + }, + "projectId": { + "type": "integer", + "description": "Project ID.\n" + }, + "recoveryTargetTime": { + "type": "string", + "description": "Restoration point in time.\n" + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Security group of the instance, which can be obtained from the `sgld` field in the return value of the [DescribeSecurityGroups](https://intl.cloud.tencent.com/document/api/215/15808?from_cn_redirect=1) API. If this parameter is not specified, the default security group will be bound.\n" + }, + "specCode": { + "type": "string", + "description": "Purchasable code, which can be obtained from the `SpecCode` field in the return value of the [DescribeClasses](https://intl.cloud.tencent.com/document/api/409/89019?from_cn_redirect=1) API.\n" + }, + "storage": { + "type": "integer", + "description": "Instance storage capacity in GB.\n" + }, + "subnetId": { + "type": "string", + "description": "VPC subnet ID in the format of `subnet-xxxxxxxx`, which can be obtained in the console or from the `unSubnetId` field in the return value of the [DescribeSubnets](https://intl.cloud.tencent.com/document/api/215/15784?from_cn_redirect=1) API.\n" + }, + "syncMode": { + "type": "string", + "description": "Primary-standby sync mode, which supports:\nSemi-sync: Semi-sync\nAsync: Asynchronous\nDefault value for the primary instance: Semi-sync\nDefault value for the read-only instance: Async.\n" + }, + "tagLists": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Postgresql/CloneDbInstanceTagList:CloneDbInstanceTagList" + }, + "description": "The information of tags to be bound with the instance, which is left empty by default. This parameter can be obtained from the `Tags` field in the return value of the [DescribeTags](https://intl.cloud.tencent.com/document/api/651/35316?from_cn_redirect=1) API.\n" + }, + "vpcId": { + "type": "string", + "description": "VPC ID in the format of `vpc-xxxxxxx`, which can be obtained in the console or from the `unVpcId` field in the return value of the [DescribeVpcEx](https://intl.cloud.tencent.com/document/api/215/1372?from_cn_redirect=1) API.\n" + } + }, + "required": [ + "autoRenewFlag", + "dbInstanceId", + "name", + "period", + "specCode", + "storage", + "subnetId", + "vpcId" + ], + "inputProperties": { + "activityId": { + "type": "integer", + "description": "Campaign ID.\n", + "willReplaceOnChanges": true + }, + "autoRenewFlag": { + "type": "integer", + "description": "Renewal Flag:\n", + "willReplaceOnChanges": true + }, + "backupSetId": { + "type": "string", + "description": "Basic backup set ID.\n", + "willReplaceOnChanges": true + }, + "dbInstanceId": { + "type": "string", + "description": "ID of the original instance to be cloned.\n", + "willReplaceOnChanges": true + }, + "dbNodeSets": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Postgresql/CloneDbInstanceDbNodeSet:CloneDbInstanceDbNodeSet" + }, + "description": "Deployment information of the instance node, which will display the information of each AZ when the instance node is deployed across multiple AZs.\nThe information of AZ can be obtained from the `Zone` field in the return value of the [DescribeZones](https://intl.cloud.tencent.com/document/api/409/16769?from_cn_redirect=1) API.\n", + "willReplaceOnChanges": true + }, + "instanceChargeType": { + "type": "string", + "description": "Instance billing type, which currently supports:\n\n- PREPAID: Prepaid, i.e., monthly subscription\n- POSTPAID_BY_HOUR: Pay-as-you-go, i.e., pay by consumption\n\nDefault value: PREPAID.\n", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "Name of the newly purchased instance, which can contain up to 60 letters, digits, or symbols (-_). If this parameter is not specified, \"Unnamed\" will be displayed by default.\n", + "willReplaceOnChanges": true + }, + "period": { + "type": "integer", + "description": "Purchase duration, in months.\n- Prepaid: Supports `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, and `36`.\n- Pay-as-you-go: Only supports `1`.\n", + "willReplaceOnChanges": true + }, + "projectId": { + "type": "integer", + "description": "Project ID.\n", + "willReplaceOnChanges": true + }, + "recoveryTargetTime": { + "type": "string", + "description": "Restoration point in time.\n", + "willReplaceOnChanges": true + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Security group of the instance, which can be obtained from the `sgld` field in the return value of the [DescribeSecurityGroups](https://intl.cloud.tencent.com/document/api/215/15808?from_cn_redirect=1) API. If this parameter is not specified, the default security group will be bound.\n", + "willReplaceOnChanges": true + }, + "specCode": { + "type": "string", + "description": "Purchasable code, which can be obtained from the `SpecCode` field in the return value of the [DescribeClasses](https://intl.cloud.tencent.com/document/api/409/89019?from_cn_redirect=1) API.\n", + "willReplaceOnChanges": true + }, + "storage": { + "type": "integer", + "description": "Instance storage capacity in GB.\n", + "willReplaceOnChanges": true + }, + "subnetId": { + "type": "string", + "description": "VPC subnet ID in the format of `subnet-xxxxxxxx`, which can be obtained in the console or from the `unSubnetId` field in the return value of the [DescribeSubnets](https://intl.cloud.tencent.com/document/api/215/15784?from_cn_redirect=1) API.\n", + "willReplaceOnChanges": true + }, + "syncMode": { + "type": "string", + "description": "Primary-standby sync mode, which supports:\nSemi-sync: Semi-sync\nAsync: Asynchronous\nDefault value for the primary instance: Semi-sync\nDefault value for the read-only instance: Async.\n", + "willReplaceOnChanges": true + }, + "tagLists": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Postgresql/CloneDbInstanceTagList:CloneDbInstanceTagList" + }, + "description": "The information of tags to be bound with the instance, which is left empty by default. This parameter can be obtained from the `Tags` field in the return value of the [DescribeTags](https://intl.cloud.tencent.com/document/api/651/35316?from_cn_redirect=1) API.\n", + "willReplaceOnChanges": true + }, + "vpcId": { + "type": "string", + "description": "VPC ID in the format of `vpc-xxxxxxx`, which can be obtained in the console or from the `unVpcId` field in the return value of the [DescribeVpcEx](https://intl.cloud.tencent.com/document/api/215/1372?from_cn_redirect=1) API.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "autoRenewFlag", + "dbInstanceId", + "period", + "specCode", + "storage", + "subnetId", + "vpcId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering CloneDbInstance resources.\n", + "properties": { + "activityId": { + "type": "integer", + "description": "Campaign ID.\n", + "willReplaceOnChanges": true + }, + "autoRenewFlag": { + "type": "integer", + "description": "Renewal Flag:\n", + "willReplaceOnChanges": true + }, + "backupSetId": { + "type": "string", + "description": "Basic backup set ID.\n", + "willReplaceOnChanges": true + }, + "dbInstanceId": { + "type": "string", + "description": "ID of the original instance to be cloned.\n", + "willReplaceOnChanges": true + }, + "dbNodeSets": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Postgresql/CloneDbInstanceDbNodeSet:CloneDbInstanceDbNodeSet" + }, + "description": "Deployment information of the instance node, which will display the information of each AZ when the instance node is deployed across multiple AZs.\nThe information of AZ can be obtained from the `Zone` field in the return value of the [DescribeZones](https://intl.cloud.tencent.com/document/api/409/16769?from_cn_redirect=1) API.\n", + "willReplaceOnChanges": true + }, + "instanceChargeType": { + "type": "string", + "description": "Instance billing type, which currently supports:\n\n- PREPAID: Prepaid, i.e., monthly subscription\n- POSTPAID_BY_HOUR: Pay-as-you-go, i.e., pay by consumption\n\nDefault value: PREPAID.\n", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "Name of the newly purchased instance, which can contain up to 60 letters, digits, or symbols (-_). If this parameter is not specified, \"Unnamed\" will be displayed by default.\n", + "willReplaceOnChanges": true + }, + "period": { + "type": "integer", + "description": "Purchase duration, in months.\n- Prepaid: Supports `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, and `36`.\n- Pay-as-you-go: Only supports `1`.\n", + "willReplaceOnChanges": true + }, + "projectId": { + "type": "integer", + "description": "Project ID.\n", + "willReplaceOnChanges": true + }, + "recoveryTargetTime": { + "type": "string", + "description": "Restoration point in time.\n", + "willReplaceOnChanges": true + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Security group of the instance, which can be obtained from the `sgld` field in the return value of the [DescribeSecurityGroups](https://intl.cloud.tencent.com/document/api/215/15808?from_cn_redirect=1) API. If this parameter is not specified, the default security group will be bound.\n", + "willReplaceOnChanges": true + }, + "specCode": { + "type": "string", + "description": "Purchasable code, which can be obtained from the `SpecCode` field in the return value of the [DescribeClasses](https://intl.cloud.tencent.com/document/api/409/89019?from_cn_redirect=1) API.\n", + "willReplaceOnChanges": true + }, + "storage": { + "type": "integer", + "description": "Instance storage capacity in GB.\n", + "willReplaceOnChanges": true + }, + "subnetId": { + "type": "string", + "description": "VPC subnet ID in the format of `subnet-xxxxxxxx`, which can be obtained in the console or from the `unSubnetId` field in the return value of the [DescribeSubnets](https://intl.cloud.tencent.com/document/api/215/15784?from_cn_redirect=1) API.\n", + "willReplaceOnChanges": true + }, + "syncMode": { + "type": "string", + "description": "Primary-standby sync mode, which supports:\nSemi-sync: Semi-sync\nAsync: Asynchronous\nDefault value for the primary instance: Semi-sync\nDefault value for the read-only instance: Async.\n", + "willReplaceOnChanges": true + }, + "tagLists": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Postgresql/CloneDbInstanceTagList:CloneDbInstanceTagList" + }, + "description": "The information of tags to be bound with the instance, which is left empty by default. This parameter can be obtained from the `Tags` field in the return value of the [DescribeTags](https://intl.cloud.tencent.com/document/api/651/35316?from_cn_redirect=1) API.\n", + "willReplaceOnChanges": true + }, + "vpcId": { + "type": "string", + "description": "VPC ID in the format of `vpc-xxxxxxx`, which can be obtained in the console or from the `unVpcId` field in the return value of the [DescribeVpcEx](https://intl.cloud.tencent.com/document/api/215/1372?from_cn_redirect=1) API.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, "tencentcloud:Postgresql/deleteLogBackupOperation:DeleteLogBackupOperation": { "description": "Provides a resource to create a postgresql delete_log_backup_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 deleteLogBackupOperation = new tencentcloud.postgresql.DeleteLogBackupOperation(\"deleteLogBackupOperation\", {\n dbInstanceId: \"local.pg_id\",\n logBackupId: \"local.pg_log_backup_id\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\ndelete_log_backup_operation = tencentcloud.postgresql.DeleteLogBackupOperation(\"deleteLogBackupOperation\",\n db_instance_id=\"local.pg_id\",\n log_backup_id=\"local.pg_log_backup_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 deleteLogBackupOperation = new Tencentcloud.Postgresql.DeleteLogBackupOperation(\"deleteLogBackupOperation\", new()\n {\n DbInstanceId = \"local.pg_id\",\n LogBackupId = \"local.pg_log_backup_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/Postgresql\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Postgresql.NewDeleteLogBackupOperation(ctx, \"deleteLogBackupOperation\", \u0026Postgresql.DeleteLogBackupOperationArgs{\n\t\t\tDbInstanceId: pulumi.String(\"local.pg_id\"),\n\t\t\tLogBackupId: pulumi.String(\"local.pg_log_backup_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.Postgresql.DeleteLogBackupOperation;\nimport com.pulumi.tencentcloud.Postgresql.DeleteLogBackupOperationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 deleteLogBackupOperation = new DeleteLogBackupOperation(\"deleteLogBackupOperation\", DeleteLogBackupOperationArgs.builder() \n .dbInstanceId(\"local.pg_id\")\n .logBackupId(\"local.pg_log_backup_id\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n deleteLogBackupOperation:\n type: tencentcloud:Postgresql:DeleteLogBackupOperation\n properties:\n dbInstanceId: local.pg_id\n logBackupId: local.pg_log_backup_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { @@ -186737,7 +197467,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\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 +197521,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" @@ -186900,6 +197634,7 @@ }, "required": [ "availabilityZone", + "backupPlan", "cpu", "createTime", "dbKernelVersion", @@ -186973,6 +197708,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 +197864,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 +198395,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 +198598,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 +198620,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 +198734,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 +198841,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", @@ -188389,8 +199144,176 @@ "type": "object" } }, + "tencentcloud:PrivateDns/endPoint:EndPoint": { + "description": "Provides a resource to create a privatedns 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 example = new tencentcloud.privatedns.EndPoint(\"example\", {\n endPointName: \"tf-example\",\n endPointRegion: \"ap-guangzhou\",\n endPointServiceId: \"vpcsvc-61wcwmar\",\n ipNum: 1,\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.private_dns.EndPoint(\"example\",\n end_point_name=\"tf-example\",\n end_point_region=\"ap-guangzhou\",\n end_point_service_id=\"vpcsvc-61wcwmar\",\n ip_num=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Tencentcloud.PrivateDns.EndPoint(\"example\", new()\n {\n EndPointName = \"tf-example\",\n EndPointRegion = \"ap-guangzhou\",\n EndPointServiceId = \"vpcsvc-61wcwmar\",\n IpNum = 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/PrivateDns\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := PrivateDns.NewEndPoint(ctx, \"example\", \u0026PrivateDns.EndPointArgs{\n\t\t\tEndPointName: pulumi.String(\"tf-example\"),\n\t\t\tEndPointRegion: pulumi.String(\"ap-guangzhou\"),\n\t\t\tEndPointServiceId: pulumi.String(\"vpcsvc-61wcwmar\"),\n\t\t\tIpNum: 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.PrivateDns.EndPoint;\nimport com.pulumi.tencentcloud.PrivateDns.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 example = new EndPoint(\"example\", EndPointArgs.builder() \n .endPointName(\"tf-example\")\n .endPointRegion(\"ap-guangzhou\")\n .endPointServiceId(\"vpcsvc-61wcwmar\")\n .ipNum(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:PrivateDns:EndPoint\n properties:\n endPointName: tf-example\n endPointRegion: ap-guangzhou\n endPointServiceId: vpcsvc-61wcwmar\n ipNum: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nprivate dns end point can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:PrivateDns/endPoint:EndPoint example eid-77a246c867\n```\n\n", + "properties": { + "endPointName": { + "type": "string", + "description": "Endpoint name.\n" + }, + "endPointRegion": { + "type": "string", + "description": "Endpoint region, which should be consistent with the region of the endpoint service.\n" + }, + "endPointServiceId": { + "type": "string", + "description": "Endpoint service ID (namely, VPC endpoint service ID).\n" + }, + "endPointVipSets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Vip list of endpoint.\n" + }, + "ipNum": { + "type": "integer", + "description": "Number of endpoint IP addresses.\n" + } + }, + "required": [ + "endPointName", + "endPointRegion", + "endPointServiceId", + "endPointVipSets", + "ipNum" + ], + "inputProperties": { + "endPointName": { + "type": "string", + "description": "Endpoint name.\n", + "willReplaceOnChanges": true + }, + "endPointRegion": { + "type": "string", + "description": "Endpoint region, which should be consistent with the region of the endpoint service.\n", + "willReplaceOnChanges": true + }, + "endPointServiceId": { + "type": "string", + "description": "Endpoint service ID (namely, VPC endpoint service ID).\n", + "willReplaceOnChanges": true + }, + "ipNum": { + "type": "integer", + "description": "Number of endpoint IP addresses.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "endPointName", + "endPointRegion", + "endPointServiceId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering EndPoint resources.\n", + "properties": { + "endPointName": { + "type": "string", + "description": "Endpoint name.\n", + "willReplaceOnChanges": true + }, + "endPointRegion": { + "type": "string", + "description": "Endpoint region, which should be consistent with the region of the endpoint service.\n", + "willReplaceOnChanges": true + }, + "endPointServiceId": { + "type": "string", + "description": "Endpoint service ID (namely, VPC endpoint service ID).\n", + "willReplaceOnChanges": true + }, + "endPointVipSets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Vip list of endpoint.\n" + }, + "ipNum": { + "type": "integer", + "description": "Number of endpoint IP addresses.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "tencentcloud:PrivateDns/forwardRule:ForwardRule": { + "description": "Provides a resource to create a privatedns forward rule\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 exampleEndPoint = new tencentcloud.privatedns.EndPoint(\"exampleEndPoint\", {\n endPointName: \"tf-example\",\n endPointServiceId: \"vpcsvc-61wcwmar\",\n endPointRegion: \"ap-guangzhou\",\n ipNum: 1,\n});\nconst exampleForwardRule = new tencentcloud.privatedns.ForwardRule(\"exampleForwardRule\", {\n ruleName: \"tf-example\",\n ruleType: \"DOWN\",\n zoneId: \"zone-cmmbvaq8\",\n endPointId: exampleEndPoint.id,\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample_end_point = tencentcloud.private_dns.EndPoint(\"exampleEndPoint\",\n end_point_name=\"tf-example\",\n end_point_service_id=\"vpcsvc-61wcwmar\",\n end_point_region=\"ap-guangzhou\",\n ip_num=1)\nexample_forward_rule = tencentcloud.private_dns.ForwardRule(\"exampleForwardRule\",\n rule_name=\"tf-example\",\n rule_type=\"DOWN\",\n zone_id=\"zone-cmmbvaq8\",\n end_point_id=example_end_point.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 exampleEndPoint = new Tencentcloud.PrivateDns.EndPoint(\"exampleEndPoint\", new()\n {\n EndPointName = \"tf-example\",\n EndPointServiceId = \"vpcsvc-61wcwmar\",\n EndPointRegion = \"ap-guangzhou\",\n IpNum = 1,\n });\n\n var exampleForwardRule = new Tencentcloud.PrivateDns.ForwardRule(\"exampleForwardRule\", new()\n {\n RuleName = \"tf-example\",\n RuleType = \"DOWN\",\n ZoneId = \"zone-cmmbvaq8\",\n EndPointId = exampleEndPoint.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/PrivateDns\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleEndPoint, err := PrivateDns.NewEndPoint(ctx, \"exampleEndPoint\", \u0026PrivateDns.EndPointArgs{\n\t\t\tEndPointName: pulumi.String(\"tf-example\"),\n\t\t\tEndPointServiceId: pulumi.String(\"vpcsvc-61wcwmar\"),\n\t\t\tEndPointRegion: pulumi.String(\"ap-guangzhou\"),\n\t\t\tIpNum: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = PrivateDns.NewForwardRule(ctx, \"exampleForwardRule\", \u0026PrivateDns.ForwardRuleArgs{\n\t\t\tRuleName: pulumi.String(\"tf-example\"),\n\t\t\tRuleType: pulumi.String(\"DOWN\"),\n\t\t\tZoneId: pulumi.String(\"zone-cmmbvaq8\"),\n\t\t\tEndPointId: exampleEndPoint.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.PrivateDns.EndPoint;\nimport com.pulumi.tencentcloud.PrivateDns.EndPointArgs;\nimport com.pulumi.tencentcloud.PrivateDns.ForwardRule;\nimport com.pulumi.tencentcloud.PrivateDns.ForwardRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleEndPoint = new EndPoint(\"exampleEndPoint\", EndPointArgs.builder() \n .endPointName(\"tf-example\")\n .endPointServiceId(\"vpcsvc-61wcwmar\")\n .endPointRegion(\"ap-guangzhou\")\n .ipNum(1)\n .build());\n\n var exampleForwardRule = new ForwardRule(\"exampleForwardRule\", ForwardRuleArgs.builder() \n .ruleName(\"tf-example\")\n .ruleType(\"DOWN\")\n .zoneId(\"zone-cmmbvaq8\")\n .endPointId(exampleEndPoint.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleEndPoint:\n type: tencentcloud:PrivateDns:EndPoint\n properties:\n endPointName: tf-example\n endPointServiceId: vpcsvc-61wcwmar\n endPointRegion: ap-guangzhou\n ipNum: 1\n exampleForwardRule:\n type: tencentcloud:PrivateDns:ForwardRule\n properties:\n ruleName: tf-example\n ruleType: DOWN\n zoneId: zone-cmmbvaq8\n endPointId: ${exampleEndPoint.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nprivate dns forward rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:PrivateDns/forwardRule:ForwardRule example fid-dbc2c0a97c\n```\n\n", + "properties": { + "endPointId": { + "type": "string", + "description": "Endpoint ID.\n" + }, + "ruleName": { + "type": "string", + "description": "Forwarding rule name.\n" + }, + "ruleType": { + "type": "string", + "description": "Forwarding rule type. DOWN: From cloud to off-cloud; UP: From off-cloud to cloud.\n" + }, + "zoneId": { + "type": "string", + "description": "Private domain ID, which can be viewed on the private domain list page.\n" + } + }, + "required": [ + "endPointId", + "ruleName", + "ruleType", + "zoneId" + ], + "inputProperties": { + "endPointId": { + "type": "string", + "description": "Endpoint ID.\n" + }, + "ruleName": { + "type": "string", + "description": "Forwarding rule name.\n" + }, + "ruleType": { + "type": "string", + "description": "Forwarding rule type. DOWN: From cloud to off-cloud; UP: From off-cloud to cloud.\n" + }, + "zoneId": { + "type": "string", + "description": "Private domain ID, which can be viewed on the private domain list page.\n" + } + }, + "requiredInputs": [ + "endPointId", + "ruleName", + "ruleType", + "zoneId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering ForwardRule resources.\n", + "properties": { + "endPointId": { + "type": "string", + "description": "Endpoint ID.\n" + }, + "ruleName": { + "type": "string", + "description": "Forwarding rule name.\n" + }, + "ruleType": { + "type": "string", + "description": "Forwarding rule type. DOWN: From cloud to off-cloud; UP: From off-cloud to cloud.\n" + }, + "zoneId": { + "type": "string", + "description": "Private domain ID, which can be viewed on the private domain list page.\n" + } + }, + "type": "object" + } + }, "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 +199321,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 +199329,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 +199358,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 +199366,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 +199397,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 +199405,7 @@ }, "subDomain": { "type": "string", - "description": "Subdomain, such as \"www\", \"m\", and \"@\".\n" + "description": "Subdomain, such as `www`, `m`, and `@`.\n" }, "ttl": { "type": "integer", @@ -188502,7 +199425,7 @@ } }, "tencentcloud:PrivateDns/zone:Zone": { - "description": "Provide a resource to create a Private Dns Zone.\n\n## Example Usage\n\n### Create a basic Private Dns Zone\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 example = new tencentcloud.privatedns.Zone(\"example\", {\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```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\nexample = tencentcloud.private_dns.Zone(\"example\",\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```\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 example = new Tencentcloud.PrivateDns.Zone(\"example\", 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});\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\t_, err = PrivateDns.NewZone(ctx, \"example\", \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\treturn nil\n\t})\n}\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 java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Zone(\"example\", 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 }\n}\n```\n```yaml\nresources:\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n example:\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```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a Private Dns Zone domain and bind associated accounts'VPC\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.privatedns.Zone(\"example\", {\n domain: \"domain.com\",\n remark: \"remark.\",\n vpcSets: [{\n region: \"ap-guangzhou\",\n uniqVpcId: tencentcloud_vpc.vpc.id,\n }],\n accountVpcSets: [{\n uin: \"123456789\",\n uniqVpcId: \"vpc-adsebmya\",\n region: \"ap-guangzhou\",\n vpcName: \"vpc-name\",\n }],\n dnsForwardStatus: \"DISABLED\",\n cnameSpeedupStatus: \"ENABLED\",\n tags: {\n createdBy: \"terraform\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.private_dns.Zone(\"example\",\n domain=\"domain.com\",\n remark=\"remark.\",\n vpc_sets=[tencentcloud.private_dns.ZoneVpcSetArgs(\n region=\"ap-guangzhou\",\n uniq_vpc_id=tencentcloud_vpc[\"vpc\"][\"id\"],\n )],\n account_vpc_sets=[tencentcloud.private_dns.ZoneAccountVpcSetArgs(\n uin=\"123456789\",\n uniq_vpc_id=\"vpc-adsebmya\",\n region=\"ap-guangzhou\",\n vpc_name=\"vpc-name\",\n )],\n dns_forward_status=\"DISABLED\",\n cname_speedup_status=\"ENABLED\",\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.PrivateDns.Zone(\"example\", 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 = tencentcloud_vpc.Vpc.Id,\n },\n },\n AccountVpcSets = new[]\n {\n new Tencentcloud.PrivateDns.Inputs.ZoneAccountVpcSetArgs\n {\n Uin = \"123456789\",\n UniqVpcId = \"vpc-adsebmya\",\n Region = \"ap-guangzhou\",\n VpcName = \"vpc-name\",\n },\n },\n DnsForwardStatus = \"DISABLED\",\n CnameSpeedupStatus = \"ENABLED\",\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/PrivateDns\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := PrivateDns.NewZone(ctx, \"example\", \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: pulumi.Any(tencentcloud_vpc.Vpc.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAccountVpcSets: privatedns.ZoneAccountVpcSetArray{\n\t\t\t\t\u0026privatedns.ZoneAccountVpcSetArgs{\n\t\t\t\t\tUin: pulumi.String(\"123456789\"),\n\t\t\t\t\tUniqVpcId: pulumi.String(\"vpc-adsebmya\"),\n\t\t\t\t\tRegion: pulumi.String(\"ap-guangzhou\"),\n\t\t\t\t\tVpcName: pulumi.String(\"vpc-name\"),\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\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.PrivateDns.Zone;\nimport com.pulumi.tencentcloud.PrivateDns.ZoneArgs;\nimport com.pulumi.tencentcloud.PrivateDns.inputs.ZoneVpcSetArgs;\nimport com.pulumi.tencentcloud.PrivateDns.inputs.ZoneAccountVpcSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 Zone(\"example\", ZoneArgs.builder() \n .domain(\"domain.com\")\n .remark(\"remark.\")\n .vpcSets(ZoneVpcSetArgs.builder()\n .region(\"ap-guangzhou\")\n .uniqVpcId(tencentcloud_vpc.vpc().id())\n .build())\n .accountVpcSets(ZoneAccountVpcSetArgs.builder()\n .uin(\"123456789\")\n .uniqVpcId(\"vpc-adsebmya\")\n .region(\"ap-guangzhou\")\n .vpcName(\"vpc-name\")\n .build())\n .dnsForwardStatus(\"DISABLED\")\n .cnameSpeedupStatus(\"ENABLED\")\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:PrivateDns:Zone\n properties:\n domain: domain.com\n remark: remark.\n vpcSets:\n - region: ap-guangzhou\n uniqVpcId: ${tencentcloud_vpc.vpc.id}\n accountVpcSets:\n - uin: '123456789'\n uniqVpcId: vpc-adsebmya\n region: ap-guangzhou\n vpcName: vpc-name\n dnsForwardStatus: DISABLED\n cnameSpeedupStatus: ENABLED\n tags:\n createdBy: terraform\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPrivate Dns Zone can be imported, e.g.\n\n```sh\n$ pulumi import tencentcloud:PrivateDns/zone:Zone example zone-6xg5xgky\n```\n", + "description": "Provide a resource to create a Private Dns Zone.\n\n\u003e **NOTE:** If you want to unbind all VPCs bound to the current private dns zone, simply clearing the declaration will not take effect; you need to set the `region` and `uniq_vpc_id` in `vpc_set` to an empty string.\n\n## Example Usage\n\n### Create a basic Private Dns Zone\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 example = new tencentcloud.privatedns.Zone(\"example\", {\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```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\nexample = tencentcloud.private_dns.Zone(\"example\",\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```\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 example = new Tencentcloud.PrivateDns.Zone(\"example\", 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});\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\t_, err = PrivateDns.NewZone(ctx, \"example\", \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\treturn nil\n\t})\n}\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 java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 example = new Zone(\"example\", 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 }\n}\n```\n```yaml\nresources:\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n example:\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```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a Private Dns Zone domain and bind associated accounts'VPC\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.privatedns.Zone(\"example\", {\n domain: \"domain.com\",\n remark: \"remark.\",\n vpcSets: [{\n region: \"ap-guangzhou\",\n uniqVpcId: tencentcloud_vpc.vpc.id,\n }],\n accountVpcSets: [{\n uin: \"123456789\",\n uniqVpcId: \"vpc-adsebmya\",\n region: \"ap-guangzhou\",\n vpcName: \"vpc-name\",\n }],\n dnsForwardStatus: \"DISABLED\",\n cnameSpeedupStatus: \"ENABLED\",\n tags: {\n createdBy: \"terraform\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.private_dns.Zone(\"example\",\n domain=\"domain.com\",\n remark=\"remark.\",\n vpc_sets=[tencentcloud.private_dns.ZoneVpcSetArgs(\n region=\"ap-guangzhou\",\n uniq_vpc_id=tencentcloud_vpc[\"vpc\"][\"id\"],\n )],\n account_vpc_sets=[tencentcloud.private_dns.ZoneAccountVpcSetArgs(\n uin=\"123456789\",\n uniq_vpc_id=\"vpc-adsebmya\",\n region=\"ap-guangzhou\",\n vpc_name=\"vpc-name\",\n )],\n dns_forward_status=\"DISABLED\",\n cname_speedup_status=\"ENABLED\",\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.PrivateDns.Zone(\"example\", 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 = tencentcloud_vpc.Vpc.Id,\n },\n },\n AccountVpcSets = new[]\n {\n new Tencentcloud.PrivateDns.Inputs.ZoneAccountVpcSetArgs\n {\n Uin = \"123456789\",\n UniqVpcId = \"vpc-adsebmya\",\n Region = \"ap-guangzhou\",\n VpcName = \"vpc-name\",\n },\n },\n DnsForwardStatus = \"DISABLED\",\n CnameSpeedupStatus = \"ENABLED\",\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/PrivateDns\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := PrivateDns.NewZone(ctx, \"example\", \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: pulumi.Any(tencentcloud_vpc.Vpc.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAccountVpcSets: privatedns.ZoneAccountVpcSetArray{\n\t\t\t\t\u0026privatedns.ZoneAccountVpcSetArgs{\n\t\t\t\t\tUin: pulumi.String(\"123456789\"),\n\t\t\t\t\tUniqVpcId: pulumi.String(\"vpc-adsebmya\"),\n\t\t\t\t\tRegion: pulumi.String(\"ap-guangzhou\"),\n\t\t\t\t\tVpcName: pulumi.String(\"vpc-name\"),\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\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.PrivateDns.Zone;\nimport com.pulumi.tencentcloud.PrivateDns.ZoneArgs;\nimport com.pulumi.tencentcloud.PrivateDns.inputs.ZoneVpcSetArgs;\nimport com.pulumi.tencentcloud.PrivateDns.inputs.ZoneAccountVpcSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 Zone(\"example\", ZoneArgs.builder() \n .domain(\"domain.com\")\n .remark(\"remark.\")\n .vpcSets(ZoneVpcSetArgs.builder()\n .region(\"ap-guangzhou\")\n .uniqVpcId(tencentcloud_vpc.vpc().id())\n .build())\n .accountVpcSets(ZoneAccountVpcSetArgs.builder()\n .uin(\"123456789\")\n .uniqVpcId(\"vpc-adsebmya\")\n .region(\"ap-guangzhou\")\n .vpcName(\"vpc-name\")\n .build())\n .dnsForwardStatus(\"DISABLED\")\n .cnameSpeedupStatus(\"ENABLED\")\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:PrivateDns:Zone\n properties:\n domain: domain.com\n remark: remark.\n vpcSets:\n - region: ap-guangzhou\n uniqVpcId: ${tencentcloud_vpc.vpc.id}\n accountVpcSets:\n - uin: '123456789'\n uniqVpcId: vpc-adsebmya\n region: ap-guangzhou\n vpcName: vpc-name\n dnsForwardStatus: DISABLED\n cnameSpeedupStatus: ENABLED\n tags:\n createdBy: terraform\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPrivate Dns Zone can be imported, e.g.\n\n```sh\n$ pulumi import tencentcloud:PrivateDns/zone:Zone example zone-6xg5xgky\n```\n", "properties": { "accountVpcSets": { "type": "array", @@ -190966,7 +201889,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,9 +201907,13 @@ "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" + "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.\n" }, "ip": { "type": "string", @@ -191032,6 +201959,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" @@ -191040,6 +201971,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" @@ -191102,10 +202037,13 @@ "required": [ "availabilityZone", "createTime", + "dedicatedClusterId", "ip", "memSize", "name", "nodeInfos", + "productVersion", + "redisClusterId", "redisShardNum", "replicaZoneIds", "replicasReadOnly", @@ -191131,7 +202069,7 @@ }, "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" + "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.\n" }, "ip": { "type": "string", @@ -191170,6 +202108,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" @@ -191178,6 +202120,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,9 +202206,13 @@ "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" + "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.\n" }, "ip": { "type": "string", @@ -191308,6 +202258,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 +202270,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 +202337,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": { @@ -192213,6 +203295,167 @@ "type": "object" } }, + "tencentcloud:Reserve/ipAddress:IpAddress": { + "properties": { + "createdTime": { + "type": "string", + "description": "Created time.\n" + }, + "description": { + "type": "string", + "description": "The IP description is retained on the intranet.\n" + }, + "ipAddress": { + "type": "string", + "description": "Specify the reserved IP address of the intranet for which the IP application is requested.\n", + "language": { + "csharp": { + "name": "ReserveIpAddress" + } + } + }, + "ipType": { + "type": "integer", + "description": "Ip type for product application.\n" + }, + "name": { + "type": "string", + "description": "The IP name is reserved for the intranet.\n" + }, + "reserveIpId": { + "type": "string", + "description": "Reserve ip ID.\n" + }, + "resourceId": { + "type": "string", + "description": "The intranet retains the resource instance ID bound to the IPs.\n" + }, + "state": { + "type": "string", + "description": "Binding status.\n" + }, + "subnetId": { + "type": "string", + "description": "Subnet ID.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "description": "Tags.\n" + }, + "vpcId": { + "type": "string", + "description": "VPC unique ID.\n" + } + }, + "required": [ + "createdTime", + "ipAddress", + "ipType", + "name", + "reserveIpId", + "resourceId", + "state", + "vpcId" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "The IP description is retained on the intranet.\n" + }, + "ipAddress": { + "type": "string", + "description": "Specify the reserved IP address of the intranet for which the IP application is requested.\n", + "language": { + "csharp": { + "name": "ReserveIpAddress" + } + } + }, + "name": { + "type": "string", + "description": "The IP name is reserved for the intranet.\n" + }, + "subnetId": { + "type": "string", + "description": "Subnet ID.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "description": "Tags.\n" + }, + "vpcId": { + "type": "string", + "description": "VPC unique ID.\n" + } + }, + "requiredInputs": [ + "vpcId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering IpAddress resources.\n", + "properties": { + "createdTime": { + "type": "string", + "description": "Created time.\n" + }, + "description": { + "type": "string", + "description": "The IP description is retained on the intranet.\n" + }, + "ipAddress": { + "type": "string", + "description": "Specify the reserved IP address of the intranet for which the IP application is requested.\n", + "language": { + "csharp": { + "name": "ReserveIpAddress" + } + } + }, + "ipType": { + "type": "integer", + "description": "Ip type for product application.\n" + }, + "name": { + "type": "string", + "description": "The IP name is reserved for the intranet.\n" + }, + "reserveIpId": { + "type": "string", + "description": "Reserve ip ID.\n" + }, + "resourceId": { + "type": "string", + "description": "The intranet retains the resource instance ID bound to the IPs.\n" + }, + "state": { + "type": "string", + "description": "Binding status.\n" + }, + "subnetId": { + "type": "string", + "description": "Subnet ID.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "description": "Tags.\n" + }, + "vpcId": { + "type": "string", + "description": "VPC unique ID.\n" + } + }, + "type": "object" + } + }, "tencentcloud:Reserved/instance:Instance": { "description": "Provides a reserved instance resource.\n\n\u003e **NOTE:** Reserved instance cannot be deleted and updated. The reserved instance still exist which can be extracted by reserved_instances data source when reserved instance is destroied.\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 ri = new tencentcloud.reserved.Instance(\"ri\", {\n configId: \"469043dd-28b9-4d89-b557-74f6a8326259\",\n instanceCount: 2,\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nri = tencentcloud.reserved.Instance(\"ri\",\n config_id=\"469043dd-28b9-4d89-b557-74f6a8326259\",\n instance_count=2)\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 ri = new Tencentcloud.Reserved.Instance(\"ri\", new()\n {\n ConfigId = \"469043dd-28b9-4d89-b557-74f6a8326259\",\n InstanceCount = 2,\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/Reserved\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Reserved.NewInstance(ctx, \"ri\", \u0026Reserved.InstanceArgs{\n\t\t\tConfigId: pulumi.String(\"469043dd-28b9-4d89-b557-74f6a8326259\"),\n\t\t\tInstanceCount: pulumi.Int(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Reserved.Instance;\nimport com.pulumi.tencentcloud.Reserved.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 ri = new Instance(\"ri\", InstanceArgs.builder() \n .configId(\"469043dd-28b9-4d89-b557-74f6a8326259\")\n .instanceCount(2)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ri:\n type: tencentcloud:Reserved:Instance\n properties:\n configId: 469043dd-28b9-4d89-b557-74f6a8326259\n instanceCount: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nReserved instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Reserved/instance:Instance foo 6cc16e7c-47d7-4fae-9b44-ce5c0f59a920\n```\n", "properties": { @@ -192460,7 +203703,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 +203725,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 +203738,7 @@ "destinationCidrBlock", "nextHub", "nextType", + "routeItemId", "routeTableId" ], "inputProperties": { @@ -192557,6 +203805,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 +203933,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 +204055,7 @@ "properties": { "createTime": { "type": "string", - "description": "Creata Time.\n" + "description": "Create Time.\n" }, "creator": { "type": "string", @@ -193025,7 +204277,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", @@ -193283,7 +204535,7 @@ } }, "tencentcloud:Scf/function:Function": { - "description": "Provide a resource to create a SCF function.\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.scf.Function(\"foo\", {\n cosBucketName: \"scf-code-1234567890\",\n cosBucketRegion: \"ap-guangzhou\",\n cosObjectName: \"code.zip\",\n handler: \"main.do_it\",\n runtime: \"Python3.6\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nfoo = tencentcloud.scf.Function(\"foo\",\n cos_bucket_name=\"scf-code-1234567890\",\n cos_bucket_region=\"ap-guangzhou\",\n cos_object_name=\"code.zip\",\n handler=\"main.do_it\",\n runtime=\"Python3.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 foo = new Tencentcloud.Scf.Function(\"foo\", new()\n {\n CosBucketName = \"scf-code-1234567890\",\n CosBucketRegion = \"ap-guangzhou\",\n CosObjectName = \"code.zip\",\n Handler = \"main.do_it\",\n Runtime = \"Python3.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/Scf\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Scf.NewFunction(ctx, \"foo\", \u0026Scf.FunctionArgs{\n\t\t\tCosBucketName: pulumi.String(\"scf-code-1234567890\"),\n\t\t\tCosBucketRegion: pulumi.String(\"ap-guangzhou\"),\n\t\t\tCosObjectName: pulumi.String(\"code.zip\"),\n\t\t\tHandler: pulumi.String(\"main.do_it\"),\n\t\t\tRuntime: pulumi.String(\"Python3.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.Scf.Function;\nimport com.pulumi.tencentcloud.Scf.FunctionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 Function(\"foo\", FunctionArgs.builder() \n .cosBucketName(\"scf-code-1234567890\")\n .cosBucketRegion(\"ap-guangzhou\")\n .cosObjectName(\"code.zip\")\n .handler(\"main.do_it\")\n .runtime(\"Python3.6\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: tencentcloud:Scf:Function\n properties:\n cosBucketName: scf-code-1234567890\n cosBucketRegion: ap-guangzhou\n cosObjectName: code.zip\n handler: main.do_it\n runtime: Python3.6\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using Zip file\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.scf.Function(\"foo\", {\n dnsCache: true,\n enablePublicNet: true,\n handler: \"first.do_it_first\",\n intranetConfig: {\n ipFixed: \"ENABLE\",\n },\n runtime: \"Python3.6\",\n subnetId: \"subnet-ljyn7h30\",\n tags: {\n env: \"test\",\n },\n vpcId: \"vpc-391sv4w3\",\n zipFile: \"/scf/first.zip\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nfoo = tencentcloud.scf.Function(\"foo\",\n dns_cache=True,\n enable_public_net=True,\n handler=\"first.do_it_first\",\n intranet_config=tencentcloud.scf.FunctionIntranetConfigArgs(\n ip_fixed=\"ENABLE\",\n ),\n runtime=\"Python3.6\",\n subnet_id=\"subnet-ljyn7h30\",\n tags={\n \"env\": \"test\",\n },\n vpc_id=\"vpc-391sv4w3\",\n zip_file=\"/scf/first.zip\")\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.Scf.Function(\"foo\", new()\n {\n DnsCache = true,\n EnablePublicNet = true,\n Handler = \"first.do_it_first\",\n IntranetConfig = new Tencentcloud.Scf.Inputs.FunctionIntranetConfigArgs\n {\n IpFixed = \"ENABLE\",\n },\n Runtime = \"Python3.6\",\n SubnetId = \"subnet-ljyn7h30\",\n Tags = \n {\n { \"env\", \"test\" },\n },\n VpcId = \"vpc-391sv4w3\",\n ZipFile = \"/scf/first.zip\",\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/Scf\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Scf.NewFunction(ctx, \"foo\", \u0026Scf.FunctionArgs{\n\t\t\tDnsCache: pulumi.Bool(true),\n\t\t\tEnablePublicNet: pulumi.Bool(true),\n\t\t\tHandler: pulumi.String(\"first.do_it_first\"),\n\t\t\tIntranetConfig: \u0026scf.FunctionIntranetConfigArgs{\n\t\t\t\tIpFixed: pulumi.String(\"ENABLE\"),\n\t\t\t},\n\t\t\tRuntime: pulumi.String(\"Python3.6\"),\n\t\t\tSubnetId: pulumi.String(\"subnet-ljyn7h30\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"env\": pulumi.Any(\"test\"),\n\t\t\t},\n\t\t\tVpcId: pulumi.String(\"vpc-391sv4w3\"),\n\t\t\tZipFile: pulumi.String(\"/scf/first.zip\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Scf.Function;\nimport com.pulumi.tencentcloud.Scf.FunctionArgs;\nimport com.pulumi.tencentcloud.Scf.inputs.FunctionIntranetConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 Function(\"foo\", FunctionArgs.builder() \n .dnsCache(true)\n .enablePublicNet(true)\n .handler(\"first.do_it_first\")\n .intranetConfig(FunctionIntranetConfigArgs.builder()\n .ipFixed(\"ENABLE\")\n .build())\n .runtime(\"Python3.6\")\n .subnetId(\"subnet-ljyn7h30\")\n .tags(Map.of(\"env\", \"test\"))\n .vpcId(\"vpc-391sv4w3\")\n .zipFile(\"/scf/first.zip\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: tencentcloud:Scf:Function\n properties:\n dnsCache: true\n enablePublicNet: true\n handler: first.do_it_first\n intranetConfig:\n ipFixed: ENABLE\n runtime: Python3.6\n subnetId: subnet-ljyn7h30\n tags:\n env: test\n vpcId: vpc-391sv4w3\n zipFile: /scf/first.zip\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using CFS config\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.scf.Function(\"foo\", {\n cfsConfigs: [{\n cfsId: \"cfs-xxxxxxxx\",\n localMountDir: \"/mnt\",\n mountInsId: \"cfs-xxxxxxxx\",\n remoteMountDir: \"/\",\n userGroupId: \"10000\",\n userId: \"10000\",\n }],\n handler: \"main.do_it\",\n runtime: \"Python3.6\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nfoo = tencentcloud.scf.Function(\"foo\",\n cfs_configs=[tencentcloud.scf.FunctionCfsConfigArgs(\n cfs_id=\"cfs-xxxxxxxx\",\n local_mount_dir=\"/mnt\",\n mount_ins_id=\"cfs-xxxxxxxx\",\n remote_mount_dir=\"/\",\n user_group_id=\"10000\",\n user_id=\"10000\",\n )],\n handler=\"main.do_it\",\n runtime=\"Python3.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 foo = new Tencentcloud.Scf.Function(\"foo\", new()\n {\n CfsConfigs = new[]\n {\n new Tencentcloud.Scf.Inputs.FunctionCfsConfigArgs\n {\n CfsId = \"cfs-xxxxxxxx\",\n LocalMountDir = \"/mnt\",\n MountInsId = \"cfs-xxxxxxxx\",\n RemoteMountDir = \"/\",\n UserGroupId = \"10000\",\n UserId = \"10000\",\n },\n },\n Handler = \"main.do_it\",\n Runtime = \"Python3.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/Scf\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Scf.NewFunction(ctx, \"foo\", \u0026Scf.FunctionArgs{\n\t\t\tCfsConfigs: scf.FunctionCfsConfigArray{\n\t\t\t\t\u0026scf.FunctionCfsConfigArgs{\n\t\t\t\t\tCfsId: pulumi.String(\"cfs-xxxxxxxx\"),\n\t\t\t\t\tLocalMountDir: pulumi.String(\"/mnt\"),\n\t\t\t\t\tMountInsId: pulumi.String(\"cfs-xxxxxxxx\"),\n\t\t\t\t\tRemoteMountDir: pulumi.String(\"/\"),\n\t\t\t\t\tUserGroupId: pulumi.String(\"10000\"),\n\t\t\t\t\tUserId: pulumi.String(\"10000\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHandler: pulumi.String(\"main.do_it\"),\n\t\t\tRuntime: pulumi.String(\"Python3.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.Scf.Function;\nimport com.pulumi.tencentcloud.Scf.FunctionArgs;\nimport com.pulumi.tencentcloud.Scf.inputs.FunctionCfsConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 Function(\"foo\", FunctionArgs.builder() \n .cfsConfigs(FunctionCfsConfigArgs.builder()\n .cfsId(\"cfs-xxxxxxxx\")\n .localMountDir(\"/mnt\")\n .mountInsId(\"cfs-xxxxxxxx\")\n .remoteMountDir(\"/\")\n .userGroupId(\"10000\")\n .userId(\"10000\")\n .build())\n .handler(\"main.do_it\")\n .runtime(\"Python3.6\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: tencentcloud:Scf:Function\n properties:\n cfsConfigs:\n - cfsId: cfs-xxxxxxxx\n localMountDir: /mnt\n mountInsId: cfs-xxxxxxxx\n remoteMountDir: /\n userGroupId: '10000'\n userId: '10000'\n handler: main.do_it\n runtime: Python3.6\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using triggers\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.scf.Function(\"foo\", {\n enablePublicNet: true,\n handler: \"first.do_it_first\",\n runtime: \"Python3.6\",\n triggers: [\n {\n name: \"tf-test-fn-trigger\",\n triggerDesc: \"*/5 * * * * * *\",\n type: \"timer\",\n },\n {\n cosRegion: \"ap-guangzhou\",\n name: \"scf-bucket-1308919341.cos.ap-guangzhou.myqcloud.com\",\n triggerDesc: \"{\\\"event\\\":\\\"cos:ObjectCreated:Put\\\",\\\"filter\\\":{\\\"Prefix\\\":\\\"\\\",\\\"Suffix\\\":\\\"\\\"}}\",\n type: \"cos\",\n },\n ],\n zipFile: \"/scf/first.zip\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nfoo = tencentcloud.scf.Function(\"foo\",\n enable_public_net=True,\n handler=\"first.do_it_first\",\n runtime=\"Python3.6\",\n triggers=[\n tencentcloud.scf.FunctionTriggerArgs(\n name=\"tf-test-fn-trigger\",\n trigger_desc=\"*/5 * * * * * *\",\n type=\"timer\",\n ),\n tencentcloud.scf.FunctionTriggerArgs(\n cos_region=\"ap-guangzhou\",\n name=\"scf-bucket-1308919341.cos.ap-guangzhou.myqcloud.com\",\n trigger_desc=\"{\\\"event\\\":\\\"cos:ObjectCreated:Put\\\",\\\"filter\\\":{\\\"Prefix\\\":\\\"\\\",\\\"Suffix\\\":\\\"\\\"}}\",\n type=\"cos\",\n ),\n ],\n zip_file=\"/scf/first.zip\")\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.Scf.Function(\"foo\", new()\n {\n EnablePublicNet = true,\n Handler = \"first.do_it_first\",\n Runtime = \"Python3.6\",\n Triggers = new[]\n {\n new Tencentcloud.Scf.Inputs.FunctionTriggerArgs\n {\n Name = \"tf-test-fn-trigger\",\n TriggerDesc = \"*/5 * * * * * *\",\n Type = \"timer\",\n },\n new Tencentcloud.Scf.Inputs.FunctionTriggerArgs\n {\n CosRegion = \"ap-guangzhou\",\n Name = \"scf-bucket-1308919341.cos.ap-guangzhou.myqcloud.com\",\n TriggerDesc = \"{\\\"event\\\":\\\"cos:ObjectCreated:Put\\\",\\\"filter\\\":{\\\"Prefix\\\":\\\"\\\",\\\"Suffix\\\":\\\"\\\"}}\",\n Type = \"cos\",\n },\n },\n ZipFile = \"/scf/first.zip\",\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/Scf\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Scf.NewFunction(ctx, \"foo\", \u0026Scf.FunctionArgs{\n\t\t\tEnablePublicNet: pulumi.Bool(true),\n\t\t\tHandler: pulumi.String(\"first.do_it_first\"),\n\t\t\tRuntime: pulumi.String(\"Python3.6\"),\n\t\t\tTriggers: scf.FunctionTriggerArray{\n\t\t\t\t\u0026scf.FunctionTriggerArgs{\n\t\t\t\t\tName: pulumi.String(\"tf-test-fn-trigger\"),\n\t\t\t\t\tTriggerDesc: pulumi.String(\"*/5 * * * * * *\"),\n\t\t\t\t\tType: pulumi.String(\"timer\"),\n\t\t\t\t},\n\t\t\t\t\u0026scf.FunctionTriggerArgs{\n\t\t\t\t\tCosRegion: pulumi.String(\"ap-guangzhou\"),\n\t\t\t\t\tName: pulumi.String(\"scf-bucket-1308919341.cos.ap-guangzhou.myqcloud.com\"),\n\t\t\t\t\tTriggerDesc: pulumi.String(\"{\\\"event\\\":\\\"cos:ObjectCreated:Put\\\",\\\"filter\\\":{\\\"Prefix\\\":\\\"\\\",\\\"Suffix\\\":\\\"\\\"}}\"),\n\t\t\t\t\tType: pulumi.String(\"cos\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tZipFile: pulumi.String(\"/scf/first.zip\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Scf.Function;\nimport com.pulumi.tencentcloud.Scf.FunctionArgs;\nimport com.pulumi.tencentcloud.Scf.inputs.FunctionTriggerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 Function(\"foo\", FunctionArgs.builder() \n .enablePublicNet(true)\n .handler(\"first.do_it_first\")\n .runtime(\"Python3.6\")\n .triggers( \n FunctionTriggerArgs.builder()\n .name(\"tf-test-fn-trigger\")\n .triggerDesc(\"*/5 * * * * * *\")\n .type(\"timer\")\n .build(),\n FunctionTriggerArgs.builder()\n .cosRegion(\"ap-guangzhou\")\n .name(\"scf-bucket-1308919341.cos.ap-guangzhou.myqcloud.com\")\n .triggerDesc(\"{\\\"event\\\":\\\"cos:ObjectCreated:Put\\\",\\\"filter\\\":{\\\"Prefix\\\":\\\"\\\",\\\"Suffix\\\":\\\"\\\"}}\")\n .type(\"cos\")\n .build())\n .zipFile(\"/scf/first.zip\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: tencentcloud:Scf:Function\n properties:\n enablePublicNet: true\n handler: first.do_it_first\n runtime: Python3.6\n triggers:\n - name: tf-test-fn-trigger\n triggerDesc: '*/5 * * * * * *'\n type: timer\n - cosRegion: ap-guangzhou\n name: scf-bucket-1308919341.cos.ap-guangzhou.myqcloud.com\n triggerDesc: '{\"event\":\"cos:ObjectCreated:Put\",\"filter\":{\"Prefix\":\"\",\"Suffix\":\"\"}}'\n type: cos\n zipFile: /scf/first.zip\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSCF function can be imported, e.g.\n\n-\u003e __NOTE:__ function id is `\u003cfunction namespace\u003e+\u003cfunction name\u003e`\n\n```sh\n$ pulumi import tencentcloud:Scf/function:Function test default+test\n```\n", + "description": "Provide a resource to create a SCF function.\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.scf.Function(\"foo\", {\n cosBucketName: \"scf-code-1234567890\",\n cosBucketRegion: \"ap-guangzhou\",\n cosObjectName: \"code.zip\",\n handler: \"main.do_it\",\n runtime: \"Python3.6\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nfoo = tencentcloud.scf.Function(\"foo\",\n cos_bucket_name=\"scf-code-1234567890\",\n cos_bucket_region=\"ap-guangzhou\",\n cos_object_name=\"code.zip\",\n handler=\"main.do_it\",\n runtime=\"Python3.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 foo = new Tencentcloud.Scf.Function(\"foo\", new()\n {\n CosBucketName = \"scf-code-1234567890\",\n CosBucketRegion = \"ap-guangzhou\",\n CosObjectName = \"code.zip\",\n Handler = \"main.do_it\",\n Runtime = \"Python3.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/Scf\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Scf.NewFunction(ctx, \"foo\", \u0026Scf.FunctionArgs{\n\t\t\tCosBucketName: pulumi.String(\"scf-code-1234567890\"),\n\t\t\tCosBucketRegion: pulumi.String(\"ap-guangzhou\"),\n\t\t\tCosObjectName: pulumi.String(\"code.zip\"),\n\t\t\tHandler: pulumi.String(\"main.do_it\"),\n\t\t\tRuntime: pulumi.String(\"Python3.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.Scf.Function;\nimport com.pulumi.tencentcloud.Scf.FunctionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 Function(\"foo\", FunctionArgs.builder() \n .cosBucketName(\"scf-code-1234567890\")\n .cosBucketRegion(\"ap-guangzhou\")\n .cosObjectName(\"code.zip\")\n .handler(\"main.do_it\")\n .runtime(\"Python3.6\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: tencentcloud:Scf:Function\n properties:\n cosBucketName: scf-code-1234567890\n cosBucketRegion: ap-guangzhou\n cosObjectName: code.zip\n handler: main.do_it\n runtime: Python3.6\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using Zip file\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.scf.Function(\"foo\", {\n dnsCache: true,\n enablePublicNet: true,\n handler: \"first.do_it_first\",\n intranetConfig: {\n ipFixed: \"ENABLE\",\n },\n runtime: \"Python3.6\",\n subnetId: \"subnet-ljyn7h30\",\n tags: {\n env: \"test\",\n },\n vpcId: \"vpc-391sv4w3\",\n zipFile: \"/scf/first.zip\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nfoo = tencentcloud.scf.Function(\"foo\",\n dns_cache=True,\n enable_public_net=True,\n handler=\"first.do_it_first\",\n intranet_config=tencentcloud.scf.FunctionIntranetConfigArgs(\n ip_fixed=\"ENABLE\",\n ),\n runtime=\"Python3.6\",\n subnet_id=\"subnet-ljyn7h30\",\n tags={\n \"env\": \"test\",\n },\n vpc_id=\"vpc-391sv4w3\",\n zip_file=\"/scf/first.zip\")\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.Scf.Function(\"foo\", new()\n {\n DnsCache = true,\n EnablePublicNet = true,\n Handler = \"first.do_it_first\",\n IntranetConfig = new Tencentcloud.Scf.Inputs.FunctionIntranetConfigArgs\n {\n IpFixed = \"ENABLE\",\n },\n Runtime = \"Python3.6\",\n SubnetId = \"subnet-ljyn7h30\",\n Tags = \n {\n { \"env\", \"test\" },\n },\n VpcId = \"vpc-391sv4w3\",\n ZipFile = \"/scf/first.zip\",\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/Scf\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Scf.NewFunction(ctx, \"foo\", \u0026Scf.FunctionArgs{\n\t\t\tDnsCache: pulumi.Bool(true),\n\t\t\tEnablePublicNet: pulumi.Bool(true),\n\t\t\tHandler: pulumi.String(\"first.do_it_first\"),\n\t\t\tIntranetConfig: \u0026scf.FunctionIntranetConfigArgs{\n\t\t\t\tIpFixed: pulumi.String(\"ENABLE\"),\n\t\t\t},\n\t\t\tRuntime: pulumi.String(\"Python3.6\"),\n\t\t\tSubnetId: pulumi.String(\"subnet-ljyn7h30\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"env\": pulumi.Any(\"test\"),\n\t\t\t},\n\t\t\tVpcId: pulumi.String(\"vpc-391sv4w3\"),\n\t\t\tZipFile: pulumi.String(\"/scf/first.zip\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Scf.Function;\nimport com.pulumi.tencentcloud.Scf.FunctionArgs;\nimport com.pulumi.tencentcloud.Scf.inputs.FunctionIntranetConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 Function(\"foo\", FunctionArgs.builder() \n .dnsCache(true)\n .enablePublicNet(true)\n .handler(\"first.do_it_first\")\n .intranetConfig(FunctionIntranetConfigArgs.builder()\n .ipFixed(\"ENABLE\")\n .build())\n .runtime(\"Python3.6\")\n .subnetId(\"subnet-ljyn7h30\")\n .tags(Map.of(\"env\", \"test\"))\n .vpcId(\"vpc-391sv4w3\")\n .zipFile(\"/scf/first.zip\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: tencentcloud:Scf:Function\n properties:\n dnsCache: true\n enablePublicNet: true\n handler: first.do_it_first\n intranetConfig:\n ipFixed: ENABLE\n runtime: Python3.6\n subnetId: subnet-ljyn7h30\n tags:\n env: test\n vpcId: vpc-391sv4w3\n zipFile: /scf/first.zip\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using CFS config\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.scf.Function(\"foo\", {\n cfsConfigs: [{\n cfsId: \"cfs-xxxxxxxx\",\n localMountDir: \"/mnt\",\n mountInsId: \"cfs-xxxxxxxx\",\n remoteMountDir: \"/\",\n userGroupId: \"10000\",\n userId: \"10000\",\n }],\n handler: \"main.do_it\",\n runtime: \"Python3.6\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nfoo = tencentcloud.scf.Function(\"foo\",\n cfs_configs=[tencentcloud.scf.FunctionCfsConfigArgs(\n cfs_id=\"cfs-xxxxxxxx\",\n local_mount_dir=\"/mnt\",\n mount_ins_id=\"cfs-xxxxxxxx\",\n remote_mount_dir=\"/\",\n user_group_id=\"10000\",\n user_id=\"10000\",\n )],\n handler=\"main.do_it\",\n runtime=\"Python3.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 foo = new Tencentcloud.Scf.Function(\"foo\", new()\n {\n CfsConfigs = new[]\n {\n new Tencentcloud.Scf.Inputs.FunctionCfsConfigArgs\n {\n CfsId = \"cfs-xxxxxxxx\",\n LocalMountDir = \"/mnt\",\n MountInsId = \"cfs-xxxxxxxx\",\n RemoteMountDir = \"/\",\n UserGroupId = \"10000\",\n UserId = \"10000\",\n },\n },\n Handler = \"main.do_it\",\n Runtime = \"Python3.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/Scf\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Scf.NewFunction(ctx, \"foo\", \u0026Scf.FunctionArgs{\n\t\t\tCfsConfigs: scf.FunctionCfsConfigArray{\n\t\t\t\t\u0026scf.FunctionCfsConfigArgs{\n\t\t\t\t\tCfsId: pulumi.String(\"cfs-xxxxxxxx\"),\n\t\t\t\t\tLocalMountDir: pulumi.String(\"/mnt\"),\n\t\t\t\t\tMountInsId: pulumi.String(\"cfs-xxxxxxxx\"),\n\t\t\t\t\tRemoteMountDir: pulumi.String(\"/\"),\n\t\t\t\t\tUserGroupId: pulumi.String(\"10000\"),\n\t\t\t\t\tUserId: pulumi.String(\"10000\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHandler: pulumi.String(\"main.do_it\"),\n\t\t\tRuntime: pulumi.String(\"Python3.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.Scf.Function;\nimport com.pulumi.tencentcloud.Scf.FunctionArgs;\nimport com.pulumi.tencentcloud.Scf.inputs.FunctionCfsConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 Function(\"foo\", FunctionArgs.builder() \n .cfsConfigs(FunctionCfsConfigArgs.builder()\n .cfsId(\"cfs-xxxxxxxx\")\n .localMountDir(\"/mnt\")\n .mountInsId(\"cfs-xxxxxxxx\")\n .remoteMountDir(\"/\")\n .userGroupId(\"10000\")\n .userId(\"10000\")\n .build())\n .handler(\"main.do_it\")\n .runtime(\"Python3.6\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: tencentcloud:Scf:Function\n properties:\n cfsConfigs:\n - cfsId: cfs-xxxxxxxx\n localMountDir: /mnt\n mountInsId: cfs-xxxxxxxx\n remoteMountDir: /\n userGroupId: '10000'\n userId: '10000'\n handler: main.do_it\n runtime: Python3.6\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using triggers\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.scf.Function(\"foo\", {\n handler: \"first.do_it_first\",\n runtime: \"Python3.6\",\n enablePublicNet: true,\n zipFile: \"/scf/first.zip\",\n triggers: [\n {\n name: \"tf-test-fn-trigger\",\n type: \"timer\",\n triggerDesc: \"*/5 * * * * * *\",\n },\n {\n name: \"scf-bucket-1308919341.cos.ap-guangzhou.myqcloud.com\",\n cosRegion: \"ap-guangzhou\",\n type: \"cos\",\n triggerDesc: \"{\\\"event\\\":\\\"cos:ObjectCreated:Put\\\",\\\"filter\\\":{\\\"Prefix\\\":\\\"\\\",\\\"Suffix\\\":\\\"\\\"}}\",\n },\n {\n name: \"tf-test-fn-trigger\",\n type: \"http\",\n triggerDesc: JSON.stringify({\n AuthType: \"NONE\",\n NetConfig: {\n EnableIntranet: true,\n EnableExtranet: false,\n },\n }),\n },\n ],\n});\n```\n```python\nimport pulumi\nimport json\nimport tencentcloud_iac_pulumi as tencentcloud\n\nfoo = tencentcloud.scf.Function(\"foo\",\n handler=\"first.do_it_first\",\n runtime=\"Python3.6\",\n enable_public_net=True,\n zip_file=\"/scf/first.zip\",\n triggers=[\n tencentcloud.scf.FunctionTriggerArgs(\n name=\"tf-test-fn-trigger\",\n type=\"timer\",\n trigger_desc=\"*/5 * * * * * *\",\n ),\n tencentcloud.scf.FunctionTriggerArgs(\n name=\"scf-bucket-1308919341.cos.ap-guangzhou.myqcloud.com\",\n cos_region=\"ap-guangzhou\",\n type=\"cos\",\n trigger_desc=\"{\\\"event\\\":\\\"cos:ObjectCreated:Put\\\",\\\"filter\\\":{\\\"Prefix\\\":\\\"\\\",\\\"Suffix\\\":\\\"\\\"}}\",\n ),\n tencentcloud.scf.FunctionTriggerArgs(\n name=\"tf-test-fn-trigger\",\n type=\"http\",\n trigger_desc=json.dumps({\n \"AuthType\": \"NONE\",\n \"NetConfig\": {\n \"EnableIntranet\": True,\n \"EnableExtranet\": False,\n },\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 foo = new Tencentcloud.Scf.Function(\"foo\", new()\n {\n Handler = \"first.do_it_first\",\n Runtime = \"Python3.6\",\n EnablePublicNet = true,\n ZipFile = \"/scf/first.zip\",\n Triggers = new[]\n {\n new Tencentcloud.Scf.Inputs.FunctionTriggerArgs\n {\n Name = \"tf-test-fn-trigger\",\n Type = \"timer\",\n TriggerDesc = \"*/5 * * * * * *\",\n },\n new Tencentcloud.Scf.Inputs.FunctionTriggerArgs\n {\n Name = \"scf-bucket-1308919341.cos.ap-guangzhou.myqcloud.com\",\n CosRegion = \"ap-guangzhou\",\n Type = \"cos\",\n TriggerDesc = \"{\\\"event\\\":\\\"cos:ObjectCreated:Put\\\",\\\"filter\\\":{\\\"Prefix\\\":\\\"\\\",\\\"Suffix\\\":\\\"\\\"}}\",\n },\n new Tencentcloud.Scf.Inputs.FunctionTriggerArgs\n {\n Name = \"tf-test-fn-trigger\",\n Type = \"http\",\n TriggerDesc = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"AuthType\"] = \"NONE\",\n [\"NetConfig\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"EnableIntranet\"] = true,\n [\"EnableExtranet\"] = false,\n },\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/Scf\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"AuthType\": \"NONE\",\n\t\t\t\"NetConfig\": map[string]interface{}{\n\t\t\t\t\"EnableIntranet\": true,\n\t\t\t\t\"EnableExtranet\": false,\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 = Scf.NewFunction(ctx, \"foo\", \u0026Scf.FunctionArgs{\n\t\t\tHandler: pulumi.String(\"first.do_it_first\"),\n\t\t\tRuntime: pulumi.String(\"Python3.6\"),\n\t\t\tEnablePublicNet: pulumi.Bool(true),\n\t\t\tZipFile: pulumi.String(\"/scf/first.zip\"),\n\t\t\tTriggers: scf.FunctionTriggerArray{\n\t\t\t\t\u0026scf.FunctionTriggerArgs{\n\t\t\t\t\tName: pulumi.String(\"tf-test-fn-trigger\"),\n\t\t\t\t\tType: pulumi.String(\"timer\"),\n\t\t\t\t\tTriggerDesc: pulumi.String(\"*/5 * * * * * *\"),\n\t\t\t\t},\n\t\t\t\t\u0026scf.FunctionTriggerArgs{\n\t\t\t\t\tName: pulumi.String(\"scf-bucket-1308919341.cos.ap-guangzhou.myqcloud.com\"),\n\t\t\t\t\tCosRegion: pulumi.String(\"ap-guangzhou\"),\n\t\t\t\t\tType: pulumi.String(\"cos\"),\n\t\t\t\t\tTriggerDesc: pulumi.String(\"{\\\"event\\\":\\\"cos:ObjectCreated:Put\\\",\\\"filter\\\":{\\\"Prefix\\\":\\\"\\\",\\\"Suffix\\\":\\\"\\\"}}\"),\n\t\t\t\t},\n\t\t\t\t\u0026scf.FunctionTriggerArgs{\n\t\t\t\t\tName: pulumi.String(\"tf-test-fn-trigger\"),\n\t\t\t\t\tType: pulumi.String(\"http\"),\n\t\t\t\t\tTriggerDesc: pulumi.String(json0),\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.Scf.Function;\nimport com.pulumi.tencentcloud.Scf.FunctionArgs;\nimport com.pulumi.tencentcloud.Scf.inputs.FunctionTriggerArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Function(\"foo\", FunctionArgs.builder() \n .handler(\"first.do_it_first\")\n .runtime(\"Python3.6\")\n .enablePublicNet(true)\n .zipFile(\"/scf/first.zip\")\n .triggers( \n FunctionTriggerArgs.builder()\n .name(\"tf-test-fn-trigger\")\n .type(\"timer\")\n .triggerDesc(\"*/5 * * * * * *\")\n .build(),\n FunctionTriggerArgs.builder()\n .name(\"scf-bucket-1308919341.cos.ap-guangzhou.myqcloud.com\")\n .cosRegion(\"ap-guangzhou\")\n .type(\"cos\")\n .triggerDesc(\"{\\\"event\\\":\\\"cos:ObjectCreated:Put\\\",\\\"filter\\\":{\\\"Prefix\\\":\\\"\\\",\\\"Suffix\\\":\\\"\\\"}}\")\n .build(),\n FunctionTriggerArgs.builder()\n .name(\"tf-test-fn-trigger\")\n .type(\"http\")\n .triggerDesc(serializeJson(\n jsonObject(\n jsonProperty(\"AuthType\", \"NONE\"),\n jsonProperty(\"NetConfig\", jsonObject(\n jsonProperty(\"EnableIntranet\", true),\n jsonProperty(\"EnableExtranet\", false)\n ))\n )))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: tencentcloud:Scf:Function\n properties:\n handler: first.do_it_first\n runtime: Python3.6\n enablePublicNet: true\n zipFile: /scf/first.zip\n triggers:\n - name: tf-test-fn-trigger\n type: timer\n triggerDesc: '*/5 * * * * * *'\n - name: scf-bucket-1308919341.cos.ap-guangzhou.myqcloud.com\n cosRegion: ap-guangzhou\n type: cos\n triggerDesc: '{\"event\":\"cos:ObjectCreated:Put\",\"filter\":{\"Prefix\":\"\",\"Suffix\":\"\"}}'\n - name: tf-test-fn-trigger\n type: http\n triggerDesc:\n fn::toJSON:\n AuthType: NONE\n NetConfig:\n EnableIntranet: true\n EnableExtranet: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSCF function can be imported, e.g.\n\n-\u003e __NOTE:__ function id is `\u003cfunction namespace\u003e+\u003cfunction name\u003e`\n\n```sh\n$ pulumi import tencentcloud:Scf/function:Function test default+test\n```\n", "properties": { "asyncRunEnable": { "type": "string", @@ -195389,11 +206641,11 @@ } }, "tencentcloud:Ses/emailAddress:EmailAddress": { - "description": "Provides a resource to create a ses email_address\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 emailAddress = new tencentcloud.ses.EmailAddress(\"emailAddress\", {\n emailAddress: \"aaa@iac-tf.cloud\",\n emailSenderName: \"aaa\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nemail_address = tencentcloud.ses.EmailAddress(\"emailAddress\",\n email_address=\"aaa@iac-tf.cloud\",\n email_sender_name=\"aaa\")\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 emailAddress = new Tencentcloud.Ses.EmailAddress(\"emailAddress\", new()\n {\n SesEmailAddress = \"aaa@iac-tf.cloud\",\n EmailSenderName = \"aaa\",\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/Ses\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Ses.NewEmailAddress(ctx, \"emailAddress\", \u0026Ses.EmailAddressArgs{\n\t\t\tEmailAddress: pulumi.String(\"aaa@iac-tf.cloud\"),\n\t\t\tEmailSenderName: pulumi.String(\"aaa\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Ses.EmailAddress;\nimport com.pulumi.tencentcloud.Ses.EmailAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 emailAddress = new EmailAddress(\"emailAddress\", EmailAddressArgs.builder() \n .emailAddress(\"aaa@iac-tf.cloud\")\n .emailSenderName(\"aaa\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n emailAddress:\n type: tencentcloud:Ses:EmailAddress\n properties:\n emailAddress: aaa@iac-tf.cloud\n emailSenderName: aaa\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nses email_address can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Ses/emailAddress:EmailAddress email_address aaa@iac-tf.cloud\n```\n", + "description": "Provides a resource to create a ses email address\n\n## Example Usage\n\n### Create ses email address\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.ses.EmailAddress(\"example\", {\n emailAddress: \"demo@iac-terraform.cloud\",\n emailSenderName: \"root\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.ses.EmailAddress(\"example\",\n email_address=\"demo@iac-terraform.cloud\",\n email_sender_name=\"root\")\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.Ses.EmailAddress(\"example\", new()\n {\n SesEmailAddress = \"demo@iac-terraform.cloud\",\n EmailSenderName = \"root\",\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/Ses\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Ses.NewEmailAddress(ctx, \"example\", \u0026Ses.EmailAddressArgs{\n\t\t\tEmailAddress: pulumi.String(\"demo@iac-terraform.cloud\"),\n\t\t\tEmailSenderName: pulumi.String(\"root\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Ses.EmailAddress;\nimport com.pulumi.tencentcloud.Ses.EmailAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 EmailAddress(\"example\", EmailAddressArgs.builder() \n .emailAddress(\"demo@iac-terraform.cloud\")\n .emailSenderName(\"root\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Ses:EmailAddress\n properties:\n emailAddress: demo@iac-terraform.cloud\n emailSenderName: root\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Set smtp password\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.ses.EmailAddress(\"example\", {\n emailAddress: \"demo@iac-terraform.cloud\",\n emailSenderName: \"root\",\n smtpPassword: \"Password@123\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.ses.EmailAddress(\"example\",\n email_address=\"demo@iac-terraform.cloud\",\n email_sender_name=\"root\",\n smtp_password=\"Password@123\")\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.Ses.EmailAddress(\"example\", new()\n {\n SesEmailAddress = \"demo@iac-terraform.cloud\",\n EmailSenderName = \"root\",\n SmtpPassword = \"Password@123\",\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/Ses\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Ses.NewEmailAddress(ctx, \"example\", \u0026Ses.EmailAddressArgs{\n\t\t\tEmailAddress: pulumi.String(\"demo@iac-terraform.cloud\"),\n\t\t\tEmailSenderName: pulumi.String(\"root\"),\n\t\t\tSmtpPassword: pulumi.String(\"Password@123\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Ses.EmailAddress;\nimport com.pulumi.tencentcloud.Ses.EmailAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 EmailAddress(\"example\", EmailAddressArgs.builder() \n .emailAddress(\"demo@iac-terraform.cloud\")\n .emailSenderName(\"root\")\n .smtpPassword(\"Password@123\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Ses:EmailAddress\n properties:\n emailAddress: demo@iac-terraform.cloud\n emailSenderName: root\n smtpPassword: Password@123\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nses email_address can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Ses/emailAddress:EmailAddress example demo@iac-terraform.cloud\n```\n", "properties": { "emailAddress": { "type": "string", - "description": "Your sender address. (You can create up to 10 sender addresses for each domain.).\n", + "description": "Your sender address(You can create up to 10 sender addresses for each domain).\n", "language": { "csharp": { "name": "SesEmailAddress" @@ -195403,6 +206655,11 @@ "emailSenderName": { "type": "string", "description": "Sender name.\n" + }, + "smtpPassword": { + "type": "string", + "description": "Password for SMTP, Length limit 64.\n", + "secret": true } }, "required": [ @@ -195411,7 +206668,7 @@ "inputProperties": { "emailAddress": { "type": "string", - "description": "Your sender address. (You can create up to 10 sender addresses for each domain.).\n", + "description": "Your sender address(You can create up to 10 sender addresses for each domain).\n", "language": { "csharp": { "name": "SesEmailAddress" @@ -195423,6 +206680,11 @@ "type": "string", "description": "Sender name.\n", "willReplaceOnChanges": true + }, + "smtpPassword": { + "type": "string", + "description": "Password for SMTP, Length limit 64.\n", + "secret": true } }, "requiredInputs": [ @@ -195433,7 +206695,7 @@ "properties": { "emailAddress": { "type": "string", - "description": "Your sender address. (You can create up to 10 sender addresses for each domain.).\n", + "description": "Your sender address(You can create up to 10 sender addresses for each domain).\n", "language": { "csharp": { "name": "SesEmailAddress" @@ -195445,6 +206707,11 @@ "type": "string", "description": "Sender name.\n", "willReplaceOnChanges": true + }, + "smtpPassword": { + "type": "string", + "description": "Password for SMTP, Length limit 64.\n", + "secret": true } }, "type": "object" @@ -195799,6 +207066,50 @@ "type": "object" } }, + "tencentcloud:Sg/rule:Rule": { + "description": "Provides a resource to create a cfw sg_rule\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 sgRule = new tencentcloud.sg.Rule(\"sgRule\", {\n data: {\n description: \"1111112\",\n destContent: \"0.0.0.0/0\",\n destType: \"net\",\n port: \"-1/-1\",\n protocol: \"ANY\",\n ruleAction: \"accept\",\n serviceTemplateId: \"ppm-l9u5pf1y\",\n sourceContent: \"0.0.0.0/0\",\n sourceType: \"net\",\n },\n enable: 1,\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nsg_rule = tencentcloud.sg.Rule(\"sgRule\",\n data=tencentcloud.sg.RuleDataArgs(\n description=\"1111112\",\n dest_content=\"0.0.0.0/0\",\n dest_type=\"net\",\n port=\"-1/-1\",\n protocol=\"ANY\",\n rule_action=\"accept\",\n service_template_id=\"ppm-l9u5pf1y\",\n source_content=\"0.0.0.0/0\",\n source_type=\"net\",\n ),\n enable=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 sgRule = new Tencentcloud.Sg.Rule(\"sgRule\", new()\n {\n Data = new Tencentcloud.Sg.Inputs.RuleDataArgs\n {\n Description = \"1111112\",\n DestContent = \"0.0.0.0/0\",\n DestType = \"net\",\n Port = \"-1/-1\",\n Protocol = \"ANY\",\n RuleAction = \"accept\",\n ServiceTemplateId = \"ppm-l9u5pf1y\",\n SourceContent = \"0.0.0.0/0\",\n SourceType = \"net\",\n },\n Enable = 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/Sg\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Sg.NewRule(ctx, \"sgRule\", \u0026Sg.RuleArgs{\n\t\t\tData: \u0026sg.RuleDataArgs{\n\t\t\t\tDescription: pulumi.String(\"1111112\"),\n\t\t\t\tDestContent: pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\tDestType: pulumi.String(\"net\"),\n\t\t\t\tPort: pulumi.String(\"-1/-1\"),\n\t\t\t\tProtocol: pulumi.String(\"ANY\"),\n\t\t\t\tRuleAction: pulumi.String(\"accept\"),\n\t\t\t\tServiceTemplateId: pulumi.String(\"ppm-l9u5pf1y\"),\n\t\t\t\tSourceContent: pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\tSourceType: pulumi.String(\"net\"),\n\t\t\t},\n\t\t\tEnable: 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.Sg.Rule;\nimport com.pulumi.tencentcloud.Sg.RuleArgs;\nimport com.pulumi.tencentcloud.Sg.inputs.RuleDataArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 sgRule = new Rule(\"sgRule\", RuleArgs.builder() \n .data(RuleDataArgs.builder()\n .description(\"1111112\")\n .destContent(\"0.0.0.0/0\")\n .destType(\"net\")\n .port(\"-1/-1\")\n .protocol(\"ANY\")\n .ruleAction(\"accept\")\n .serviceTemplateId(\"ppm-l9u5pf1y\")\n .sourceContent(\"0.0.0.0/0\")\n .sourceType(\"net\")\n .build())\n .enable(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sgRule:\n type: tencentcloud:Sg:Rule\n properties:\n data:\n description: '1111112'\n destContent: 0.0.0.0/0\n destType: net\n port: -1/-1\n protocol: ANY\n ruleAction: accept\n serviceTemplateId: ppm-l9u5pf1y\n sourceContent: 0.0.0.0/0\n sourceType: net\n enable: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\ncfw sg_rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Sg/rule:Rule sg_rule rule_id\n```\n\n", + "properties": { + "data": { + "$ref": "#/types/tencentcloud:Sg/RuleData:RuleData", + "description": "Creates rule data.\n" + }, + "enable": { + "type": "integer", + "description": "Rule status. `0` is off, `1` is on. This parameter is not required or is 1 when creating.\n" + } + }, + "required": [ + "data", + "enable" + ], + "inputProperties": { + "data": { + "$ref": "#/types/tencentcloud:Sg/RuleData:RuleData", + "description": "Creates rule data.\n" + }, + "enable": { + "type": "integer", + "description": "Rule status. `0` is off, `1` is on. This parameter is not required or is 1 when creating.\n" + } + }, + "requiredInputs": [ + "data" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering Rule resources.\n", + "properties": { + "data": { + "$ref": "#/types/tencentcloud:Sg/RuleData:RuleData", + "description": "Creates rule data.\n" + }, + "enable": { + "type": "integer", + "description": "Rule status. `0` is off, `1` is on. This parameter is not required or is 1 when creating.\n" + } + }, + "type": "object" + } + }, "tencentcloud:Sms/sign:Sign": { "description": "Provides a resource to create a sms sign\n\n## Example Usage\n\n### Create a sms sign instance\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.sms.Sign(\"example\", {\n documentType: 4,\n international: 0,\n proofImage: \"your_proof_image\",\n signName: \"tf_example_sms_sign\",\n signPurpose: 0,\n signType: 1,\n});\n// 1:APP, DocumentType can be chosen(0,1,2,3,4)\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.sms.Sign(\"example\",\n document_type=4,\n international=0,\n proof_image=\"your_proof_image\",\n sign_name=\"tf_example_sms_sign\",\n sign_purpose=0,\n sign_type=1)\n# 1:APP, DocumentType can be chosen(0,1,2,3,4)\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.Sms.Sign(\"example\", new()\n {\n DocumentType = 4,\n International = 0,\n ProofImage = \"your_proof_image\",\n SignName = \"tf_example_sms_sign\",\n SignPurpose = 0,\n SignType = 1,\n });\n\n // 1:APP, DocumentType can be chosen(0,1,2,3,4)\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/Sms\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Sms.NewSign(ctx, \"example\", \u0026Sms.SignArgs{\n\t\t\tDocumentType: pulumi.Int(4),\n\t\t\tInternational: pulumi.Int(0),\n\t\t\tProofImage: pulumi.String(\"your_proof_image\"),\n\t\t\tSignName: pulumi.String(\"tf_example_sms_sign\"),\n\t\t\tSignPurpose: pulumi.Int(0),\n\t\t\tSignType: 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.Sms.Sign;\nimport com.pulumi.tencentcloud.Sms.SignArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 Sign(\"example\", SignArgs.builder() \n .documentType(4)\n .international(0)\n .proofImage(\"your_proof_image\")\n .signName(\"tf_example_sms_sign\")\n .signPurpose(0)\n .signType(1)\n .build());\n\n // 1:APP, DocumentType can be chosen(0,1,2,3,4)\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Sms:Sign\n properties:\n documentType: 4\n # Screenshot of application background management (personally developed APP)\n international: 0\n # Mainland China SMS\n proofImage: your_proof_image\n signName: tf_example_sms_sign\n signPurpose: 0\n # personal use\n signType: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { @@ -198724,7 +210035,8 @@ }, "haType": { "type": "string", - "description": "Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`.\n" + "description": "It has been deprecated from version 1.81.136. Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`.\n", + "deprecationMessage": "It has been deprecated from version 1.81.136." }, "maintenanceStartTime": { "type": "string", @@ -198823,6 +210135,7 @@ "maintenanceTimeSpan", "maintenanceWeekSets", "memory", + "multiZones", "name", "projectId", "roFlag", @@ -198857,7 +210170,8 @@ }, "haType": { "type": "string", - "description": "Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`.\n", + "description": "It has been deprecated from version 1.81.136. Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`.\n", + "deprecationMessage": "It has been deprecated from version 1.81.136.", "willReplaceOnChanges": true }, "maintenanceStartTime": { @@ -198971,7 +210285,8 @@ }, "haType": { "type": "string", - "description": "Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`.\n", + "description": "It has been deprecated from version 1.81.136. Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`.\n", + "deprecationMessage": "It has been deprecated from version 1.81.136.", "willReplaceOnChanges": true }, "maintenanceStartTime": { @@ -200423,6 +211738,54 @@ "type": "object" } }, + "tencentcloud:Ssl/checkCertificateDomainVerificationOperation:CheckCertificateDomainVerificationOperation": { + "description": "Provides a resource to create a ssl Check Certificate Domain Verification\n\n\u003e **NOTE:** You can customize the maximum timeout time by setting parameter `timeouts`, which defaults to 15 minutes.\n\n## Example Usage\n\n### Check certificate domain\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.ssl.CheckCertificateDomainVerificationOperation(\"example\", {certificateId: \"6BE701Jx\"});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.ssl.CheckCertificateDomainVerificationOperation(\"example\", certificate_id=\"6BE701Jx\")\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.Ssl.CheckCertificateDomainVerificationOperation(\"example\", new()\n {\n CertificateId = \"6BE701Jx\",\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/Ssl\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Ssl.NewCheckCertificateDomainVerificationOperation(ctx, \"example\", \u0026Ssl.CheckCertificateDomainVerificationOperationArgs{\n\t\t\tCertificateId: pulumi.String(\"6BE701Jx\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Ssl.CheckCertificateDomainVerificationOperation;\nimport com.pulumi.tencentcloud.Ssl.CheckCertificateDomainVerificationOperationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 CheckCertificateDomainVerificationOperation(\"example\", CheckCertificateDomainVerificationOperationArgs.builder() \n .certificateId(\"6BE701Jx\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Ssl:CheckCertificateDomainVerificationOperation\n properties:\n certificateId: 6BE701Jx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Check certificate domain and set the maximum timeout period\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.ssl.CheckCertificateDomainVerificationOperation(\"example\", {certificateId: \"6BE701Jx\"});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.ssl.CheckCertificateDomainVerificationOperation(\"example\", certificate_id=\"6BE701Jx\")\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.Ssl.CheckCertificateDomainVerificationOperation(\"example\", new()\n {\n CertificateId = \"6BE701Jx\",\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/Ssl\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Ssl.NewCheckCertificateDomainVerificationOperation(ctx, \"example\", \u0026Ssl.CheckCertificateDomainVerificationOperationArgs{\n\t\t\tCertificateId: pulumi.String(\"6BE701Jx\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Ssl.CheckCertificateDomainVerificationOperation;\nimport com.pulumi.tencentcloud.Ssl.CheckCertificateDomainVerificationOperationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 CheckCertificateDomainVerificationOperation(\"example\", CheckCertificateDomainVerificationOperationArgs.builder() \n .certificateId(\"6BE701Jx\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Ssl:CheckCertificateDomainVerificationOperation\n properties:\n certificateId: 6BE701Jx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "properties": { + "certificateId": { + "type": "string", + "description": "The certificate ID.\n" + }, + "verificationResults": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Ssl/CheckCertificateDomainVerificationOperationVerificationResult:CheckCertificateDomainVerificationOperationVerificationResult" + }, + "description": "Domain name verification results.\n" + } + }, + "required": [ + "certificateId", + "verificationResults" + ], + "inputProperties": { + "certificateId": { + "type": "string", + "description": "The certificate ID.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "certificateId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering CheckCertificateDomainVerificationOperation resources.\n", + "properties": { + "certificateId": { + "type": "string", + "description": "The certificate ID.\n", + "willReplaceOnChanges": true + }, + "verificationResults": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Ssl/CheckCertificateDomainVerificationOperationVerificationResult:CheckCertificateDomainVerificationOperationVerificationResult" + }, + "description": "Domain name verification results.\n" + } + }, + "type": "object" + } + }, "tencentcloud:Ssl/completeCertificateOperation:CompleteCertificateOperation": { "description": "Provides a resource to create a ssl complete_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 completeCertificate = new tencentcloud.ssl.CompleteCertificateOperation(\"completeCertificate\", {certificateId: \"9Bfe1IBR\"});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\ncomplete_certificate = tencentcloud.ssl.CompleteCertificateOperation(\"completeCertificate\", certificate_id=\"9Bfe1IBR\")\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 completeCertificate = new Tencentcloud.Ssl.CompleteCertificateOperation(\"completeCertificate\", new()\n {\n CertificateId = \"9Bfe1IBR\",\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/Ssl\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Ssl.NewCompleteCertificateOperation(ctx, \"completeCertificate\", \u0026Ssl.CompleteCertificateOperationArgs{\n\t\t\tCertificateId: pulumi.String(\"9Bfe1IBR\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Ssl.CompleteCertificateOperation;\nimport com.pulumi.tencentcloud.Ssl.CompleteCertificateOperationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 completeCertificate = new CompleteCertificateOperation(\"completeCertificate\", CompleteCertificateOperationArgs.builder() \n .certificateId(\"9Bfe1IBR\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n completeCertificate:\n type: tencentcloud:Ssl:CompleteCertificateOperation\n properties:\n certificateId: 9Bfe1IBR\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nssl complete_certificate can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Ssl/completeCertificateOperation:CompleteCertificateOperation complete_certificate complete_certificate_id\n```\n\n", "properties": { @@ -202229,7 +213592,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 +213602,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 +213658,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 +213710,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", @@ -202379,6 +213756,28 @@ "type": "object" } }, + "tencentcloud:Subscribe/privateZoneService:PrivateZoneService": { + "description": "Provides a resource to create a privatedns subscribe private zone service\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.subscribe.PrivateZoneService(\"example\", {});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.subscribe.PrivateZoneService(\"example\")\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.Subscribe.PrivateZoneService(\"example\");\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/Subscribe\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Subscribe.NewPrivateZoneService(ctx, \"example\", 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.Subscribe.PrivateZoneService;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 PrivateZoneService(\"example\");\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Subscribe:PrivateZoneService\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "properties": { + "serviceStatus": { + "type": "string", + "description": "Private domain resolution service activation status.\n" + } + }, + "required": [ + "serviceStatus" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering PrivateZoneService resources.\n", + "properties": { + "serviceStatus": { + "type": "string", + "description": "Private domain resolution service activation status.\n" + } + }, + "type": "object" + } + }, "tencentcloud:Tag/attachment:Attachment": { "description": "Provides a resource to create a tag 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 attachment = new tencentcloud.tag.Attachment(\"attachment\", {\n resource: \"qcs::cvm:ap-guangzhou:uin/100020512675:instance/ins-kfrlvcp4\",\n tagKey: \"test3\",\n tagValue: \"Terraform3\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nattachment = tencentcloud.tag.Attachment(\"attachment\",\n resource=\"qcs::cvm:ap-guangzhou:uin/100020512675:instance/ins-kfrlvcp4\",\n tag_key=\"test3\",\n tag_value=\"Terraform3\")\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 attachment = new Tencentcloud.Tag.Attachment(\"attachment\", new()\n {\n Resource = \"qcs::cvm:ap-guangzhou:uin/100020512675:instance/ins-kfrlvcp4\",\n TagKey = \"test3\",\n TagValue = \"Terraform3\",\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/Tag\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Tag.NewAttachment(ctx, \"attachment\", \u0026Tag.AttachmentArgs{\n\t\t\tResource: pulumi.String(\"qcs::cvm:ap-guangzhou:uin/100020512675:instance/ins-kfrlvcp4\"),\n\t\t\tTagKey: pulumi.String(\"test3\"),\n\t\t\tTagValue: pulumi.String(\"Terraform3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Tag.Attachment;\nimport com.pulumi.tencentcloud.Tag.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 var attachment = new Attachment(\"attachment\", AttachmentArgs.builder() \n .resource(\"qcs::cvm:ap-guangzhou:uin/100020512675:instance/ins-kfrlvcp4\")\n .tagKey(\"test3\")\n .tagValue(\"Terraform3\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n attachment:\n type: tencentcloud:Tag:Attachment\n properties:\n resource: qcs::cvm:ap-guangzhou:uin/100020512675:instance/ins-kfrlvcp4\n tagKey: test3\n tagValue: Terraform3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\ntag attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Tag/attachment:Attachment attachment attachment_id\n```\n\n", "properties": { @@ -205822,7 +217221,7 @@ } }, "tencentcloud:Tcr/tagRetentionRule:TagRetentionRule": { - "description": "Provides a resource to create a tcr tag retention rule.\n\n## Example Usage\n\n### Create a tcr tag retention rule instance\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.tcr.Instance(\"exampleInstance\", {\n instanceType: \"basic\",\n deleteBucket: true,\n tags: {\n createdBy: \"terraform\",\n },\n});\nconst exampleNamespace = new tencentcloud.tcr.Namespace(\"exampleNamespace\", {\n instanceId: exampleInstance.id,\n isPublic: true,\n isAutoScan: true,\n isPreventVul: true,\n severity: \"medium\",\n cveWhitelistItems: [{\n cveId: \"cve-xxxxx\",\n }],\n});\nconst myRule = new tencentcloud.tcr.TagRetentionRule(\"myRule\", {\n registryId: exampleInstance.id,\n namespaceName: exampleNamespace.name,\n retentionRule: {\n key: \"nDaysSinceLastPush\",\n value: 2,\n },\n cronSetting: \"daily\",\n disabled: true,\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample_instance = tencentcloud.tcr.Instance(\"exampleInstance\",\n instance_type=\"basic\",\n delete_bucket=True,\n tags={\n \"createdBy\": \"terraform\",\n })\nexample_namespace = tencentcloud.tcr.Namespace(\"exampleNamespace\",\n instance_id=example_instance.id,\n is_public=True,\n is_auto_scan=True,\n is_prevent_vul=True,\n severity=\"medium\",\n cve_whitelist_items=[tencentcloud.tcr.NamespaceCveWhitelistItemArgs(\n cve_id=\"cve-xxxxx\",\n )])\nmy_rule = tencentcloud.tcr.TagRetentionRule(\"myRule\",\n registry_id=example_instance.id,\n namespace_name=example_namespace.name,\n retention_rule=tencentcloud.tcr.TagRetentionRuleRetentionRuleArgs(\n key=\"nDaysSinceLastPush\",\n value=2,\n ),\n cron_setting=\"daily\",\n disabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleInstance = new Tencentcloud.Tcr.Instance(\"exampleInstance\", new()\n {\n InstanceType = \"basic\",\n DeleteBucket = true,\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n });\n\n var exampleNamespace = new Tencentcloud.Tcr.Namespace(\"exampleNamespace\", new()\n {\n InstanceId = exampleInstance.Id,\n IsPublic = true,\n IsAutoScan = true,\n IsPreventVul = true,\n Severity = \"medium\",\n CveWhitelistItems = new[]\n {\n new Tencentcloud.Tcr.Inputs.NamespaceCveWhitelistItemArgs\n {\n CveId = \"cve-xxxxx\",\n },\n },\n });\n\n var myRule = new Tencentcloud.Tcr.TagRetentionRule(\"myRule\", new()\n {\n RegistryId = exampleInstance.Id,\n NamespaceName = exampleNamespace.Name,\n RetentionRule = new Tencentcloud.Tcr.Inputs.TagRetentionRuleRetentionRuleArgs\n {\n Key = \"nDaysSinceLastPush\",\n Value = 2,\n },\n CronSetting = \"daily\",\n Disabled = 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/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Tcr\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleInstance, err := Tcr.NewInstance(ctx, \"exampleInstance\", \u0026Tcr.InstanceArgs{\n\t\t\tInstanceType: pulumi.String(\"basic\"),\n\t\t\tDeleteBucket: 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\texampleNamespace, err := Tcr.NewNamespace(ctx, \"exampleNamespace\", \u0026Tcr.NamespaceArgs{\n\t\t\tInstanceId: exampleInstance.ID(),\n\t\t\tIsPublic: pulumi.Bool(true),\n\t\t\tIsAutoScan: pulumi.Bool(true),\n\t\t\tIsPreventVul: pulumi.Bool(true),\n\t\t\tSeverity: pulumi.String(\"medium\"),\n\t\t\tCveWhitelistItems: tcr.NamespaceCveWhitelistItemArray{\n\t\t\t\t\u0026tcr.NamespaceCveWhitelistItemArgs{\n\t\t\t\t\tCveId: pulumi.String(\"cve-xxxxx\"),\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 = Tcr.NewTagRetentionRule(ctx, \"myRule\", \u0026Tcr.TagRetentionRuleArgs{\n\t\t\tRegistryId: exampleInstance.ID(),\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t\tRetentionRule: \u0026tcr.TagRetentionRuleRetentionRuleArgs{\n\t\t\t\tKey: pulumi.String(\"nDaysSinceLastPush\"),\n\t\t\t\tValue: pulumi.Int(2),\n\t\t\t},\n\t\t\tCronSetting: pulumi.String(\"daily\"),\n\t\t\tDisabled: 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.Tcr.Instance;\nimport com.pulumi.tencentcloud.Tcr.InstanceArgs;\nimport com.pulumi.tencentcloud.Tcr.Namespace;\nimport com.pulumi.tencentcloud.Tcr.NamespaceArgs;\nimport com.pulumi.tencentcloud.Tcr.inputs.NamespaceCveWhitelistItemArgs;\nimport com.pulumi.tencentcloud.Tcr.TagRetentionRule;\nimport com.pulumi.tencentcloud.Tcr.TagRetentionRuleArgs;\nimport com.pulumi.tencentcloud.Tcr.inputs.TagRetentionRuleRetentionRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 .instanceType(\"basic\")\n .deleteBucket(true)\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder() \n .instanceId(exampleInstance.id())\n .isPublic(true)\n .isAutoScan(true)\n .isPreventVul(true)\n .severity(\"medium\")\n .cveWhitelistItems(NamespaceCveWhitelistItemArgs.builder()\n .cveId(\"cve-xxxxx\")\n .build())\n .build());\n\n var myRule = new TagRetentionRule(\"myRule\", TagRetentionRuleArgs.builder() \n .registryId(exampleInstance.id())\n .namespaceName(exampleNamespace.name())\n .retentionRule(TagRetentionRuleRetentionRuleArgs.builder()\n .key(\"nDaysSinceLastPush\")\n .value(2)\n .build())\n .cronSetting(\"daily\")\n .disabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleInstance:\n type: tencentcloud:Tcr:Instance\n properties:\n instanceType: basic\n deleteBucket: true\n tags:\n createdBy: terraform\n exampleNamespace:\n type: tencentcloud:Tcr:Namespace\n properties:\n instanceId: ${exampleInstance.id}\n isPublic: true\n isAutoScan: true\n isPreventVul: true\n severity: medium\n cveWhitelistItems:\n - cveId: cve-xxxxx\n myRule:\n type: tencentcloud:Tcr:TagRetentionRule\n properties:\n registryId: ${exampleInstance.id}\n namespaceName: ${exampleNamespace.name}\n retentionRule:\n key: nDaysSinceLastPush\n value: 2\n cronSetting: daily\n disabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a resource to create a tcr tag retention rule.\n\n## Example Usage\n\n### Create and enable a tcr tag retention rule instance\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.tcr.Instance(\"exampleInstance\", {\n instanceType: \"basic\",\n deleteBucket: true,\n tags: {\n createdBy: \"terraform\",\n },\n});\nconst exampleNamespace = new tencentcloud.tcr.Namespace(\"exampleNamespace\", {\n instanceId: exampleInstance.id,\n isPublic: true,\n isAutoScan: true,\n isPreventVul: true,\n severity: \"medium\",\n cveWhitelistItems: [{\n cveId: \"cve-xxxxx\",\n }],\n});\nconst myRule = new tencentcloud.tcr.TagRetentionRule(\"myRule\", {\n registryId: exampleInstance.id,\n namespaceName: exampleNamespace.name,\n retentionRule: {\n key: \"nDaysSinceLastPush\",\n value: 2,\n },\n cronSetting: \"daily\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample_instance = tencentcloud.tcr.Instance(\"exampleInstance\",\n instance_type=\"basic\",\n delete_bucket=True,\n tags={\n \"createdBy\": \"terraform\",\n })\nexample_namespace = tencentcloud.tcr.Namespace(\"exampleNamespace\",\n instance_id=example_instance.id,\n is_public=True,\n is_auto_scan=True,\n is_prevent_vul=True,\n severity=\"medium\",\n cve_whitelist_items=[tencentcloud.tcr.NamespaceCveWhitelistItemArgs(\n cve_id=\"cve-xxxxx\",\n )])\nmy_rule = tencentcloud.tcr.TagRetentionRule(\"myRule\",\n registry_id=example_instance.id,\n namespace_name=example_namespace.name,\n retention_rule=tencentcloud.tcr.TagRetentionRuleRetentionRuleArgs(\n key=\"nDaysSinceLastPush\",\n value=2,\n ),\n cron_setting=\"daily\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleInstance = new Tencentcloud.Tcr.Instance(\"exampleInstance\", new()\n {\n InstanceType = \"basic\",\n DeleteBucket = true,\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n });\n\n var exampleNamespace = new Tencentcloud.Tcr.Namespace(\"exampleNamespace\", new()\n {\n InstanceId = exampleInstance.Id,\n IsPublic = true,\n IsAutoScan = true,\n IsPreventVul = true,\n Severity = \"medium\",\n CveWhitelistItems = new[]\n {\n new Tencentcloud.Tcr.Inputs.NamespaceCveWhitelistItemArgs\n {\n CveId = \"cve-xxxxx\",\n },\n },\n });\n\n var myRule = new Tencentcloud.Tcr.TagRetentionRule(\"myRule\", new()\n {\n RegistryId = exampleInstance.Id,\n NamespaceName = exampleNamespace.Name,\n RetentionRule = new Tencentcloud.Tcr.Inputs.TagRetentionRuleRetentionRuleArgs\n {\n Key = \"nDaysSinceLastPush\",\n Value = 2,\n },\n CronSetting = \"daily\",\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/Tcr\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleInstance, err := Tcr.NewInstance(ctx, \"exampleInstance\", \u0026Tcr.InstanceArgs{\n\t\t\tInstanceType: pulumi.String(\"basic\"),\n\t\t\tDeleteBucket: 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\texampleNamespace, err := Tcr.NewNamespace(ctx, \"exampleNamespace\", \u0026Tcr.NamespaceArgs{\n\t\t\tInstanceId: exampleInstance.ID(),\n\t\t\tIsPublic: pulumi.Bool(true),\n\t\t\tIsAutoScan: pulumi.Bool(true),\n\t\t\tIsPreventVul: pulumi.Bool(true),\n\t\t\tSeverity: pulumi.String(\"medium\"),\n\t\t\tCveWhitelistItems: tcr.NamespaceCveWhitelistItemArray{\n\t\t\t\t\u0026tcr.NamespaceCveWhitelistItemArgs{\n\t\t\t\t\tCveId: pulumi.String(\"cve-xxxxx\"),\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 = Tcr.NewTagRetentionRule(ctx, \"myRule\", \u0026Tcr.TagRetentionRuleArgs{\n\t\t\tRegistryId: exampleInstance.ID(),\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t\tRetentionRule: \u0026tcr.TagRetentionRuleRetentionRuleArgs{\n\t\t\t\tKey: pulumi.String(\"nDaysSinceLastPush\"),\n\t\t\t\tValue: pulumi.Int(2),\n\t\t\t},\n\t\t\tCronSetting: pulumi.String(\"daily\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Tcr.Instance;\nimport com.pulumi.tencentcloud.Tcr.InstanceArgs;\nimport com.pulumi.tencentcloud.Tcr.Namespace;\nimport com.pulumi.tencentcloud.Tcr.NamespaceArgs;\nimport com.pulumi.tencentcloud.Tcr.inputs.NamespaceCveWhitelistItemArgs;\nimport com.pulumi.tencentcloud.Tcr.TagRetentionRule;\nimport com.pulumi.tencentcloud.Tcr.TagRetentionRuleArgs;\nimport com.pulumi.tencentcloud.Tcr.inputs.TagRetentionRuleRetentionRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 .instanceType(\"basic\")\n .deleteBucket(true)\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder() \n .instanceId(exampleInstance.id())\n .isPublic(true)\n .isAutoScan(true)\n .isPreventVul(true)\n .severity(\"medium\")\n .cveWhitelistItems(NamespaceCveWhitelistItemArgs.builder()\n .cveId(\"cve-xxxxx\")\n .build())\n .build());\n\n var myRule = new TagRetentionRule(\"myRule\", TagRetentionRuleArgs.builder() \n .registryId(exampleInstance.id())\n .namespaceName(exampleNamespace.name())\n .retentionRule(TagRetentionRuleRetentionRuleArgs.builder()\n .key(\"nDaysSinceLastPush\")\n .value(2)\n .build())\n .cronSetting(\"daily\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleInstance:\n type: tencentcloud:Tcr:Instance\n properties:\n instanceType: basic\n deleteBucket: true\n tags:\n createdBy: terraform\n exampleNamespace:\n type: tencentcloud:Tcr:Namespace\n properties:\n instanceId: ${exampleInstance.id}\n isPublic: true\n isAutoScan: true\n isPreventVul: true\n severity: medium\n cveWhitelistItems:\n - cveId: cve-xxxxx\n myRule:\n type: tencentcloud:Tcr:TagRetentionRule\n properties:\n registryId: ${exampleInstance.id}\n namespaceName: ${exampleNamespace.name}\n retentionRule:\n key: nDaysSinceLastPush\n value: 2\n cronSetting: daily\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "cronSetting": { "type": "string", @@ -205859,7 +217258,8 @@ "inputProperties": { "cronSetting": { "type": "string", - "description": "Execution cycle, currently only available selections are: manual; daily; weekly; monthly.\n" + "description": "Execution cycle, currently only available selections are: manual; daily; weekly; monthly.\n", + "willReplaceOnChanges": true }, "disabled": { "type": "boolean", @@ -205889,7 +217289,8 @@ "properties": { "cronSetting": { "type": "string", - "description": "Execution cycle, currently only available selections are: manual; daily; weekly; monthly.\n" + "description": "Execution cycle, currently only available selections are: manual; daily; weekly; monthly.\n", + "willReplaceOnChanges": true }, "disabled": { "type": "boolean", @@ -206234,6 +217635,199 @@ "type": "object" } }, + "tencentcloud:Tcss/imageRegistry:ImageRegistry": { + "description": "Provides a resource to create a tcss image registry\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.tcss.ImageRegistry(\"example\", {\n connDetectConfigs: [{\n quuid: \"backend\",\n uuid: \"backend\",\n }],\n needScan: true,\n netType: \"public\",\n password: \"Password@demo\",\n registryRegion: \"default\",\n registryType: \"harbor\",\n registryVersion: \"V1\",\n url: \"https://example.com\",\n username: \"root\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.tcss.ImageRegistry(\"example\",\n conn_detect_configs=[tencentcloud.tcss.ImageRegistryConnDetectConfigArgs(\n quuid=\"backend\",\n uuid=\"backend\",\n )],\n need_scan=True,\n net_type=\"public\",\n password=\"Password@demo\",\n registry_region=\"default\",\n registry_type=\"harbor\",\n registry_version=\"V1\",\n url=\"https://example.com\",\n username=\"root\")\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.Tcss.ImageRegistry(\"example\", new()\n {\n ConnDetectConfigs = new[]\n {\n new Tencentcloud.Tcss.Inputs.ImageRegistryConnDetectConfigArgs\n {\n Quuid = \"backend\",\n Uuid = \"backend\",\n },\n },\n NeedScan = true,\n NetType = \"public\",\n Password = \"Password@demo\",\n RegistryRegion = \"default\",\n RegistryType = \"harbor\",\n RegistryVersion = \"V1\",\n Url = \"https://example.com\",\n Username = \"root\",\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/Tcss\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Tcss.NewImageRegistry(ctx, \"example\", \u0026Tcss.ImageRegistryArgs{\n\t\t\tConnDetectConfigs: tcss.ImageRegistryConnDetectConfigArray{\n\t\t\t\t\u0026tcss.ImageRegistryConnDetectConfigArgs{\n\t\t\t\t\tQuuid: pulumi.String(\"backend\"),\n\t\t\t\t\tUuid: pulumi.String(\"backend\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNeedScan: pulumi.Bool(true),\n\t\t\tNetType: pulumi.String(\"public\"),\n\t\t\tPassword: pulumi.String(\"Password@demo\"),\n\t\t\tRegistryRegion: pulumi.String(\"default\"),\n\t\t\tRegistryType: pulumi.String(\"harbor\"),\n\t\t\tRegistryVersion: pulumi.String(\"V1\"),\n\t\t\tUrl: pulumi.String(\"https://example.com\"),\n\t\t\tUsername: pulumi.String(\"root\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Tcss.ImageRegistry;\nimport com.pulumi.tencentcloud.Tcss.ImageRegistryArgs;\nimport com.pulumi.tencentcloud.Tcss.inputs.ImageRegistryConnDetectConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ImageRegistry(\"example\", ImageRegistryArgs.builder() \n .connDetectConfigs(ImageRegistryConnDetectConfigArgs.builder()\n .quuid(\"backend\")\n .uuid(\"backend\")\n .build())\n .needScan(true)\n .netType(\"public\")\n .password(\"Password@demo\")\n .registryRegion(\"default\")\n .registryType(\"harbor\")\n .registryVersion(\"V1\")\n .url(\"https://example.com\")\n .username(\"root\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Tcss:ImageRegistry\n properties:\n connDetectConfigs:\n - quuid: backend\n uuid: backend\n needScan: true\n netType: public\n password: Password@demo\n registryRegion: default\n registryType: harbor\n registryVersion: V1\n url: https://example.com\n username: root\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "properties": { + "connDetectConfigs": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Tcss/ImageRegistryConnDetectConfig:ImageRegistryConnDetectConfig" + }, + "description": "Connectivity detection configuration.\n" + }, + "insecure": { + "type": "integer", + "description": "Valid values: `0` (secure mode with certificate verification, which is the default value); `1` (unsecure mode that skips certificate verification).\n" + }, + "name": { + "type": "string", + "description": "Repository name.\n" + }, + "needScan": { + "type": "boolean", + "description": "Whether to scan the latest image.\n" + }, + "netType": { + "type": "string", + "description": "Network type, which can be `public` (public network).\n" + }, + "password": { + "type": "string", + "description": "Password.\n", + "secret": true + }, + "registryRegion": { + "type": "string", + "description": "Region. Default value: `default`.\n" + }, + "registryType": { + "type": "string", + "description": "Repository type, which can be `harbor`. Valid values: harbor, quay, jfrog, aws, azure, other-tcr.\n" + }, + "registryVersion": { + "type": "string", + "description": "Repository version.\n" + }, + "speedLimit": { + "type": "integer", + "description": "Speed limit.\n" + }, + "syncStatus": { + "type": "string", + "description": "Sync status.\n" + }, + "url": { + "type": "string", + "description": "Repository URL.\n" + }, + "username": { + "type": "string", + "description": "Username.\n" + } + }, + "required": [ + "name", + "netType", + "password", + "registryType", + "syncStatus", + "url", + "username" + ], + "inputProperties": { + "connDetectConfigs": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Tcss/ImageRegistryConnDetectConfig:ImageRegistryConnDetectConfig" + }, + "description": "Connectivity detection configuration.\n" + }, + "insecure": { + "type": "integer", + "description": "Valid values: `0` (secure mode with certificate verification, which is the default value); `1` (unsecure mode that skips certificate verification).\n" + }, + "name": { + "type": "string", + "description": "Repository name.\n" + }, + "needScan": { + "type": "boolean", + "description": "Whether to scan the latest image.\n" + }, + "netType": { + "type": "string", + "description": "Network type, which can be `public` (public network).\n" + }, + "password": { + "type": "string", + "description": "Password.\n", + "secret": true + }, + "registryRegion": { + "type": "string", + "description": "Region. Default value: `default`.\n" + }, + "registryType": { + "type": "string", + "description": "Repository type, which can be `harbor`. Valid values: harbor, quay, jfrog, aws, azure, other-tcr.\n" + }, + "registryVersion": { + "type": "string", + "description": "Repository version.\n" + }, + "speedLimit": { + "type": "integer", + "description": "Speed limit.\n" + }, + "url": { + "type": "string", + "description": "Repository URL.\n" + }, + "username": { + "type": "string", + "description": "Username.\n" + } + }, + "requiredInputs": [ + "netType", + "password", + "registryType", + "url", + "username" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering ImageRegistry resources.\n", + "properties": { + "connDetectConfigs": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Tcss/ImageRegistryConnDetectConfig:ImageRegistryConnDetectConfig" + }, + "description": "Connectivity detection configuration.\n" + }, + "insecure": { + "type": "integer", + "description": "Valid values: `0` (secure mode with certificate verification, which is the default value); `1` (unsecure mode that skips certificate verification).\n" + }, + "name": { + "type": "string", + "description": "Repository name.\n" + }, + "needScan": { + "type": "boolean", + "description": "Whether to scan the latest image.\n" + }, + "netType": { + "type": "string", + "description": "Network type, which can be `public` (public network).\n" + }, + "password": { + "type": "string", + "description": "Password.\n", + "secret": true + }, + "registryRegion": { + "type": "string", + "description": "Region. Default value: `default`.\n" + }, + "registryType": { + "type": "string", + "description": "Repository type, which can be `harbor`. Valid values: harbor, quay, jfrog, aws, azure, other-tcr.\n" + }, + "registryVersion": { + "type": "string", + "description": "Repository version.\n" + }, + "speedLimit": { + "type": "integer", + "description": "Speed limit.\n" + }, + "syncStatus": { + "type": "string", + "description": "Sync status.\n" + }, + "url": { + "type": "string", + "description": "Repository URL.\n" + }, + "username": { + "type": "string", + "description": "Username.\n" + } + }, + "type": "object" + } + }, "tencentcloud:Tdcpg/cluster:Cluster": { "description": "Provides a resource to create a tdcpg cluster.\n\n\u003e **NOTE:** This resource is still in internal testing. To experience its functions, you need to apply for a whitelist from Tencent Cloud.\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 cluster = new tencentcloud.tdcpg.Cluster(\"cluster\", {\n clusterName: \"cluster_name\",\n cpu: 1,\n dbVersion: \"10.17\",\n instanceCount: 1,\n masterUserPassword: \"\",\n memory: 1,\n payMode: \"POSTPAID_BY_HOUR\",\n period: 1,\n projectId: 0,\n subnetId: \"subnet_id\",\n vpcId: \"vpc_id\",\n zone: \"ap-guangzhou-3\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\ncluster = tencentcloud.tdcpg.Cluster(\"cluster\",\n cluster_name=\"cluster_name\",\n cpu=1,\n db_version=\"10.17\",\n instance_count=1,\n master_user_password=\"\",\n memory=1,\n pay_mode=\"POSTPAID_BY_HOUR\",\n period=1,\n project_id=0,\n subnet_id=\"subnet_id\",\n vpc_id=\"vpc_id\",\n zone=\"ap-guangzhou-3\")\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 cluster = new Tencentcloud.Tdcpg.Cluster(\"cluster\", new()\n {\n ClusterName = \"cluster_name\",\n Cpu = 1,\n DbVersion = \"10.17\",\n InstanceCount = 1,\n MasterUserPassword = \"\",\n Memory = 1,\n PayMode = \"POSTPAID_BY_HOUR\",\n Period = 1,\n ProjectId = 0,\n SubnetId = \"subnet_id\",\n VpcId = \"vpc_id\",\n Zone = \"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/Tdcpg\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Tdcpg.NewCluster(ctx, \"cluster\", \u0026Tdcpg.ClusterArgs{\n\t\t\tClusterName: pulumi.String(\"cluster_name\"),\n\t\t\tCpu: pulumi.Int(1),\n\t\t\tDbVersion: pulumi.String(\"10.17\"),\n\t\t\tInstanceCount: pulumi.Int(1),\n\t\t\tMasterUserPassword: pulumi.String(\"\"),\n\t\t\tMemory: pulumi.Int(1),\n\t\t\tPayMode: pulumi.String(\"POSTPAID_BY_HOUR\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tSubnetId: pulumi.String(\"subnet_id\"),\n\t\t\tVpcId: pulumi.String(\"vpc_id\"),\n\t\t\tZone: pulumi.String(\"ap-guangzhou-3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Tdcpg.Cluster;\nimport com.pulumi.tencentcloud.Tdcpg.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 cluster = new Cluster(\"cluster\", ClusterArgs.builder() \n .clusterName(\"cluster_name\")\n .cpu(1)\n .dbVersion(\"10.17\")\n .instanceCount(1)\n .masterUserPassword(\"\")\n .memory(1)\n .payMode(\"POSTPAID_BY_HOUR\")\n .period(1)\n .projectId(0)\n .subnetId(\"subnet_id\")\n .vpcId(\"vpc_id\")\n .zone(\"ap-guangzhou-3\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cluster:\n type: tencentcloud:Tdcpg:Cluster\n properties:\n clusterName: cluster_name\n cpu: 1\n dbVersion: '10.17'\n instanceCount: 1\n masterUserPassword:\n memory: 1\n payMode: POSTPAID_BY_HOUR\n period: 1\n projectId: 0\n subnetId: subnet_id\n vpcId: vpc_id\n zone: ap-guangzhou-3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\ntdcpg cluster can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Tdcpg/cluster:Cluster cluster cluster_id\n```\n", "properties": { @@ -206920,7 +218514,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 +218787,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 +218808,7 @@ }, "required": [ "instanceId", + "traceFlag", "virtualHost" ], "inputProperties": { @@ -209633,7 +221228,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 +221743,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", @@ -210231,6 +221826,369 @@ "type": "object" } }, + "tencentcloud:Teo/function:Function": { + "description": "Provides a resource to create a teo teo_function\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 teoFunction = new tencentcloud.teo.Function(\"teoFunction\", {\n content: ` addEventListener('fetch', e =\u003e {\n const response = new Response('Hello World!!');\n e.respondWith(response);\n });\n\n`,\n remark: \"test\",\n zoneId: \"zone-2qtuhspy7cr6\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nteo_function = tencentcloud.teo.Function(\"teoFunction\",\n content=\"\"\" addEventListener('fetch', e =\u003e {\n const response = new Response('Hello World!!');\n e.respondWith(response);\n });\n\n\"\"\",\n remark=\"test\",\n zone_id=\"zone-2qtuhspy7cr6\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var teoFunction = new Tencentcloud.Teo.Function(\"teoFunction\", new()\n {\n Content = @\" addEventListener('fetch', e =\u003e {\n const response = new Response('Hello World!!');\n e.respondWith(response);\n });\n\n\",\n Remark = \"test\",\n ZoneId = \"zone-2qtuhspy7cr6\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Teo\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Teo.NewFunction(ctx, \"teoFunction\", \u0026Teo.FunctionArgs{\n\t\t\tContent: pulumi.String(` addEventListener('fetch', e =\u003e {\n const response = new Response('Hello World!!');\n e.respondWith(response);\n });\n\n`),\n\t\t\tRemark: pulumi.String(\"test\"),\n\t\t\tZoneId: pulumi.String(\"zone-2qtuhspy7cr6\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Teo.Function;\nimport com.pulumi.tencentcloud.Teo.FunctionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 teoFunction = new Function(\"teoFunction\", FunctionArgs.builder() \n .content(\"\"\"\n addEventListener('fetch', e =\u003e {\n const response = new Response('Hello World!!');\n e.respondWith(response);\n });\n\n \"\"\")\n .remark(\"test\")\n .zoneId(\"zone-2qtuhspy7cr6\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n teoFunction:\n type: tencentcloud:Teo:Function\n properties:\n content: |2+\n addEventListener('fetch', e =\u003e {\n const response = new Response('Hello World!!');\n e.respondWith(response);\n });\n\n remark: test\n zoneId: zone-2qtuhspy7cr6\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nteo teo_function can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Teo/function:Function teo_function zone_id#function_id\n```\n\n", + "properties": { + "content": { + "type": "string", + "description": "Function content, currently only supports JavaScript code, with a maximum size of 5MB.\n" + }, + "createTime": { + "type": "string", + "description": "Creation time. The time is in Coordinated Universal Time (UTC) and follows the date and time format specified by the ISO 8601 standard.\n" + }, + "domain": { + "type": "string", + "description": "The default domain name for the function.\n" + }, + "functionId": { + "type": "string", + "description": "ID of the Function.\n" + }, + "name": { + "type": "string", + "description": "Function name. It can only contain lowercase letters, numbers, hyphens, must start and end with a letter or number, and can have a maximum length of 30 characters.\n" + }, + "remark": { + "type": "string", + "description": "Function description, maximum support of 60 characters.\n" + }, + "updateTime": { + "type": "string", + "description": "Modification time. The time is in Coordinated Universal Time (UTC) and follows the date and time format specified by the ISO 8601 standard.\n" + }, + "zoneId": { + "type": "string", + "description": "ID of the site.\n" + } + }, + "required": [ + "content", + "createTime", + "domain", + "functionId", + "name", + "updateTime", + "zoneId" + ], + "inputProperties": { + "content": { + "type": "string", + "description": "Function content, currently only supports JavaScript code, with a maximum size of 5MB.\n" + }, + "name": { + "type": "string", + "description": "Function name. It can only contain lowercase letters, numbers, hyphens, must start and end with a letter or number, and can have a maximum length of 30 characters.\n" + }, + "remark": { + "type": "string", + "description": "Function description, maximum support of 60 characters.\n" + }, + "zoneId": { + "type": "string", + "description": "ID of the site.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "content", + "zoneId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering Function resources.\n", + "properties": { + "content": { + "type": "string", + "description": "Function content, currently only supports JavaScript code, with a maximum size of 5MB.\n" + }, + "createTime": { + "type": "string", + "description": "Creation time. The time is in Coordinated Universal Time (UTC) and follows the date and time format specified by the ISO 8601 standard.\n" + }, + "domain": { + "type": "string", + "description": "The default domain name for the function.\n" + }, + "functionId": { + "type": "string", + "description": "ID of the Function.\n" + }, + "name": { + "type": "string", + "description": "Function name. It can only contain lowercase letters, numbers, hyphens, must start and end with a letter or number, and can have a maximum length of 30 characters.\n" + }, + "remark": { + "type": "string", + "description": "Function description, maximum support of 60 characters.\n" + }, + "updateTime": { + "type": "string", + "description": "Modification time. The time is in Coordinated Universal Time (UTC) and follows the date and time format specified by the ISO 8601 standard.\n" + }, + "zoneId": { + "type": "string", + "description": "ID of the site.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "tencentcloud:Teo/functionRule:FunctionRule": { + "description": "Provides a resource to create a teo teo_function_rule\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 teoFunctionRule = new tencentcloud.teo.FunctionRule(\"teoFunctionRule\", {\n functionId: \"ef-txx7fnua\",\n remark: \"aaa\",\n zoneId: \"zone-2qtuhspy7cr6\",\n functionRuleConditions: [\n {\n ruleConditions: [\n {\n ignoreCase: false,\n name: undefined,\n operator: \"equal\",\n target: \"host\",\n values: [\"aaa.makn.cn\"],\n },\n {\n ignoreCase: false,\n name: undefined,\n operator: \"equal\",\n target: \"extension\",\n values: [\".txt\"],\n },\n ],\n },\n {\n ruleConditions: [\n {\n ignoreCase: false,\n name: undefined,\n operator: \"notequal\",\n target: \"host\",\n values: [\"aaa.makn.cn\"],\n },\n {\n ignoreCase: false,\n name: undefined,\n operator: \"equal\",\n target: \"extension\",\n values: [\".png\"],\n },\n ],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nteo_function_rule = tencentcloud.teo.FunctionRule(\"teoFunctionRule\",\n function_id=\"ef-txx7fnua\",\n remark=\"aaa\",\n zone_id=\"zone-2qtuhspy7cr6\",\n function_rule_conditions=[\n tencentcloud.teo.FunctionRuleFunctionRuleConditionArgs(\n rule_conditions=[\n tencentcloud.teo.FunctionRuleFunctionRuleConditionRuleConditionArgs(\n ignore_case=False,\n name=None,\n operator=\"equal\",\n target=\"host\",\n values=[\"aaa.makn.cn\"],\n ),\n tencentcloud.teo.FunctionRuleFunctionRuleConditionRuleConditionArgs(\n ignore_case=False,\n name=None,\n operator=\"equal\",\n target=\"extension\",\n values=[\".txt\"],\n ),\n ],\n ),\n tencentcloud.teo.FunctionRuleFunctionRuleConditionArgs(\n rule_conditions=[\n tencentcloud.teo.FunctionRuleFunctionRuleConditionRuleConditionArgs(\n ignore_case=False,\n name=None,\n operator=\"notequal\",\n target=\"host\",\n values=[\"aaa.makn.cn\"],\n ),\n tencentcloud.teo.FunctionRuleFunctionRuleConditionRuleConditionArgs(\n ignore_case=False,\n name=None,\n operator=\"equal\",\n target=\"extension\",\n values=[\".png\"],\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 teoFunctionRule = new Tencentcloud.Teo.FunctionRule(\"teoFunctionRule\", new()\n {\n FunctionId = \"ef-txx7fnua\",\n Remark = \"aaa\",\n ZoneId = \"zone-2qtuhspy7cr6\",\n FunctionRuleConditions = new[]\n {\n new Tencentcloud.Teo.Inputs.FunctionRuleFunctionRuleConditionArgs\n {\n RuleConditions = new[]\n {\n new Tencentcloud.Teo.Inputs.FunctionRuleFunctionRuleConditionRuleConditionArgs\n {\n IgnoreCase = false,\n Name = null,\n Operator = \"equal\",\n Target = \"host\",\n Values = new[]\n {\n \"aaa.makn.cn\",\n },\n },\n new Tencentcloud.Teo.Inputs.FunctionRuleFunctionRuleConditionRuleConditionArgs\n {\n IgnoreCase = false,\n Name = null,\n Operator = \"equal\",\n Target = \"extension\",\n Values = new[]\n {\n \".txt\",\n },\n },\n },\n },\n new Tencentcloud.Teo.Inputs.FunctionRuleFunctionRuleConditionArgs\n {\n RuleConditions = new[]\n {\n new Tencentcloud.Teo.Inputs.FunctionRuleFunctionRuleConditionRuleConditionArgs\n {\n IgnoreCase = false,\n Name = null,\n Operator = \"notequal\",\n Target = \"host\",\n Values = new[]\n {\n \"aaa.makn.cn\",\n },\n },\n new Tencentcloud.Teo.Inputs.FunctionRuleFunctionRuleConditionRuleConditionArgs\n {\n IgnoreCase = false,\n Name = null,\n Operator = \"equal\",\n Target = \"extension\",\n Values = new[]\n {\n \".png\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Teo\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Teo.NewFunctionRule(ctx, \"teoFunctionRule\", \u0026Teo.FunctionRuleArgs{\n\t\t\tFunctionId: pulumi.String(\"ef-txx7fnua\"),\n\t\t\tRemark: pulumi.String(\"aaa\"),\n\t\t\tZoneId: pulumi.String(\"zone-2qtuhspy7cr6\"),\n\t\t\tFunctionRuleConditions: teo.FunctionRuleFunctionRuleConditionArray{\n\t\t\t\t\u0026teo.FunctionRuleFunctionRuleConditionArgs{\n\t\t\t\t\tRuleConditions: teo.FunctionRuleFunctionRuleConditionRuleConditionArray{\n\t\t\t\t\t\t\u0026teo.FunctionRuleFunctionRuleConditionRuleConditionArgs{\n\t\t\t\t\t\t\tIgnoreCase: pulumi.Bool(false),\n\t\t\t\t\t\t\tName: nil,\n\t\t\t\t\t\t\tOperator: pulumi.String(\"equal\"),\n\t\t\t\t\t\t\tTarget: pulumi.String(\"host\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"aaa.makn.cn\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026teo.FunctionRuleFunctionRuleConditionRuleConditionArgs{\n\t\t\t\t\t\t\tIgnoreCase: pulumi.Bool(false),\n\t\t\t\t\t\t\tName: nil,\n\t\t\t\t\t\t\tOperator: pulumi.String(\"equal\"),\n\t\t\t\t\t\t\tTarget: pulumi.String(\"extension\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\".txt\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026teo.FunctionRuleFunctionRuleConditionArgs{\n\t\t\t\t\tRuleConditions: teo.FunctionRuleFunctionRuleConditionRuleConditionArray{\n\t\t\t\t\t\t\u0026teo.FunctionRuleFunctionRuleConditionRuleConditionArgs{\n\t\t\t\t\t\t\tIgnoreCase: pulumi.Bool(false),\n\t\t\t\t\t\t\tName: nil,\n\t\t\t\t\t\t\tOperator: pulumi.String(\"notequal\"),\n\t\t\t\t\t\t\tTarget: pulumi.String(\"host\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"aaa.makn.cn\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026teo.FunctionRuleFunctionRuleConditionRuleConditionArgs{\n\t\t\t\t\t\t\tIgnoreCase: pulumi.Bool(false),\n\t\t\t\t\t\t\tName: nil,\n\t\t\t\t\t\t\tOperator: pulumi.String(\"equal\"),\n\t\t\t\t\t\t\tTarget: pulumi.String(\"extension\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\".png\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Teo.FunctionRule;\nimport com.pulumi.tencentcloud.Teo.FunctionRuleArgs;\nimport com.pulumi.tencentcloud.Teo.inputs.FunctionRuleFunctionRuleConditionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 teoFunctionRule = new FunctionRule(\"teoFunctionRule\", FunctionRuleArgs.builder() \n .functionId(\"ef-txx7fnua\")\n .remark(\"aaa\")\n .zoneId(\"zone-2qtuhspy7cr6\")\n .functionRuleConditions( \n FunctionRuleFunctionRuleConditionArgs.builder()\n .ruleConditions( \n FunctionRuleFunctionRuleConditionRuleConditionArgs.builder()\n .ignoreCase(false)\n .name(null)\n .operator(\"equal\")\n .target(\"host\")\n .values(\"aaa.makn.cn\")\n .build(),\n FunctionRuleFunctionRuleConditionRuleConditionArgs.builder()\n .ignoreCase(false)\n .name(null)\n .operator(\"equal\")\n .target(\"extension\")\n .values(\".txt\")\n .build())\n .build(),\n FunctionRuleFunctionRuleConditionArgs.builder()\n .ruleConditions( \n FunctionRuleFunctionRuleConditionRuleConditionArgs.builder()\n .ignoreCase(false)\n .name(null)\n .operator(\"notequal\")\n .target(\"host\")\n .values(\"aaa.makn.cn\")\n .build(),\n FunctionRuleFunctionRuleConditionRuleConditionArgs.builder()\n .ignoreCase(false)\n .name(null)\n .operator(\"equal\")\n .target(\"extension\")\n .values(\".png\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n teoFunctionRule:\n type: tencentcloud:Teo:FunctionRule\n properties:\n functionId: ef-txx7fnua\n remark: aaa\n zoneId: zone-2qtuhspy7cr6\n functionRuleConditions:\n - ruleConditions:\n - ignoreCase: false\n name: null\n operator: equal\n target: host\n values:\n - aaa.makn.cn\n - ignoreCase: false\n name: null\n operator: equal\n target: extension\n values:\n - .txt\n - ruleConditions:\n - ignoreCase: false\n name: null\n operator: notequal\n target: host\n values:\n - aaa.makn.cn\n - ignoreCase: false\n name: null\n operator: equal\n target: extension\n values:\n - .png\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nteo teo_function_rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Teo/functionRule:FunctionRule teo_function_rule zone_id#function_id#rule_id\n```\n\n", + "properties": { + "functionId": { + "type": "string", + "description": "ID of the Function.\n" + }, + "functionName": { + "type": "string", + "description": "The name of the function.\n" + }, + "functionRuleConditions": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Teo/FunctionRuleFunctionRuleCondition:FunctionRuleFunctionRuleCondition" + }, + "description": "The list of rule conditions, where the conditions are connected by an \"OR\" relationship.\n" + }, + "priority": { + "type": "integer", + "description": "The priority of the function trigger rule. A higher numerical value indicates a higher priority.\n" + }, + "remark": { + "type": "string", + "description": "Rule description, maximum support of 60 characters.\n" + }, + "ruleId": { + "type": "string", + "description": "ID of the Function Rule.\n" + }, + "zoneId": { + "type": "string", + "description": "ID of the site.\n" + } + }, + "required": [ + "functionId", + "functionName", + "functionRuleConditions", + "priority", + "ruleId", + "zoneId" + ], + "inputProperties": { + "functionId": { + "type": "string", + "description": "ID of the Function.\n", + "willReplaceOnChanges": true + }, + "functionRuleConditions": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Teo/FunctionRuleFunctionRuleCondition:FunctionRuleFunctionRuleCondition" + }, + "description": "The list of rule conditions, where the conditions are connected by an \"OR\" relationship.\n" + }, + "remark": { + "type": "string", + "description": "Rule description, maximum support of 60 characters.\n" + }, + "zoneId": { + "type": "string", + "description": "ID of the site.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "functionId", + "functionRuleConditions", + "zoneId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering FunctionRule resources.\n", + "properties": { + "functionId": { + "type": "string", + "description": "ID of the Function.\n", + "willReplaceOnChanges": true + }, + "functionName": { + "type": "string", + "description": "The name of the function.\n" + }, + "functionRuleConditions": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Teo/FunctionRuleFunctionRuleCondition:FunctionRuleFunctionRuleCondition" + }, + "description": "The list of rule conditions, where the conditions are connected by an \"OR\" relationship.\n" + }, + "priority": { + "type": "integer", + "description": "The priority of the function trigger rule. A higher numerical value indicates a higher priority.\n" + }, + "remark": { + "type": "string", + "description": "Rule description, maximum support of 60 characters.\n" + }, + "ruleId": { + "type": "string", + "description": "ID of the Function Rule.\n" + }, + "zoneId": { + "type": "string", + "description": "ID of the site.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "tencentcloud:Teo/functionRulePriority:FunctionRulePriority": { + "description": "Provides a resource to create a teo teo_function_rule_priority\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 teoFunctionRulePriority = new tencentcloud.teo.FunctionRulePriority(\"teoFunctionRulePriority\", {\n functionId: \"ef-txx7fnua\",\n ruleIds: [\n \"rule-equpbht3\",\n \"rule-ax28n3g6\",\n ],\n zoneId: \"zone-2qtuhspy7cr6\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nteo_function_rule_priority = tencentcloud.teo.FunctionRulePriority(\"teoFunctionRulePriority\",\n function_id=\"ef-txx7fnua\",\n rule_ids=[\n \"rule-equpbht3\",\n \"rule-ax28n3g6\",\n ],\n zone_id=\"zone-2qtuhspy7cr6\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var teoFunctionRulePriority = new Tencentcloud.Teo.FunctionRulePriority(\"teoFunctionRulePriority\", new()\n {\n FunctionId = \"ef-txx7fnua\",\n RuleIds = new[]\n {\n \"rule-equpbht3\",\n \"rule-ax28n3g6\",\n },\n ZoneId = \"zone-2qtuhspy7cr6\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Teo\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Teo.NewFunctionRulePriority(ctx, \"teoFunctionRulePriority\", \u0026Teo.FunctionRulePriorityArgs{\n\t\t\tFunctionId: pulumi.String(\"ef-txx7fnua\"),\n\t\t\tRuleIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"rule-equpbht3\"),\n\t\t\t\tpulumi.String(\"rule-ax28n3g6\"),\n\t\t\t},\n\t\t\tZoneId: pulumi.String(\"zone-2qtuhspy7cr6\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Teo.FunctionRulePriority;\nimport com.pulumi.tencentcloud.Teo.FunctionRulePriorityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 teoFunctionRulePriority = new FunctionRulePriority(\"teoFunctionRulePriority\", FunctionRulePriorityArgs.builder() \n .functionId(\"ef-txx7fnua\")\n .ruleIds( \n \"rule-equpbht3\",\n \"rule-ax28n3g6\")\n .zoneId(\"zone-2qtuhspy7cr6\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n teoFunctionRulePriority:\n type: tencentcloud:Teo:FunctionRulePriority\n properties:\n functionId: ef-txx7fnua\n ruleIds:\n - rule-equpbht3\n - rule-ax28n3g6\n zoneId: zone-2qtuhspy7cr6\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nteo teo_function_rule_priority can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Teo/functionRulePriority:FunctionRulePriority teo_function_rule_priority zone_id#function_id\n```\n\n", + "properties": { + "functionId": { + "type": "string", + "description": "ID of the Function.\n" + }, + "ruleIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "he list of rule IDs. It is required to include all rule IDs after adjusting their priorities. The execution order of multiple rules follows a top-down sequence. If not specified, the original priority order will be maintained.\n" + }, + "zoneId": { + "type": "string", + "description": "ID of the site.\n" + } + }, + "required": [ + "functionId", + "ruleIds", + "zoneId" + ], + "inputProperties": { + "functionId": { + "type": "string", + "description": "ID of the Function.\n", + "willReplaceOnChanges": true + }, + "ruleIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "he list of rule IDs. It is required to include all rule IDs after adjusting their priorities. The execution order of multiple rules follows a top-down sequence. If not specified, the original priority order will be maintained.\n" + }, + "zoneId": { + "type": "string", + "description": "ID of the site.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "functionId", + "ruleIds", + "zoneId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering FunctionRulePriority resources.\n", + "properties": { + "functionId": { + "type": "string", + "description": "ID of the Function.\n", + "willReplaceOnChanges": true + }, + "ruleIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "he list of rule IDs. It is required to include all rule IDs after adjusting their priorities. The execution order of multiple rules follows a top-down sequence. If not specified, the original priority order will be maintained.\n" + }, + "zoneId": { + "type": "string", + "description": "ID of the site.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "tencentcloud:Teo/functionRuntimeEnvironment:FunctionRuntimeEnvironment": { + "description": "Provides a resource to create a teo teo_function_runtime_environment\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 teoFunctionRuntimeEnvironment = new tencentcloud.teo.FunctionRuntimeEnvironment(\"teoFunctionRuntimeEnvironment\", {\n environmentVariables: [\n {\n key: \"test-a\",\n type: \"string\",\n value: \"AAA\",\n },\n {\n key: \"test-b\",\n type: \"string\",\n value: \"BBB\",\n },\n ],\n functionId: \"ef-txx7fnua\",\n zoneId: \"zone-2qtuhspy7cr6\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nteo_function_runtime_environment = tencentcloud.teo.FunctionRuntimeEnvironment(\"teoFunctionRuntimeEnvironment\",\n environment_variables=[\n tencentcloud.teo.FunctionRuntimeEnvironmentEnvironmentVariableArgs(\n key=\"test-a\",\n type=\"string\",\n value=\"AAA\",\n ),\n tencentcloud.teo.FunctionRuntimeEnvironmentEnvironmentVariableArgs(\n key=\"test-b\",\n type=\"string\",\n value=\"BBB\",\n ),\n ],\n function_id=\"ef-txx7fnua\",\n zone_id=\"zone-2qtuhspy7cr6\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var teoFunctionRuntimeEnvironment = new Tencentcloud.Teo.FunctionRuntimeEnvironment(\"teoFunctionRuntimeEnvironment\", new()\n {\n EnvironmentVariables = new[]\n {\n new Tencentcloud.Teo.Inputs.FunctionRuntimeEnvironmentEnvironmentVariableArgs\n {\n Key = \"test-a\",\n Type = \"string\",\n Value = \"AAA\",\n },\n new Tencentcloud.Teo.Inputs.FunctionRuntimeEnvironmentEnvironmentVariableArgs\n {\n Key = \"test-b\",\n Type = \"string\",\n Value = \"BBB\",\n },\n },\n FunctionId = \"ef-txx7fnua\",\n ZoneId = \"zone-2qtuhspy7cr6\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Teo\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Teo.NewFunctionRuntimeEnvironment(ctx, \"teoFunctionRuntimeEnvironment\", \u0026Teo.FunctionRuntimeEnvironmentArgs{\n\t\t\tEnvironmentVariables: teo.FunctionRuntimeEnvironmentEnvironmentVariableArray{\n\t\t\t\t\u0026teo.FunctionRuntimeEnvironmentEnvironmentVariableArgs{\n\t\t\t\t\tKey: pulumi.String(\"test-a\"),\n\t\t\t\t\tType: pulumi.String(\"string\"),\n\t\t\t\t\tValue: pulumi.String(\"AAA\"),\n\t\t\t\t},\n\t\t\t\t\u0026teo.FunctionRuntimeEnvironmentEnvironmentVariableArgs{\n\t\t\t\t\tKey: pulumi.String(\"test-b\"),\n\t\t\t\t\tType: pulumi.String(\"string\"),\n\t\t\t\t\tValue: pulumi.String(\"BBB\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFunctionId: pulumi.String(\"ef-txx7fnua\"),\n\t\t\tZoneId: pulumi.String(\"zone-2qtuhspy7cr6\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Teo.FunctionRuntimeEnvironment;\nimport com.pulumi.tencentcloud.Teo.FunctionRuntimeEnvironmentArgs;\nimport com.pulumi.tencentcloud.Teo.inputs.FunctionRuntimeEnvironmentEnvironmentVariableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 teoFunctionRuntimeEnvironment = new FunctionRuntimeEnvironment(\"teoFunctionRuntimeEnvironment\", FunctionRuntimeEnvironmentArgs.builder() \n .environmentVariables( \n FunctionRuntimeEnvironmentEnvironmentVariableArgs.builder()\n .key(\"test-a\")\n .type(\"string\")\n .value(\"AAA\")\n .build(),\n FunctionRuntimeEnvironmentEnvironmentVariableArgs.builder()\n .key(\"test-b\")\n .type(\"string\")\n .value(\"BBB\")\n .build())\n .functionId(\"ef-txx7fnua\")\n .zoneId(\"zone-2qtuhspy7cr6\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n teoFunctionRuntimeEnvironment:\n type: tencentcloud:Teo:FunctionRuntimeEnvironment\n properties:\n environmentVariables:\n - key: test-a\n type: string\n value: AAA\n - key: test-b\n type: string\n value: BBB\n functionId: ef-txx7fnua\n zoneId: zone-2qtuhspy7cr6\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nteo teo_function_runtime_environment can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Teo/functionRuntimeEnvironment:FunctionRuntimeEnvironment teo_function_runtime_environment zone_id#function_id\n```\n\n", + "properties": { + "environmentVariables": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Teo/FunctionRuntimeEnvironmentEnvironmentVariable:FunctionRuntimeEnvironmentEnvironmentVariable" + }, + "description": "The environment variable list.\n" + }, + "functionId": { + "type": "string", + "description": "ID of the Function.\n" + }, + "zoneId": { + "type": "string", + "description": "ID of the site.\n" + } + }, + "required": [ + "environmentVariables", + "functionId", + "zoneId" + ], + "inputProperties": { + "environmentVariables": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Teo/FunctionRuntimeEnvironmentEnvironmentVariable:FunctionRuntimeEnvironmentEnvironmentVariable" + }, + "description": "The environment variable list.\n" + }, + "functionId": { + "type": "string", + "description": "ID of the Function.\n", + "willReplaceOnChanges": true + }, + "zoneId": { + "type": "string", + "description": "ID of the site.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "environmentVariables", + "functionId", + "zoneId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering FunctionRuntimeEnvironment resources.\n", + "properties": { + "environmentVariables": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Teo/FunctionRuntimeEnvironmentEnvironmentVariable:FunctionRuntimeEnvironmentEnvironmentVariable" + }, + "description": "The environment variable list.\n" + }, + "functionId": { + "type": "string", + "description": "ID of the Function.\n", + "willReplaceOnChanges": true + }, + "zoneId": { + "type": "string", + "description": "ID of the site.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, "tencentcloud:Teo/l4Proxy:L4Proxy": { "description": "Provides a resource to create a teo teo_l4_proxy\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 proxy = new tencentcloud.teo.L4Proxy(\"proxy\", {\n accelerateMainland: \"off\",\n area: \"overseas\",\n ipv6: \"off\",\n proxyName: \"proxy-test\",\n staticIp: \"off\",\n zoneId: \"zone-2qtuhspy6cr7\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nproxy = tencentcloud.teo.L4Proxy(\"proxy\",\n accelerate_mainland=\"off\",\n area=\"overseas\",\n ipv6=\"off\",\n proxy_name=\"proxy-test\",\n static_ip=\"off\",\n zone_id=\"zone-2qtuhspy6cr7\")\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 proxy = new Tencentcloud.Teo.L4Proxy(\"proxy\", new()\n {\n AccelerateMainland = \"off\",\n Area = \"overseas\",\n Ipv6 = \"off\",\n ProxyName = \"proxy-test\",\n StaticIp = \"off\",\n ZoneId = \"zone-2qtuhspy6cr7\",\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.NewL4Proxy(ctx, \"proxy\", \u0026Teo.L4ProxyArgs{\n\t\t\tAccelerateMainland: pulumi.String(\"off\"),\n\t\t\tArea: pulumi.String(\"overseas\"),\n\t\t\tIpv6: pulumi.String(\"off\"),\n\t\t\tProxyName: pulumi.String(\"proxy-test\"),\n\t\t\tStaticIp: pulumi.String(\"off\"),\n\t\t\tZoneId: pulumi.String(\"zone-2qtuhspy6cr7\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\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.L4Proxy;\nimport com.pulumi.tencentcloud.Teo.L4ProxyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 proxy = new L4Proxy(\"proxy\", L4ProxyArgs.builder() \n .accelerateMainland(\"off\")\n .area(\"overseas\")\n .ipv6(\"off\")\n .proxyName(\"proxy-test\")\n .staticIp(\"off\")\n .zoneId(\"zone-2qtuhspy6cr7\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n proxy:\n type: tencentcloud:Teo:L4Proxy\n properties:\n accelerateMainland: off\n area: overseas\n ipv6: off\n proxyName: proxy-test\n staticIp: off\n zoneId: zone-2qtuhspy6cr7\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nteo teo_l4_proxy can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Teo/l4Proxy:L4Proxy teo_l4_proxy teo_l4_proxy_id\n```\n\n", "properties": { @@ -210804,6 +222762,10 @@ "type": "string", "description": "The rule name (1 to 255 characters).\n" }, + "rulePriority": { + "type": "integer", + "description": "Rule priority, the larger the value, the higher the priority, the minimum is 1.\n" + }, "rules": { "type": "array", "items": { @@ -210830,6 +222792,7 @@ "required": [ "ruleId", "ruleName", + "rulePriority", "rules", "status", "zoneId" @@ -210880,6 +222843,10 @@ "type": "string", "description": "The rule name (1 to 255 characters).\n" }, + "rulePriority": { + "type": "integer", + "description": "Rule priority, the larger the value, the higher the priority, the minimum is 1.\n" + }, "rules": { "type": "array", "items": { @@ -210907,6 +222874,50 @@ "type": "object" } }, + "tencentcloud:Teo/securityIpGroup:SecurityIpGroup": { + "properties": { + "ipGroup": { + "$ref": "#/types/tencentcloud:Teo/SecurityIpGroupIpGroup:SecurityIpGroupIpGroup", + "description": "IP group information, replace all when modifying.\n" + }, + "zoneId": { + "type": "string", + "description": "Site ID.\n" + } + }, + "required": [ + "ipGroup", + "zoneId" + ], + "inputProperties": { + "ipGroup": { + "$ref": "#/types/tencentcloud:Teo/SecurityIpGroupIpGroup:SecurityIpGroupIpGroup", + "description": "IP group information, replace all when modifying.\n" + }, + "zoneId": { + "type": "string", + "description": "Site ID.\n" + } + }, + "requiredInputs": [ + "ipGroup", + "zoneId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering SecurityIpGroup resources.\n", + "properties": { + "ipGroup": { + "$ref": "#/types/tencentcloud:Teo/SecurityIpGroupIpGroup:SecurityIpGroupIpGroup", + "description": "IP group information, replace all when modifying.\n" + }, + "zoneId": { + "type": "string", + "description": "Site ID.\n" + } + }, + "type": "object" + } + }, "tencentcloud:Teo/zone:Zone": { "description": "Provides a resource to create a teo zone\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 zone = new tencentcloud.teo.Zone(\"zone\", {\n aliasZoneName: \"teo-test\",\n area: \"overseas\",\n paused: false,\n planId: \"edgeone-2kfv1h391n6w\",\n tags: {\n createdBy: \"terraform\",\n },\n type: \"partial\",\n zoneName: \"tf-teo.com\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nzone = tencentcloud.teo.Zone(\"zone\",\n alias_zone_name=\"teo-test\",\n area=\"overseas\",\n paused=False,\n plan_id=\"edgeone-2kfv1h391n6w\",\n tags={\n \"createdBy\": \"terraform\",\n },\n type=\"partial\",\n zone_name=\"tf-teo.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 zone = new Tencentcloud.Teo.Zone(\"zone\", new()\n {\n AliasZoneName = \"teo-test\",\n Area = \"overseas\",\n Paused = false,\n PlanId = \"edgeone-2kfv1h391n6w\",\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n Type = \"partial\",\n ZoneName = \"tf-teo.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/Teo\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Teo.NewZone(ctx, \"zone\", \u0026Teo.ZoneArgs{\n\t\t\tAliasZoneName: pulumi.String(\"teo-test\"),\n\t\t\tArea: pulumi.String(\"overseas\"),\n\t\t\tPaused: pulumi.Bool(false),\n\t\t\tPlanId: pulumi.String(\"edgeone-2kfv1h391n6w\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"createdBy\": pulumi.Any(\"terraform\"),\n\t\t\t},\n\t\t\tType: pulumi.String(\"partial\"),\n\t\t\tZoneName: pulumi.String(\"tf-teo.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.Teo.Zone;\nimport com.pulumi.tencentcloud.Teo.ZoneArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 zone = new Zone(\"zone\", ZoneArgs.builder() \n .aliasZoneName(\"teo-test\")\n .area(\"overseas\")\n .paused(false)\n .planId(\"edgeone-2kfv1h391n6w\")\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .type(\"partial\")\n .zoneName(\"tf-teo.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n zone:\n type: tencentcloud:Teo:Zone\n properties:\n aliasZoneName: teo-test\n area: overseas\n paused: false\n planId: edgeone-2kfv1h391n6w\n tags:\n createdBy: terraform\n type: partial\n zoneName: tf-teo.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nteo zone can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Teo/zone:Zone zone zone_id\n```\n\n", "properties": { @@ -211319,6 +223330,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 +232574,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 +232619,7 @@ } }, "required": [ + "cdcId", "createTime", "endPointName", "endPointOwner", @@ -220356,6 +232667,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 +232721,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 +232760,7 @@ }, "required": [ "autoAcceptFlag", + "cdcId", "createTime", "endPointCount", "endPointServiceName", @@ -220485,6 +232805,10 @@ "type": "boolean", "description": "Whether to automatically accept.\n" }, + "cdcId": { + "type": "string", + "description": "CDC instance ID.\n" + }, "createTime": { "type": "string", "description": "Create Time.\n" @@ -220597,7 +232921,7 @@ } }, "tencentcloud:Vpc/flowLog:FlowLog": { - "description": "Provides a resource to create a vpc flow_log\n\n\u003e **NOTE:** The cloud server instance specifications that support stream log collection include: M6ce, M6p, SA3se, S4m, DA3, ITA3, I6t, I6, S5se, SA2, SK1, S4, S5, SN3ne, S3ne, S2ne, SA2a, S3ne, SW3a, SW3b, SW3ne, ITA3, IT5c, IT5, IT5c, IT3, I3, D3, DA2, D2, M6, MA2, M4, C6, IT3a, IT3b, IT3c, C4ne, CN3ne, C3ne, GI1, PNV4, GNV4v, GNV4, GT4, GI3X, GN7, GN7vw.\n\n\u003e **NOTE:** The following models no longer support the collection of new stream logs, and the stock stream logs will no longer be reported for data from July 25, 2022: Standard models: S3, SA1, S2, S1;Memory type: M3, M2, M1;Calculation type: C4, CN3, C3, C2;Batch calculation type: BC1, BS1;HPCC: HCCIC5, HCCG5v.\n\n## Import\n\nvpc flow_log can be imported using the flow log Id combine vpc Id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Vpc/flowLog:FlowLog flow_log flow_log_id fl-xxxx1234#vpc-yyyy5678\n```\n\n", + "description": "Provides a resource to create a vpc flow_log\n\n\u003e **NOTE:** The cloud server instance specifications that support stream log collection include: M6ce, M6p, SA3se, S4m, DA3, ITA3, I6t, I6, S5se, SA2, SK1, S4, S5, SN3ne, S3ne, S2ne, SA2a, S3ne, SW3a, SW3b, SW3ne, ITA3, IT5c, IT5, IT5c, IT3, I3, D3, DA2, D2, M6, MA2, M4, C6, IT3a, IT3b, IT3c, C4ne, CN3ne, C3ne, GI1, PNV4, GNV4v, GNV4, GT4, GI3X, GN7, GN7vw.\n\n\u003e **NOTE:** The following models no longer support the collection of new stream logs, and the stock stream logs will no longer be reported for data from July 25, 2022: Standard models: S3, SA1, S2, S1;Memory type: M3, M2, M1;Calculation type: C4, CN3, C3, C2;Batch calculation type: BC1, BS1;HPCC: HCCIC5, HCCG5v.\n\n## Import\n\nvpc flow_log can be imported using the flow log Id combine vpc Id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Vpc/flowLog:FlowLog example fl-7k59x22l#vpc-n6qjlen5\n```\n", "properties": { "cloudLogId": { "type": "string", @@ -221301,16 +233625,14 @@ } }, "tencentcloud:Vpc/notifyRoutes:NotifyRoutes": { + "description": "Provides a resource to create a vpc notify_routes\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.Vpc.Instance;\nimport com.pulumi.tencentcloud.Vpc.InstanceArgs;\nimport com.pulumi.tencentcloud.Route.Table;\nimport com.pulumi.tencentcloud.Route.TableArgs;\nimport com.pulumi.tencentcloud.Vpc.NotifyRoutes;\nimport com.pulumi.tencentcloud.Vpc.NotifyRoutesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 routeTable = new Table(\"routeTable\", TableArgs.builder() \n .vpcId(vpc.id())\n .build());\n\n var example = new NotifyRoutes(\"example\", NotifyRoutesArgs.builder() \n .routeTableId(routeTable.id())\n .routeItemIds(\"rti-i8bap903\")\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 routeTable:\n type: tencentcloud:Route:Table\n properties:\n vpcId: ${vpc.id}\n example:\n type: tencentcloud:Vpc:NotifyRoutes\n properties:\n routeTableId: ${routeTable.id}\n routeItemIds:\n - rti-i8bap903\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nvpc notify_routes can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Vpc/notifyRoutes:NotifyRoutes notify_routes route_table_id#route_item_id\n```\n\n", "properties": { "publishedToVbc": { "type": "boolean", "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 +233647,7 @@ ], "inputProperties": { "routeItemIds": { - "type": "array", - "items": { - "type": "string" - }, + "type": "string", "description": "The unique ID of the routing policy.\n", "willReplaceOnChanges": true }, @@ -221350,10 +233669,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 +233886,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": { @@ -222115,6 +234514,8 @@ "encryptProto", "healthCheckLocalIp", "healthCheckRemoteIp", + "ikeLocalFqdnName", + "ikeRemoteFqdnName", "isCcnType", "name", "netStatus", @@ -224712,7 +237113,7 @@ } }, "tencentcloud:Waf/ipAccessControl:IpAccessControl": { - "description": "Provides a resource to create a waf ip_access_control\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.waf.IpAccessControl(\"example\", {\n domain: \"www.demo.com\",\n edition: \"sparta-waf\",\n instanceId: \"waf_2kxtlbky00b3b4qz\",\n items: [\n {\n action: 40,\n ip: \"1.1.1.1\",\n note: \"desc info.\",\n validTs: 2019571199,\n },\n {\n action: 42,\n ip: \"2.2.2.2\",\n note: \"desc info.\",\n validTs: 2019571199,\n },\n {\n action: 40,\n ip: \"3.3.3.3\",\n note: \"desc info.\",\n validTs: 1680570420,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.waf.IpAccessControl(\"example\",\n domain=\"www.demo.com\",\n edition=\"sparta-waf\",\n instance_id=\"waf_2kxtlbky00b3b4qz\",\n items=[\n tencentcloud.waf.IpAccessControlItemArgs(\n action=40,\n ip=\"1.1.1.1\",\n note=\"desc info.\",\n valid_ts=2019571199,\n ),\n tencentcloud.waf.IpAccessControlItemArgs(\n action=42,\n ip=\"2.2.2.2\",\n note=\"desc info.\",\n valid_ts=2019571199,\n ),\n tencentcloud.waf.IpAccessControlItemArgs(\n action=40,\n ip=\"3.3.3.3\",\n note=\"desc info.\",\n valid_ts=1680570420,\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.Waf.IpAccessControl(\"example\", new()\n {\n Domain = \"www.demo.com\",\n Edition = \"sparta-waf\",\n InstanceId = \"waf_2kxtlbky00b3b4qz\",\n Items = new[]\n {\n new Tencentcloud.Waf.Inputs.IpAccessControlItemArgs\n {\n Action = 40,\n Ip = \"1.1.1.1\",\n Note = \"desc info.\",\n ValidTs = 2019571199,\n },\n new Tencentcloud.Waf.Inputs.IpAccessControlItemArgs\n {\n Action = 42,\n Ip = \"2.2.2.2\",\n Note = \"desc info.\",\n ValidTs = 2019571199,\n },\n new Tencentcloud.Waf.Inputs.IpAccessControlItemArgs\n {\n Action = 40,\n Ip = \"3.3.3.3\",\n Note = \"desc info.\",\n ValidTs = 1680570420,\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/Waf\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Waf.NewIpAccessControl(ctx, \"example\", \u0026Waf.IpAccessControlArgs{\n\t\t\tDomain: pulumi.String(\"www.demo.com\"),\n\t\t\tEdition: pulumi.String(\"sparta-waf\"),\n\t\t\tInstanceId: pulumi.String(\"waf_2kxtlbky00b3b4qz\"),\n\t\t\tItems: waf.IpAccessControlItemArray{\n\t\t\t\t\u0026waf.IpAccessControlItemArgs{\n\t\t\t\t\tAction: pulumi.Int(40),\n\t\t\t\t\tIp: pulumi.String(\"1.1.1.1\"),\n\t\t\t\t\tNote: pulumi.String(\"desc info.\"),\n\t\t\t\t\tValidTs: pulumi.Int(2019571199),\n\t\t\t\t},\n\t\t\t\t\u0026waf.IpAccessControlItemArgs{\n\t\t\t\t\tAction: pulumi.Int(42),\n\t\t\t\t\tIp: pulumi.String(\"2.2.2.2\"),\n\t\t\t\t\tNote: pulumi.String(\"desc info.\"),\n\t\t\t\t\tValidTs: pulumi.Int(2019571199),\n\t\t\t\t},\n\t\t\t\t\u0026waf.IpAccessControlItemArgs{\n\t\t\t\t\tAction: pulumi.Int(40),\n\t\t\t\t\tIp: pulumi.String(\"3.3.3.3\"),\n\t\t\t\t\tNote: pulumi.String(\"desc info.\"),\n\t\t\t\t\tValidTs: pulumi.Int(1680570420),\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.Waf.IpAccessControl;\nimport com.pulumi.tencentcloud.Waf.IpAccessControlArgs;\nimport com.pulumi.tencentcloud.Waf.inputs.IpAccessControlItemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 IpAccessControl(\"example\", IpAccessControlArgs.builder() \n .domain(\"www.demo.com\")\n .edition(\"sparta-waf\")\n .instanceId(\"waf_2kxtlbky00b3b4qz\")\n .items( \n IpAccessControlItemArgs.builder()\n .action(40)\n .ip(\"1.1.1.1\")\n .note(\"desc info.\")\n .validTs(\"2019571199\")\n .build(),\n IpAccessControlItemArgs.builder()\n .action(42)\n .ip(\"2.2.2.2\")\n .note(\"desc info.\")\n .validTs(\"2019571199\")\n .build(),\n IpAccessControlItemArgs.builder()\n .action(40)\n .ip(\"3.3.3.3\")\n .note(\"desc info.\")\n .validTs(\"1680570420\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Waf:IpAccessControl\n properties:\n domain: www.demo.com\n edition: sparta-waf\n instanceId: waf_2kxtlbky00b3b4qz\n items:\n - action: 40\n ip: 1.1.1.1\n note: desc info.\n validTs: '2019571199'\n - action: 42\n ip: 2.2.2.2\n note: desc info.\n validTs: '2019571199'\n - action: 40\n ip: 3.3.3.3\n note: desc info.\n validTs: '1680570420'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nwaf ip_access_control can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Waf/ipAccessControl:IpAccessControl example waf_2kxtlbky00b3b4qz#www.demo.com#sparta-waf\n```\n\n", + "description": "Provides a resource to create a waf ip_access_control\n\n\u003e **NOTE:** This resource is no longer under maintenance, please use `tencentcloud.Waf.IpAccessControlV2` instead\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.waf.IpAccessControl(\"example\", {\n domain: \"www.demo.com\",\n edition: \"sparta-waf\",\n instanceId: \"waf_2kxtlbky00b3b4qz\",\n items: [\n {\n action: 40,\n ip: \"1.1.1.1\",\n note: \"desc info.\",\n validTs: 2019571199,\n },\n {\n action: 42,\n ip: \"2.2.2.2\",\n note: \"desc info.\",\n validTs: 2019571199,\n },\n {\n action: 40,\n ip: \"3.3.3.3\",\n note: \"desc info.\",\n validTs: 1680570420,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.waf.IpAccessControl(\"example\",\n domain=\"www.demo.com\",\n edition=\"sparta-waf\",\n instance_id=\"waf_2kxtlbky00b3b4qz\",\n items=[\n tencentcloud.waf.IpAccessControlItemArgs(\n action=40,\n ip=\"1.1.1.1\",\n note=\"desc info.\",\n valid_ts=2019571199,\n ),\n tencentcloud.waf.IpAccessControlItemArgs(\n action=42,\n ip=\"2.2.2.2\",\n note=\"desc info.\",\n valid_ts=2019571199,\n ),\n tencentcloud.waf.IpAccessControlItemArgs(\n action=40,\n ip=\"3.3.3.3\",\n note=\"desc info.\",\n valid_ts=1680570420,\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.Waf.IpAccessControl(\"example\", new()\n {\n Domain = \"www.demo.com\",\n Edition = \"sparta-waf\",\n InstanceId = \"waf_2kxtlbky00b3b4qz\",\n Items = new[]\n {\n new Tencentcloud.Waf.Inputs.IpAccessControlItemArgs\n {\n Action = 40,\n Ip = \"1.1.1.1\",\n Note = \"desc info.\",\n ValidTs = 2019571199,\n },\n new Tencentcloud.Waf.Inputs.IpAccessControlItemArgs\n {\n Action = 42,\n Ip = \"2.2.2.2\",\n Note = \"desc info.\",\n ValidTs = 2019571199,\n },\n new Tencentcloud.Waf.Inputs.IpAccessControlItemArgs\n {\n Action = 40,\n Ip = \"3.3.3.3\",\n Note = \"desc info.\",\n ValidTs = 1680570420,\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/Waf\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Waf.NewIpAccessControl(ctx, \"example\", \u0026Waf.IpAccessControlArgs{\n\t\t\tDomain: pulumi.String(\"www.demo.com\"),\n\t\t\tEdition: pulumi.String(\"sparta-waf\"),\n\t\t\tInstanceId: pulumi.String(\"waf_2kxtlbky00b3b4qz\"),\n\t\t\tItems: waf.IpAccessControlItemArray{\n\t\t\t\t\u0026waf.IpAccessControlItemArgs{\n\t\t\t\t\tAction: pulumi.Int(40),\n\t\t\t\t\tIp: pulumi.String(\"1.1.1.1\"),\n\t\t\t\t\tNote: pulumi.String(\"desc info.\"),\n\t\t\t\t\tValidTs: pulumi.Int(2019571199),\n\t\t\t\t},\n\t\t\t\t\u0026waf.IpAccessControlItemArgs{\n\t\t\t\t\tAction: pulumi.Int(42),\n\t\t\t\t\tIp: pulumi.String(\"2.2.2.2\"),\n\t\t\t\t\tNote: pulumi.String(\"desc info.\"),\n\t\t\t\t\tValidTs: pulumi.Int(2019571199),\n\t\t\t\t},\n\t\t\t\t\u0026waf.IpAccessControlItemArgs{\n\t\t\t\t\tAction: pulumi.Int(40),\n\t\t\t\t\tIp: pulumi.String(\"3.3.3.3\"),\n\t\t\t\t\tNote: pulumi.String(\"desc info.\"),\n\t\t\t\t\tValidTs: pulumi.Int(1680570420),\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.Waf.IpAccessControl;\nimport com.pulumi.tencentcloud.Waf.IpAccessControlArgs;\nimport com.pulumi.tencentcloud.Waf.inputs.IpAccessControlItemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 IpAccessControl(\"example\", IpAccessControlArgs.builder() \n .domain(\"www.demo.com\")\n .edition(\"sparta-waf\")\n .instanceId(\"waf_2kxtlbky00b3b4qz\")\n .items( \n IpAccessControlItemArgs.builder()\n .action(40)\n .ip(\"1.1.1.1\")\n .note(\"desc info.\")\n .validTs(\"2019571199\")\n .build(),\n IpAccessControlItemArgs.builder()\n .action(42)\n .ip(\"2.2.2.2\")\n .note(\"desc info.\")\n .validTs(\"2019571199\")\n .build(),\n IpAccessControlItemArgs.builder()\n .action(40)\n .ip(\"3.3.3.3\")\n .note(\"desc info.\")\n .validTs(\"1680570420\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Waf:IpAccessControl\n properties:\n domain: www.demo.com\n edition: sparta-waf\n instanceId: waf_2kxtlbky00b3b4qz\n items:\n - action: 40\n ip: 1.1.1.1\n note: desc info.\n validTs: '2019571199'\n - action: 42\n ip: 2.2.2.2\n note: desc info.\n validTs: '2019571199'\n - action: 40\n ip: 3.3.3.3\n note: desc info.\n validTs: '1680570420'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nwaf ip_access_control can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Waf/ipAccessControl:IpAccessControl example waf_2kxtlbky00b3b4qz#www.demo.com#sparta-waf\n```\n\n", "properties": { "domain": { "type": "string", @@ -224793,50 +237194,127 @@ "type": "object" } }, - "tencentcloud:Waf/modifyAccessPeriod:ModifyAccessPeriod": { - "description": "Provides a resource to create a waf modify_access_period\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.waf.ModifyAccessPeriod(\"example\", {\n period: 30,\n topicId: \"1ae37c76-df99-4e2b-998c-20f39eba6226\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.waf.ModifyAccessPeriod(\"example\",\n period=30,\n topic_id=\"1ae37c76-df99-4e2b-998c-20f39eba6226\")\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.Waf.ModifyAccessPeriod(\"example\", new()\n {\n Period = 30,\n TopicId = \"1ae37c76-df99-4e2b-998c-20f39eba6226\",\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/Waf\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Waf.NewModifyAccessPeriod(ctx, \"example\", \u0026Waf.ModifyAccessPeriodArgs{\n\t\t\tPeriod: pulumi.Int(30),\n\t\t\tTopicId: pulumi.String(\"1ae37c76-df99-4e2b-998c-20f39eba6226\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Waf.ModifyAccessPeriod;\nimport com.pulumi.tencentcloud.Waf.ModifyAccessPeriodArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ModifyAccessPeriod(\"example\", ModifyAccessPeriodArgs.builder() \n .period(30)\n .topicId(\"1ae37c76-df99-4e2b-998c-20f39eba6226\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Waf:ModifyAccessPeriod\n properties:\n period: 30\n topicId: 1ae37c76-df99-4e2b-998c-20f39eba6226\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "tencentcloud:Waf/ipAccessControlV2:IpAccessControlV2": { + "description": "Provides a resource to create a waf ip access control v2\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.waf.IpAccessControlV2(\"example\", {\n actionType: 40,\n domain: \"example.com\",\n instanceId: \"waf_2kxtlbky11bbcr4b\",\n ipLists: [\n \"10.0.0.10\",\n \"172.0.0.16\",\n \"192.168.0.30\",\n ],\n jobDateTime: {\n timeTZone: \"UTC+8\",\n timeds: [{\n endDateTime: 0,\n startDateTime: 0,\n }],\n },\n jobType: \"TimedJob\",\n note: \"note.\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.waf.IpAccessControlV2(\"example\",\n action_type=40,\n domain=\"example.com\",\n instance_id=\"waf_2kxtlbky11bbcr4b\",\n ip_lists=[\n \"10.0.0.10\",\n \"172.0.0.16\",\n \"192.168.0.30\",\n ],\n job_date_time=tencentcloud.waf.IpAccessControlV2JobDateTimeArgs(\n time_t_zone=\"UTC+8\",\n timeds=[tencentcloud.waf.IpAccessControlV2JobDateTimeTimedArgs(\n end_date_time=0,\n start_date_time=0,\n )],\n ),\n job_type=\"TimedJob\",\n note=\"note.\")\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.Waf.IpAccessControlV2(\"example\", new()\n {\n ActionType = 40,\n Domain = \"example.com\",\n InstanceId = \"waf_2kxtlbky11bbcr4b\",\n IpLists = new[]\n {\n \"10.0.0.10\",\n \"172.0.0.16\",\n \"192.168.0.30\",\n },\n JobDateTime = new Tencentcloud.Waf.Inputs.IpAccessControlV2JobDateTimeArgs\n {\n TimeTZone = \"UTC+8\",\n Timeds = new[]\n {\n new Tencentcloud.Waf.Inputs.IpAccessControlV2JobDateTimeTimedArgs\n {\n EndDateTime = 0,\n StartDateTime = 0,\n },\n },\n },\n JobType = \"TimedJob\",\n Note = \"note.\",\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/Waf\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Waf.NewIpAccessControlV2(ctx, \"example\", \u0026Waf.IpAccessControlV2Args{\n\t\t\tActionType: pulumi.Int(40),\n\t\t\tDomain: pulumi.String(\"example.com\"),\n\t\t\tInstanceId: pulumi.String(\"waf_2kxtlbky11bbcr4b\"),\n\t\t\tIpLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.10\"),\n\t\t\t\tpulumi.String(\"172.0.0.16\"),\n\t\t\t\tpulumi.String(\"192.168.0.30\"),\n\t\t\t},\n\t\t\tJobDateTime: \u0026waf.IpAccessControlV2JobDateTimeArgs{\n\t\t\t\tTimeTZone: pulumi.String(\"UTC+8\"),\n\t\t\t\tTimeds: waf.IpAccessControlV2JobDateTimeTimedArray{\n\t\t\t\t\t\u0026waf.IpAccessControlV2JobDateTimeTimedArgs{\n\t\t\t\t\t\tEndDateTime: pulumi.Int(0),\n\t\t\t\t\t\tStartDateTime: pulumi.Int(0),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tJobType: pulumi.String(\"TimedJob\"),\n\t\t\tNote: pulumi.String(\"note.\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Waf.IpAccessControlV2;\nimport com.pulumi.tencentcloud.Waf.IpAccessControlV2Args;\nimport com.pulumi.tencentcloud.Waf.inputs.IpAccessControlV2JobDateTimeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 IpAccessControlV2(\"example\", IpAccessControlV2Args.builder() \n .actionType(40)\n .domain(\"example.com\")\n .instanceId(\"waf_2kxtlbky11bbcr4b\")\n .ipLists( \n \"10.0.0.10\",\n \"172.0.0.16\",\n \"192.168.0.30\")\n .jobDateTime(IpAccessControlV2JobDateTimeArgs.builder()\n .timeTZone(\"UTC+8\")\n .timeds(IpAccessControlV2JobDateTimeTimedArgs.builder()\n .endDateTime(0)\n .startDateTime(0)\n .build())\n .build())\n .jobType(\"TimedJob\")\n .note(\"note.\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Waf:IpAccessControlV2\n properties:\n actionType: 40\n domain: example.com\n instanceId: waf_2kxtlbky11bbcr4b\n ipLists:\n - 10.0.0.10\n - 172.0.0.16\n - 192.168.0.30\n jobDateTime:\n timeTZone: UTC+8\n timeds:\n - endDateTime: 0\n startDateTime: 0\n jobType: TimedJob\n note: note.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nwaf ip access control v2 can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Waf/ipAccessControlV2:IpAccessControlV2 example waf_2kxtlbky11bbcr4b#example.com#5503616778\n```\n\n", "properties": { - "period": { + "actionType": { "type": "integer", - "description": "Access log retention period, range is [1, 180].\n" + "description": "42: blocklist; 40: allowlist.\n" }, - "topicId": { + "domain": { + "type": "string", + "description": "Specific domain name, for example, test.qcloudwaf.com.\nGlobal domain name, that is, global.\n" + }, + "instanceId": { + "type": "string", + "description": "Instance ID.\n" + }, + "ipLists": { + "type": "array", + "items": { + "type": "string" + }, + "description": "IP parameter list.\n" + }, + "jobDateTime": { + "$ref": "#/types/tencentcloud:Waf/IpAccessControlV2JobDateTime:IpAccessControlV2JobDateTime", + "description": "Details of scheduled configuration.\n" + }, + "jobType": { "type": "string", - "description": "Log topic, new version does not need to be uploaded.\n" + "description": "Scheduled configuration type.\n" + }, + "note": { + "type": "string", + "description": "Remarks.\n" } }, "required": [ - "period", - "topicId" + "actionType", + "domain", + "instanceId", + "ipLists", + "jobDateTime", + "jobType" ], "inputProperties": { - "period": { + "actionType": { "type": "integer", - "description": "Access log retention period, range is [1, 180].\n", + "description": "42: blocklist; 40: allowlist.\n", "willReplaceOnChanges": true }, - "topicId": { + "domain": { + "type": "string", + "description": "Specific domain name, for example, test.qcloudwaf.com.\nGlobal domain name, that is, global.\n", + "willReplaceOnChanges": true + }, + "instanceId": { "type": "string", - "description": "Log topic, new version does not need to be uploaded.\n", + "description": "Instance ID.\n", "willReplaceOnChanges": true + }, + "ipLists": { + "type": "array", + "items": { + "type": "string" + }, + "description": "IP parameter list.\n" + }, + "jobDateTime": { + "$ref": "#/types/tencentcloud:Waf/IpAccessControlV2JobDateTime:IpAccessControlV2JobDateTime", + "description": "Details of scheduled configuration.\n" + }, + "jobType": { + "type": "string", + "description": "Scheduled configuration type.\n" + }, + "note": { + "type": "string", + "description": "Remarks.\n" } }, "requiredInputs": [ - "period", - "topicId" + "actionType", + "domain", + "instanceId", + "ipLists" ], "stateInputs": { - "description": "Input properties used for looking up and filtering ModifyAccessPeriod resources.\n", + "description": "Input properties used for looking up and filtering IpAccessControlV2 resources.\n", "properties": { - "period": { + "actionType": { "type": "integer", - "description": "Access log retention period, range is [1, 180].\n", + "description": "42: blocklist; 40: allowlist.\n", "willReplaceOnChanges": true }, - "topicId": { + "domain": { "type": "string", - "description": "Log topic, new version does not need to be uploaded.\n", + "description": "Specific domain name, for example, test.qcloudwaf.com.\nGlobal domain name, that is, global.\n", "willReplaceOnChanges": true + }, + "instanceId": { + "type": "string", + "description": "Instance ID.\n", + "willReplaceOnChanges": true + }, + "ipLists": { + "type": "array", + "items": { + "type": "string" + }, + "description": "IP parameter list.\n" + }, + "jobDateTime": { + "$ref": "#/types/tencentcloud:Waf/IpAccessControlV2JobDateTime:IpAccessControlV2JobDateTime", + "description": "Details of scheduled configuration.\n" + }, + "jobType": { + "type": "string", + "description": "Scheduled configuration type.\n" + }, + "note": { + "type": "string", + "description": "Remarks.\n" } }, "type": "object" @@ -229967,6 +242445,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": { @@ -230949,6 +243516,52 @@ "type": "object" } }, + "tencentcloud:Cam/getRoleDetail:getRoleDetail": { + "inputs": { + "description": "A collection of arguments for invoking getRoleDetail.\n", + "properties": { + "resultOutputFile": { + "type": "string" + }, + "roleId": { + "type": "string" + }, + "roleName": { + "type": "string" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getRoleDetail.\n", + "properties": { + "id": { + "description": "The provider-assigned unique ID for this managed resource.\n", + "type": "string" + }, + "resultOutputFile": { + "type": "string" + }, + "roleId": { + "type": "string" + }, + "roleInfos": { + "items": { + "$ref": "#/types/tencentcloud:Cam/getRoleDetailRoleInfo:getRoleDetailRoleInfo" + }, + "type": "array" + }, + "roleName": { + "type": "string" + } + }, + "required": [ + "roleInfos", + "id" + ], + "type": "object" + } + }, "tencentcloud:Cam/getRolePolicyAttachments:getRolePolicyAttachments": { "description": "Use this data source to query detailed information of CAM role policy attachments\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 = tencentcloud.Cam.getRolePolicyAttachments({\n roleId: tencentcloud_cam_role.foo.id,\n});\nconst bar = tencentcloud.Cam.getRolePolicyAttachments({\n roleId: tencentcloud_cam_role.foo.id,\n policyId: tencentcloud_cam_policy.foo.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nfoo = tencentcloud.Cam.get_role_policy_attachments(role_id=tencentcloud_cam_role[\"foo\"][\"id\"])\nbar = tencentcloud.Cam.get_role_policy_attachments(role_id=tencentcloud_cam_role[\"foo\"][\"id\"],\n policy_id=tencentcloud_cam_policy[\"foo\"][\"id\"])\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 foo = Tencentcloud.Cam.GetRolePolicyAttachments.Invoke(new()\n {\n RoleId = tencentcloud_cam_role.Foo.Id,\n });\n\n var bar = Tencentcloud.Cam.GetRolePolicyAttachments.Invoke(new()\n {\n RoleId = tencentcloud_cam_role.Foo.Id,\n PolicyId = tencentcloud_cam_policy.Foo.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/Cam\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cam.GetRolePolicyAttachments(ctx, \u0026cam.GetRolePolicyAttachmentsArgs{\n\t\t\tRoleId: tencentcloud_cam_role.Foo.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Cam.GetRolePolicyAttachments(ctx, \u0026cam.GetRolePolicyAttachmentsArgs{\n\t\t\tRoleId: tencentcloud_cam_role.Foo.Id,\n\t\t\tPolicyId: pulumi.StringRef(tencentcloud_cam_policy.Foo.Id),\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.Cam.CamFunctions;\nimport com.pulumi.tencentcloud.Cam.inputs.GetRolePolicyAttachmentsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = CamFunctions.getRolePolicyAttachments(GetRolePolicyAttachmentsArgs.builder()\n .roleId(tencentcloud_cam_role.foo().id())\n .build());\n\n final var bar = CamFunctions.getRolePolicyAttachments(GetRolePolicyAttachmentsArgs.builder()\n .roleId(tencentcloud_cam_role.foo().id())\n .policyId(tencentcloud_cam_policy.foo().id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: tencentcloud:Cam:getRolePolicyAttachments\n Arguments:\n roleId: ${tencentcloud_cam_role.foo.id}\n bar:\n fn::invoke:\n Function: tencentcloud:Cam:getRolePolicyAttachments\n Arguments:\n roleId: ${tencentcloud_cam_role.foo.id}\n policyId: ${tencentcloud_cam_policy.foo.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { @@ -231193,6 +243806,61 @@ "type": "object" } }, + "tencentcloud:Cam/getSubAccounts:getSubAccounts": { + "inputs": { + "description": "A collection of arguments for invoking getSubAccounts.\n", + "properties": { + "filterSubAccountUins": { + "type": "array", + "items": { + "type": "integer" + } + }, + "resultOutputFile": { + "type": "string" + } + }, + "type": "object", + "required": [ + "filterSubAccountUins" + ] + }, + "outputs": { + "description": "A collection of values returned by getSubAccounts.\n", + "properties": { + "filterSubAccountUins": { + "items": { + "type": "integer" + }, + "type": "array" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.\n", + "type": "string" + }, + "resultOutputFile": { + "type": "string" + }, + "subAccounts": { + "items": { + "$ref": "#/types/tencentcloud:Cam/getSubAccountsSubAccount:getSubAccountsSubAccount" + }, + "language": { + "csharp": { + "name": "CamSubAccounts" + } + }, + "type": "array" + } + }, + "required": [ + "filterSubAccountUins", + "subAccounts", + "id" + ], + "type": "object" + } + }, "tencentcloud:Cam/getUserPolicyAttachments:getUserPolicyAttachments": { "description": "Use this data source to query detailed information of CAM user policy attachments\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 = tencentcloud.Cam.getUserPolicyAttachments({\n userId: tencentcloud_cam_user.foo.id,\n});\nconst bar = tencentcloud.Cam.getUserPolicyAttachments({\n userId: tencentcloud_cam_user.foo.id,\n policyId: tencentcloud_cam_policy.foo.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nfoo = tencentcloud.Cam.get_user_policy_attachments(user_id=tencentcloud_cam_user[\"foo\"][\"id\"])\nbar = tencentcloud.Cam.get_user_policy_attachments(user_id=tencentcloud_cam_user[\"foo\"][\"id\"],\n policy_id=tencentcloud_cam_policy[\"foo\"][\"id\"])\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 foo = Tencentcloud.Cam.GetUserPolicyAttachments.Invoke(new()\n {\n UserId = tencentcloud_cam_user.Foo.Id,\n });\n\n var bar = Tencentcloud.Cam.GetUserPolicyAttachments.Invoke(new()\n {\n UserId = tencentcloud_cam_user.Foo.Id,\n PolicyId = tencentcloud_cam_policy.Foo.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/Cam\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cam.GetUserPolicyAttachments(ctx, \u0026cam.GetUserPolicyAttachmentsArgs{\n\t\t\tUserId: pulumi.StringRef(tencentcloud_cam_user.Foo.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Cam.GetUserPolicyAttachments(ctx, \u0026cam.GetUserPolicyAttachmentsArgs{\n\t\t\tUserId: pulumi.StringRef(tencentcloud_cam_user.Foo.Id),\n\t\t\tPolicyId: pulumi.StringRef(tencentcloud_cam_policy.Foo.Id),\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.Cam.CamFunctions;\nimport com.pulumi.tencentcloud.Cam.inputs.GetUserPolicyAttachmentsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = CamFunctions.getUserPolicyAttachments(GetUserPolicyAttachmentsArgs.builder()\n .userId(tencentcloud_cam_user.foo().id())\n .build());\n\n final var bar = CamFunctions.getUserPolicyAttachments(GetUserPolicyAttachmentsArgs.builder()\n .userId(tencentcloud_cam_user.foo().id())\n .policyId(tencentcloud_cam_policy.foo().id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: tencentcloud:Cam:getUserPolicyAttachments\n Arguments:\n userId: ${tencentcloud_cam_user.foo.id}\n bar:\n fn::invoke:\n Function: tencentcloud:Cam:getUserPolicyAttachments\n Arguments:\n userId: ${tencentcloud_cam_user.foo.id}\n policyId: ${tencentcloud_cam_policy.foo.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { @@ -231871,7 +244539,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 +244552,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 +244638,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 +244718,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 +244731,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 +244817,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 +245290,131 @@ "type": "object" } }, + "tencentcloud:Ccn/getRouteTableInputPolicies:getRouteTableInputPolicies": { + "description": "Use this data source to query CCN route table input policies.\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.Ccn.getRouteTableInputPolicies({\n ccnId: \"ccn-06jek8tf\",\n routeTableId: \"ccnrtb-4jv5ltb9\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nexample = tencentcloud.Ccn.get_route_table_input_policies(ccn_id=\"ccn-06jek8tf\",\n route_table_id=\"ccnrtb-4jv5ltb9\")\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.Ccn.GetRouteTableInputPolicies.Invoke(new()\n {\n CcnId = \"ccn-06jek8tf\",\n RouteTableId = \"ccnrtb-4jv5ltb9\",\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.GetRouteTableInputPolicies(ctx, \u0026ccn.GetRouteTableInputPoliciesArgs{\n\t\t\tCcnId: \"ccn-06jek8tf\",\n\t\t\tRouteTableId: \"ccnrtb-4jv5ltb9\",\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.GetRouteTableInputPoliciesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = CcnFunctions.getRouteTableInputPolicies(GetRouteTableInputPoliciesArgs.builder()\n .ccnId(\"ccn-06jek8tf\")\n .routeTableId(\"ccnrtb-4jv5ltb9\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: tencentcloud:Ccn:getRouteTableInputPolicies\n Arguments:\n ccnId: ccn-06jek8tf\n routeTableId: ccnrtb-4jv5ltb9\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getRouteTableInputPolicies.\n", + "properties": { + "ccnId": { + "type": "string", + "description": "CCN Instance ID.\n" + }, + "policyVersion": { + "type": "integer", + "description": "Policy version.\n" + }, + "resultOutputFile": { + "type": "string", + "description": "Used to save results.\n" + }, + "routeTableId": { + "type": "string", + "description": "CCN Route table ID.\n" + } + }, + "type": "object", + "required": [ + "ccnId", + "routeTableId" + ] + }, + "outputs": { + "description": "A collection of values returned by getRouteTableInputPolicies.\n", + "properties": { + "ccnId": { + "type": "string" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.\n", + "type": "string" + }, + "policySets": { + "description": "Policy set.\n", + "items": { + "$ref": "#/types/tencentcloud:Ccn/getRouteTableInputPoliciesPolicySet:getRouteTableInputPoliciesPolicySet" + }, + "type": "array" + }, + "policyVersion": { + "type": "integer" + }, + "resultOutputFile": { + "type": "string" + }, + "routeTableId": { + "type": "string" + } + }, + "required": [ + "ccnId", + "policySets", + "routeTableId", + "id" + ], + "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 +245483,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 +245903,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 +249120,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 +249346,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 +249410,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": { @@ -247701,7 +260789,7 @@ "description": "A collection of values returned by getInstance.\n", "properties": { "description": { - "description": "Description of the IP.\n", + "description": "Message description.\n", "type": "string" }, "enis": { @@ -248569,6 +261657,10 @@ "inputs": { "description": "A collection of arguments for invoking getLayer7Listeners.\n", "properties": { + "groupId": { + "type": "string", + "description": "Group id.\n" + }, "listenerId": { "type": "string", "description": "ID of the layer7 listener to be queried.\n" @@ -248602,6 +261694,9 @@ "outputs": { "description": "A collection of values returned by getLayer7Listeners.\n", "properties": { + "groupId": { + "type": "string" + }, "id": { "description": "The provider-assigned unique ID for this managed resource.\n", "type": "string" @@ -249222,7 +262317,7 @@ "items": { "type": "string" }, - "description": "Metric Names. Valid values: InBandwidth,OutBandwidth, Concurrent, InPackets, OutPackets, PacketLoss, Latency, HttpQPS, HttpsQPS.\n" + "description": "Metric Names. Valid values: InBandwidth,OutBandwidth, Concurrent, InPackets, OutPackets, PacketLoss, Latency, HttpQPS, HttpsQPS, HttpQPSPercent, HttpsQPSPercent.\n" }, "proxyId": { "type": "string", @@ -249898,6 +262993,314 @@ "type": "object" } }, + "tencentcloud:Identity/getCenterGroups:getCenterGroups": { + "description": "Use this data source to query detailed information of identity center 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 identityCenterGroups = tencentcloud.Identity.getCenterGroups({\n zoneId: \"z-xxxxxx\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nidentity_center_groups = tencentcloud.Identity.get_center_groups(zone_id=\"z-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 identityCenterGroups = Tencentcloud.Identity.GetCenterGroups.Invoke(new()\n {\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.GetCenterGroups(ctx, \u0026identity.GetCenterGroupsArgs{\n\t\t\tZoneId: \"z-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.Identity.IdentityFunctions;\nimport com.pulumi.tencentcloud.Identity.inputs.GetCenterGroupsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 identityCenterGroups = IdentityFunctions.getCenterGroups(GetCenterGroupsArgs.builder()\n .zoneId(\"z-xxxxxx\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n identityCenterGroups:\n fn::invoke:\n Function: tencentcloud:Identity:getCenterGroups\n Arguments:\n zoneId: z-xxxxxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getCenterGroups.\n", + "properties": { + "filter": { + "type": "string", + "description": "Filter criterion. Format: \u003cAttribute\u003e \u003cOperator\u003e \u003cValue\u003e, case-insensitive. Currently, \u003cAttribute\u003e supports only GroupName, and \u003cOperator\u003e supports only eq (Equals) and sw (Start With). For example, Filter = \"GroupName sw test\" indicates querying all user groups with names starting with test; Filter = \"GroupName eq testgroup\" indicates querying the user group with the name testgroup.\n" + }, + "filterUsers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Filtered user. IsSelected=1 will be returned for the user group associated with this user.\n" + }, + "groupType": { + "type": "string", + "description": "User group type. Manual: manually created; Synchronized: externally imported.\n" + }, + "resultOutputFile": { + "type": "string", + "description": "Used to save results.\n" + }, + "sortField": { + "type": "string", + "description": "Sorting field, which currently only supports CreateTime. The default is the CreateTime field.\n" + }, + "sortType": { + "type": "string", + "description": "Sorting type. Desc: descending order; Asc: ascending order. It should be set along with SortField.\n" + }, + "zoneId": { + "type": "string", + "description": "Space ID.\n" + } + }, + "type": "object", + "required": [ + "zoneId" + ] + }, + "outputs": { + "description": "A collection of values returned by getCenterGroups.\n", + "properties": { + "filter": { + "type": "string" + }, + "filterUsers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "groupType": { + "type": "string" + }, + "groups": { + "description": "User group list.\n", + "items": { + "$ref": "#/types/tencentcloud:Identity/getCenterGroupsGroup:getCenterGroupsGroup" + }, + "type": "array" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.\n", + "type": "string" + }, + "resultOutputFile": { + "type": "string" + }, + "sortField": { + "type": "string" + }, + "sortType": { + "type": "string" + }, + "zoneId": { + "type": "string" + } + }, + "required": [ + "groups", + "zoneId", + "id" + ], + "type": "object" + } + }, + "tencentcloud:Identity/getCenterRoleConfigurations:getCenterRoleConfigurations": { + "description": "Use this data source to query detailed information of identity center role configurations\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 identityCenterRoleConfigurations = tencentcloud.Identity.getCenterRoleConfigurations({\n zoneId: \"z-xxxxxx\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nidentity_center_role_configurations = tencentcloud.Identity.get_center_role_configurations(zone_id=\"z-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 identityCenterRoleConfigurations = Tencentcloud.Identity.GetCenterRoleConfigurations.Invoke(new()\n {\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.GetCenterRoleConfigurations(ctx, \u0026identity.GetCenterRoleConfigurationsArgs{\n\t\t\tZoneId: \"z-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.Identity.IdentityFunctions;\nimport com.pulumi.tencentcloud.Identity.inputs.GetCenterRoleConfigurationsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 identityCenterRoleConfigurations = IdentityFunctions.getCenterRoleConfigurations(GetCenterRoleConfigurationsArgs.builder()\n .zoneId(\"z-xxxxxx\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n identityCenterRoleConfigurations:\n fn::invoke:\n Function: tencentcloud:Identity:getCenterRoleConfigurations\n Arguments:\n zoneId: z-xxxxxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getCenterRoleConfigurations.\n", + "properties": { + "filter": { + "type": "string", + "description": "Filter criteria, which are case insensitive. Currently, only RoleConfigurationName is supported and only eq (Equals) and sw (Start With) are supported. Example: Filter = \"RoleConfigurationName, only sw test\" means querying all permission configurations starting with test. Filter = \"RoleConfigurationName, only eq TestRoleConfiguration\" means querying the permission configuration named TestRoleConfiguration.\n" + }, + "filterTargets": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "Check whether the member account has been configured with permissions. If configured, return IsSelected: true; otherwise, return false.\n" + }, + "principalId": { + "type": "string", + "description": "UserId of the authorized user or GroupId of the authorized user group, which must be set together with the input parameter FilterTargets.\n" + }, + "resultOutputFile": { + "type": "string", + "description": "Used to save results.\n" + }, + "zoneId": { + "type": "string", + "description": "Space ID.\n" + } + }, + "type": "object", + "required": [ + "zoneId" + ] + }, + "outputs": { + "description": "A collection of values returned by getCenterRoleConfigurations.\n", + "properties": { + "filter": { + "type": "string" + }, + "filterTargets": { + "items": { + "type": "integer" + }, + "type": "array" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.\n", + "type": "string" + }, + "principalId": { + "type": "string" + }, + "resultOutputFile": { + "type": "string" + }, + "roleConfigurations": { + "description": "Permission configuration list.\n", + "items": { + "$ref": "#/types/tencentcloud:Identity/getCenterRoleConfigurationsRoleConfiguration:getCenterRoleConfigurationsRoleConfiguration" + }, + "type": "array" + }, + "zoneId": { + "type": "string" + } + }, + "required": [ + "roleConfigurations", + "zoneId", + "id" + ], + "type": "object" + } + }, + "tencentcloud:Identity/getCenterUsers:getCenterUsers": { + "description": "Use this data source to query detailed information of identity center users\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 identityCenterUsers = tencentcloud.Identity.getCenterUsers({\n zoneId: \"z-xxxxxx\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nidentity_center_users = tencentcloud.Identity.get_center_users(zone_id=\"z-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 identityCenterUsers = Tencentcloud.Identity.GetCenterUsers.Invoke(new()\n {\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.GetCenterUsers(ctx, \u0026identity.GetCenterUsersArgs{\n\t\t\tZoneId: \"z-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.Identity.IdentityFunctions;\nimport com.pulumi.tencentcloud.Identity.inputs.GetCenterUsersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 identityCenterUsers = IdentityFunctions.getCenterUsers(GetCenterUsersArgs.builder()\n .zoneId(\"z-xxxxxx\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n identityCenterUsers:\n fn::invoke:\n Function: tencentcloud:Identity:getCenterUsers\n Arguments:\n zoneId: z-xxxxxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getCenterUsers.\n", + "properties": { + "filter": { + "type": "string", + "description": "Filter criterion, which currently only supports username, email address, userId, and description.\n" + }, + "filterGroups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Filtered user group. IsSelected=1 will be returned for the sub-user associated with this user group.\n" + }, + "resultOutputFile": { + "type": "string", + "description": "Used to save results.\n" + }, + "sortField": { + "type": "string", + "description": "Sorting field, which currently only supports CreateTime. The default is the CreateTime field.\n" + }, + "sortType": { + "type": "string", + "description": "Sorting type. Desc: descending order; Asc: ascending order. It should be set along with SortField.\n" + }, + "userStatus": { + "type": "string", + "description": "User status: Enabled, Disabled.\n" + }, + "userType": { + "type": "string", + "description": "User type. Manual: manually created; Synchronized: externally imported.\n" + }, + "zoneId": { + "type": "string", + "description": "Space ID.\n" + } + }, + "type": "object", + "required": [ + "zoneId" + ] + }, + "outputs": { + "description": "A collection of values returned by getCenterUsers.\n", + "properties": { + "filter": { + "type": "string" + }, + "filterGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.\n", + "type": "string" + }, + "resultOutputFile": { + "type": "string" + }, + "sortField": { + "type": "string" + }, + "sortType": { + "type": "string" + }, + "userStatus": { + "type": "string" + }, + "userType": { + "type": "string" + }, + "users": { + "description": "User list.\n", + "items": { + "$ref": "#/types/tencentcloud:Identity/getCenterUsersUser:getCenterUsersUser" + }, + "type": "array" + }, + "zoneId": { + "type": "string" + } + }, + "required": [ + "users", + "zoneId", + "id" + ], + "type": "object" + } + }, + "tencentcloud:Image/getFromFamily:getFromFamily": { + "description": "Provides query image from family.\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.Image.getFromFamily({\n imageFamily: \"business-daily-update\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nexample = tencentcloud.Image.get_from_family(image_family=\"business-daily-update\")\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.Image.GetFromFamily.Invoke(new()\n {\n ImageFamily = \"business-daily-update\",\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.GetFromFamily(ctx, \u0026image.GetFromFamilyArgs{\n\t\t\tImageFamily: \"business-daily-update\",\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.Image.ImageFunctions;\nimport com.pulumi.tencentcloud.Image.inputs.GetFromFamilyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = ImageFunctions.getFromFamily(GetFromFamilyArgs.builder()\n .imageFamily(\"business-daily-update\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: tencentcloud:Image:getFromFamily\n Arguments:\n imageFamily: business-daily-update\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getFromFamily.\n", + "properties": { + "imageFamily": { + "type": "string", + "description": "Image family name.\n" + }, + "resultOutputFile": { + "type": "string", + "description": "Used to save results.\n" + } + }, + "type": "object", + "required": [ + "imageFamily" + ] + }, + "outputs": { + "description": "A collection of values returned by getFromFamily.\n", + "properties": { + "id": { + "description": "The provider-assigned unique ID for this managed resource.\n", + "type": "string" + }, + "imageFamily": { + "type": "string" + }, + "images": { + "description": "Information of Image.\n", + "items": { + "$ref": "#/types/tencentcloud:Image/getFromFamilyImage:getFromFamilyImage" + }, + "type": "array" + }, + "resultOutputFile": { + "type": "string" + } + }, + "required": [ + "images", + "imageFamily", + "id" + ], + "type": "object" + } + }, "tencentcloud:Image/getInstance:getInstance": { "description": "Provides an available image for the user.\n\nThe Images data source fetch proper image, which could be one of the private images of the user and images of system\nresources provided by TencentCloud, as well as other public images and those available on the image market.\n\n\u003e **NOTE:** This data source will be deprecated, please use `tencentcloud.Images.getInstance` instead.\n\n## Example Usage\n\n### Query image\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.Image.getInstance({});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nexample = tencentcloud.Image.get_instance()\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.Image.GetInstance.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/Image\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Image.GetInstance(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.Image.ImageFunctions;\nimport com.pulumi.tencentcloud.Image.inputs.GetInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = ImageFunctions.getInstance();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: tencentcloud:Image:getInstance\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Query image 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.Image.getInstance({\n filters: [{\n name: \"image-type\",\n values: [\"PUBLIC_IMAGE\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nexample = tencentcloud.Image.get_instance(filters=[tencentcloud.image.GetInstanceFilterArgs(\n name=\"image-type\",\n values=[\"PUBLIC_IMAGE\"],\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.Image.GetInstance.Invoke(new()\n {\n Filters = new[]\n {\n new Tencentcloud.Image.Inputs.GetInstanceFilterInputArgs\n {\n Name = \"image-type\",\n Values = new[]\n {\n \"PUBLIC_IMAGE\",\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/Image\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Image.GetInstance(ctx, \u0026image.GetInstanceArgs{\n\t\t\tFilters: []image.GetInstanceFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"image-type\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"PUBLIC_IMAGE\",\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.Image.ImageFunctions;\nimport com.pulumi.tencentcloud.Image.inputs.GetInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = ImageFunctions.getInstance(GetInstanceArgs.builder()\n .filters(GetInstanceFilterArgs.builder()\n .name(\"image-type\")\n .values(\"PUBLIC_IMAGE\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: tencentcloud:Image:getInstance\n Arguments:\n filters:\n - name: image-type\n values:\n - PUBLIC_IMAGE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Query image by os name\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.Image.getInstance({\n osName: \"centos\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nexample = tencentcloud.Image.get_instance(os_name=\"centos\")\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.Image.GetInstance.Invoke(new()\n {\n OsName = \"centos\",\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.GetInstance(ctx, \u0026image.GetInstanceArgs{\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\treturn nil\n\t})\n}\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.ImageFunctions;\nimport com.pulumi.tencentcloud.Image.inputs.GetInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = ImageFunctions.getInstance(GetInstanceArgs.builder()\n .osName(\"centos\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: tencentcloud:Image:getInstance\n Arguments:\n osName: centos\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Query image by image name regex\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.Image.getInstance({\n imageNameRegex: \"^Windows\\\\s.*$\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nexample = tencentcloud.Image.get_instance(image_name_regex=\"^Windows\\\\s.*$\")\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.Image.GetInstance.Invoke(new()\n {\n ImageNameRegex = \"^Windows\\\\s.*$\",\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.GetInstance(ctx, \u0026image.GetInstanceArgs{\n\t\t\tImageNameRegex: pulumi.StringRef(\"^Windows\\\\s.*$\"),\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.Image.ImageFunctions;\nimport com.pulumi.tencentcloud.Image.inputs.GetInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = ImageFunctions.getInstance(GetInstanceArgs.builder()\n .imageNameRegex(\"^Windows\\\\s.*$\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: tencentcloud:Image:getInstance\n Arguments:\n imageNameRegex: ^Windows\\s.*$\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { @@ -250143,6 +263546,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 +263598,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" @@ -251120,7 +264531,7 @@ } }, "tencentcloud:Kubernetes/getClusterCommonNames:getClusterCommonNames": { - "description": "Provide a datasource to query cluster CommonNames.\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 = tencentcloud.Kubernetes.getClusterCommonNames({\n clusterId: \"cls-12345678\",\n subaccountUins: [\n \"1234567890\",\n \"0987654321\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nfoo = tencentcloud.Kubernetes.get_cluster_common_names(cluster_id=\"cls-12345678\",\n subaccount_uins=[\n \"1234567890\",\n \"0987654321\",\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 foo = Tencentcloud.Kubernetes.GetClusterCommonNames.Invoke(new()\n {\n ClusterId = \"cls-12345678\",\n SubaccountUins = new[]\n {\n \"1234567890\",\n \"0987654321\",\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.GetClusterCommonNames(ctx, \u0026kubernetes.GetClusterCommonNamesArgs{\n\t\t\tClusterId: pulumi.StringRef(\"cls-12345678\"),\n\t\t\tSubaccountUins: []string{\n\t\t\t\t\"1234567890\",\n\t\t\t\t\"0987654321\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Kubernetes.KubernetesFunctions;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.GetClusterCommonNamesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = KubernetesFunctions.getClusterCommonNames(GetClusterCommonNamesArgs.builder()\n .clusterId(\"cls-12345678\")\n .subaccountUins( \n \"1234567890\",\n \"0987654321\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n foo:\n fn::invoke:\n Function: tencentcloud:Kubernetes:getClusterCommonNames\n Arguments:\n clusterId: cls-12345678\n subaccountUins:\n - '1234567890'\n - '0987654321'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provide a datasource to query cluster CommonNames.\n\n## Example Usage\n\n### Query common names by subaccount uins\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.Kubernetes.getClusterCommonNames({\n clusterId: \"cls-fdy7hm1q\",\n subaccountUins: [\n \"100037718139\",\n \"100031340176\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nexample = tencentcloud.Kubernetes.get_cluster_common_names(cluster_id=\"cls-fdy7hm1q\",\n subaccount_uins=[\n \"100037718139\",\n \"100031340176\",\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.Kubernetes.GetClusterCommonNames.Invoke(new()\n {\n ClusterId = \"cls-fdy7hm1q\",\n SubaccountUins = new[]\n {\n \"100037718139\",\n \"100031340176\",\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.GetClusterCommonNames(ctx, \u0026kubernetes.GetClusterCommonNamesArgs{\n\t\t\tClusterId: pulumi.StringRef(\"cls-fdy7hm1q\"),\n\t\t\tSubaccountUins: []string{\n\t\t\t\t\"100037718139\",\n\t\t\t\t\"100031340176\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Kubernetes.KubernetesFunctions;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.GetClusterCommonNamesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = KubernetesFunctions.getClusterCommonNames(GetClusterCommonNamesArgs.builder()\n .clusterId(\"cls-fdy7hm1q\")\n .subaccountUins( \n \"100037718139\",\n \"100031340176\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: tencentcloud:Kubernetes:getClusterCommonNames\n Arguments:\n clusterId: cls-fdy7hm1q\n subaccountUins:\n - '100037718139'\n - '100031340176'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Query common names by role ids\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.Kubernetes.getClusterCommonNames({\n clusterId: \"cls-fdy7hm1q\",\n roleIds: [\"4611686018441060141\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nexample = tencentcloud.Kubernetes.get_cluster_common_names(cluster_id=\"cls-fdy7hm1q\",\n role_ids=[\"4611686018441060141\"])\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.Kubernetes.GetClusterCommonNames.Invoke(new()\n {\n ClusterId = \"cls-fdy7hm1q\",\n RoleIds = new[]\n {\n \"4611686018441060141\",\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.GetClusterCommonNames(ctx, \u0026kubernetes.GetClusterCommonNamesArgs{\n\t\t\tClusterId: pulumi.StringRef(\"cls-fdy7hm1q\"),\n\t\t\tRoleIds: []string{\n\t\t\t\t\"4611686018441060141\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Kubernetes.KubernetesFunctions;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.GetClusterCommonNamesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = KubernetesFunctions.getClusterCommonNames(GetClusterCommonNamesArgs.builder()\n .clusterId(\"cls-fdy7hm1q\")\n .roleIds(\"4611686018441060141\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: tencentcloud:Kubernetes:getClusterCommonNames\n Arguments:\n clusterId: cls-fdy7hm1q\n roleIds:\n - '4611686018441060141'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getClusterCommonNames.\n", "properties": { @@ -252326,6 +265737,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 +269271,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": { @@ -259054,6 +272660,56 @@ "type": "object" } }, + "tencentcloud:Organization/getNodes:getNodes": { + "description": "Use this data source to query detailed information of organization nodes\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 organizationNodes = tencentcloud.Organization.getNodes({\n tags: [{\n tagKey: \"createBy\",\n tagValue: \"terraform\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\norganization_nodes = tencentcloud.Organization.get_nodes(tags=[tencentcloud.organization.GetNodesTagArgs(\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 organizationNodes = Tencentcloud.Organization.GetNodes.Invoke(new()\n {\n Tags = new[]\n {\n new Tencentcloud.Organization.Inputs.GetNodesTagInputArgs\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/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Organization\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Organization.GetNodes(ctx, \u0026organization.GetNodesArgs{\n\t\t\tTags: []organization.GetNodesTag{\n\t\t\t\t{\n\t\t\t\t\tTagKey: \"createBy\",\n\t\t\t\t\tTagValue: \"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.Organization.OrganizationFunctions;\nimport com.pulumi.tencentcloud.Organization.inputs.GetNodesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 organizationNodes = OrganizationFunctions.getNodes(GetNodesArgs.builder()\n .tags(GetNodesTagArgs.builder()\n .tagKey(\"createBy\")\n .tagValue(\"terraform\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n organizationNodes:\n fn::invoke:\n Function: tencentcloud:Organization:getNodes\n Arguments:\n tags:\n - tagKey: createBy\n tagValue: terraform\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getNodes.\n", + "properties": { + "resultOutputFile": { + "type": "string", + "description": "Used to save results.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Organization/getNodesTag:getNodesTag" + }, + "description": "Department tag search list, with a maximum of 10.\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getNodes.\n", + "properties": { + "id": { + "description": "The provider-assigned unique ID for this managed resource.\n", + "type": "string" + }, + "items": { + "description": "List details.\n", + "items": { + "$ref": "#/types/tencentcloud:Organization/getNodesItem:getNodesItem" + }, + "type": "array" + }, + "resultOutputFile": { + "type": "string" + }, + "tags": { + "items": { + "$ref": "#/types/tencentcloud:Organization/getNodesTag:getNodesTag" + }, + "type": "array" + } + }, + "required": [ + "items", + "id" + ], + "type": "object" + } + }, "tencentcloud:Organization/getOrgAuthNode:getOrgAuthNode": { "description": "Use this data source to query detailed information of organization org_auth_node\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 orgAuthNode = tencentcloud.Organization.getOrgAuthNode({});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\norg_auth_node = tencentcloud.Organization.get_org_auth_node()\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 orgAuthNode = Tencentcloud.Organization.GetOrgAuthNode.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.GetOrgAuthNode(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.GetOrgAuthNodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 orgAuthNode = OrganizationFunctions.getOrgAuthNode();\n\n }\n}\n```\n```yaml\nvariables:\n orgAuthNode:\n fn::invoke:\n Function: tencentcloud:Organization:getOrgAuthNode\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { @@ -259385,6 +273041,50 @@ "type": "object" } }, + "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 getServices.\n", + "properties": { + "resultOutputFile": { + "type": "string", + "description": "Used to save results.\n" + }, + "searchKey": { + "type": "string", + "description": "Keyword for search by name.\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getServices.\n", + "properties": { + "id": { + "description": "The provider-assigned unique ID for this managed resource.\n", + "type": "string" + }, + "items": { + "description": "Organization service list.\n", + "items": { + "$ref": "#/types/tencentcloud:Organization/getServicesItem:getServicesItem" + }, + "type": "array" + }, + "resultOutputFile": { + "type": "string" + }, + "searchKey": { + "type": "string" + } + }, + "required": [ + "items", + "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", "inputs": { @@ -259438,6 +273138,78 @@ "type": "object" } }, + "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 getAccountPrivileges.\n", + "properties": { + "databaseObjectSets": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Postgresql/getAccountPrivilegesDatabaseObjectSet:getAccountPrivilegesDatabaseObjectSet" + }, + "description": "Instance database object info.\n" + }, + "dbInstanceId": { + "type": "string", + "description": "Instance ID.\n" + }, + "resultOutputFile": { + "type": "string", + "description": "Used to save results.\n" + }, + "userName": { + "type": "string", + "description": "Instance username.\n" + } + }, + "type": "object", + "required": [ + "databaseObjectSets", + "dbInstanceId", + "userName" + ] + }, + "outputs": { + "description": "A collection of values returned by getAccountPrivileges.\n", + "properties": { + "databaseObjectSets": { + "items": { + "$ref": "#/types/tencentcloud:Postgresql/getAccountPrivilegesDatabaseObjectSet:getAccountPrivilegesDatabaseObjectSet" + }, + "type": "array" + }, + "dbInstanceId": { + "type": "string" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.\n", + "type": "string" + }, + "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:Postgresql/getAccountPrivilegesPrivilegeSet:getAccountPrivilegesPrivilegeSet" + }, + "type": "array" + }, + "resultOutputFile": { + "type": "string" + }, + "userName": { + "type": "string" + } + }, + "required": [ + "databaseObjectSets", + "dbInstanceId", + "privilegeSets", + "userName", + "id" + ], + "type": "object" + } + }, "tencentcloud:Postgresql/getBackupDownloadUrls:getBackupDownloadUrls": { "description": "Use this data source to query detailed information of postgresql backup_download_urls\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 logBackups = tencentcloud.Postgresql.getLogBackups({\n minFinishTime: \"%s\",\n maxFinishTime: \"%s\",\n filters: [{\n name: \"db-instance-id\",\n values: [local.pgsql_id],\n }],\n orderBy: \"StartTime\",\n orderByType: \"desc\",\n});\nconst backupDownloadUrls = logBackups.then(logBackups =\u003e tencentcloud.Postgresql.getBackupDownloadUrls({\n dbInstanceId: local.pgsql_id,\n backupType: \"LogBackup\",\n backupId: logBackups.logBackupSets?.[0]?.id,\n urlExpireTime: 12,\n backupDownloadRestriction: {\n restrictionType: \"NONE\",\n vpcRestrictionEffect: \"ALLOW\",\n vpcIdSets: [local.vpc_id],\n ipRestrictionEffect: \"ALLOW\",\n ipSets: [\"0.0.0.0\"],\n },\n}));\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nlog_backups = tencentcloud.Postgresql.get_log_backups(min_finish_time=\"%s\",\n max_finish_time=\"%s\",\n filters=[tencentcloud.postgresql.GetLogBackupsFilterArgs(\n name=\"db-instance-id\",\n values=[local[\"pgsql_id\"]],\n )],\n order_by=\"StartTime\",\n order_by_type=\"desc\")\nbackup_download_urls = tencentcloud.Postgresql.get_backup_download_urls(db_instance_id=local[\"pgsql_id\"],\n backup_type=\"LogBackup\",\n backup_id=log_backups.log_backup_sets[0].id,\n url_expire_time=12,\n backup_download_restriction=tencentcloud.postgresql.GetBackupDownloadUrlsBackupDownloadRestrictionArgs(\n restriction_type=\"NONE\",\n vpc_restriction_effect=\"ALLOW\",\n vpc_id_sets=[local[\"vpc_id\"]],\n ip_restriction_effect=\"ALLOW\",\n ip_sets=[\"0.0.0.0\"],\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 logBackups = Tencentcloud.Postgresql.GetLogBackups.Invoke(new()\n {\n MinFinishTime = \"%s\",\n MaxFinishTime = \"%s\",\n Filters = new[]\n {\n new Tencentcloud.Postgresql.Inputs.GetLogBackupsFilterInputArgs\n {\n Name = \"db-instance-id\",\n Values = new[]\n {\n local.Pgsql_id,\n },\n },\n },\n OrderBy = \"StartTime\",\n OrderByType = \"desc\",\n });\n\n var backupDownloadUrls = Tencentcloud.Postgresql.GetBackupDownloadUrls.Invoke(new()\n {\n DbInstanceId = local.Pgsql_id,\n BackupType = \"LogBackup\",\n BackupId = logBackups.Apply(getLogBackupsResult =\u003e getLogBackupsResult.LogBackupSets[0]?.Id),\n UrlExpireTime = 12,\n BackupDownloadRestriction = new Tencentcloud.Postgresql.Inputs.GetBackupDownloadUrlsBackupDownloadRestrictionInputArgs\n {\n RestrictionType = \"NONE\",\n VpcRestrictionEffect = \"ALLOW\",\n VpcIdSets = new[]\n {\n local.Vpc_id,\n },\n IpRestrictionEffect = \"ALLOW\",\n IpSets = new[]\n {\n \"0.0.0.0\",\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)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nlogBackups, err := Postgresql.GetLogBackups(ctx, \u0026postgresql.GetLogBackupsArgs{\nMinFinishTime: pulumi.StringRef(\"%s\"),\nMaxFinishTime: pulumi.StringRef(\"%s\"),\nFilters: []postgresql.GetLogBackupsFilter{\n{\nName: pulumi.StringRef(\"db-instance-id\"),\nValues: interface{}{\nlocal.Pgsql_id,\n},\n},\n},\nOrderBy: pulumi.StringRef(\"StartTime\"),\nOrderByType: pulumi.StringRef(\"desc\"),\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = Postgresql.GetBackupDownloadUrls(ctx, \u0026postgresql.GetBackupDownloadUrlsArgs{\nDbInstanceId: local.Pgsql_id,\nBackupType: \"LogBackup\",\nBackupId: logBackups.LogBackupSets[0].Id,\nUrlExpireTime: pulumi.IntRef(12),\nBackupDownloadRestriction: postgresql.GetBackupDownloadUrlsBackupDownloadRestriction{\nRestrictionType: pulumi.StringRef(\"NONE\"),\nVpcRestrictionEffect: pulumi.StringRef(\"ALLOW\"),\nVpcIdSets: interface{}{\nlocal.Vpc_id,\n},\nIpRestrictionEffect: pulumi.StringRef(\"ALLOW\"),\nIpSets: []string{\n\"0.0.0.0\",\n},\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.Postgresql.PostgresqlFunctions;\nimport com.pulumi.tencentcloud.Postgresql.inputs.GetLogBackupsArgs;\nimport com.pulumi.tencentcloud.Postgresql.inputs.GetBackupDownloadUrlsArgs;\nimport com.pulumi.tencentcloud.Postgresql.inputs.GetBackupDownloadUrlsBackupDownloadRestrictionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 logBackups = PostgresqlFunctions.getLogBackups(GetLogBackupsArgs.builder()\n .minFinishTime(\"%s\")\n .maxFinishTime(\"%s\")\n .filters(GetLogBackupsFilterArgs.builder()\n .name(\"db-instance-id\")\n .values(local.pgsql_id())\n .build())\n .orderBy(\"StartTime\")\n .orderByType(\"desc\")\n .build());\n\n final var backupDownloadUrls = PostgresqlFunctions.getBackupDownloadUrls(GetBackupDownloadUrlsArgs.builder()\n .dbInstanceId(local.pgsql_id())\n .backupType(\"LogBackup\")\n .backupId(logBackups.applyValue(getLogBackupsResult -\u003e getLogBackupsResult.logBackupSets()[0].id()))\n .urlExpireTime(12)\n .backupDownloadRestriction(GetBackupDownloadUrlsBackupDownloadRestrictionArgs.builder()\n .restrictionType(\"NONE\")\n .vpcRestrictionEffect(\"ALLOW\")\n .vpcIdSets(local.vpc_id())\n .ipRestrictionEffect(\"ALLOW\")\n .ipSets(\"0.0.0.0\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n logBackups:\n fn::invoke:\n Function: tencentcloud:Postgresql:getLogBackups\n Arguments:\n minFinishTime: '%s'\n maxFinishTime: '%s'\n filters:\n - name: db-instance-id\n values:\n - ${local.pgsql_id}\n orderBy: StartTime\n orderByType: desc\n backupDownloadUrls:\n fn::invoke:\n Function: tencentcloud:Postgresql:getBackupDownloadUrls\n Arguments:\n dbInstanceId: ${local.pgsql_id}\n backupType: LogBackup\n backupId: ${logBackups.logBackupSets[0].id}\n urlExpireTime: 12\n backupDownloadRestriction:\n restrictionType: NONE\n vpcRestrictionEffect: ALLOW\n vpcIdSets:\n - ${local.vpc_id}\n ipRestrictionEffect: ALLOW\n ipSets:\n - 0.0.0.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { @@ -259696,6 +273468,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": { @@ -260251,6 +274073,106 @@ "type": "object" } }, + "tencentcloud:PrivateDns/getEndPoints:getEndPoints": { + "description": "Use this data source to query detailed information of private dns dns end points\n\n## Example Usage\n\n### Query all private dns end points\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.PrivateDns.getEndPoints({});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nexample = tencentcloud.PrivateDns.get_end_points()\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.PrivateDns.GetEndPoints.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/PrivateDns\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := PrivateDns.GetEndPoints(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.PrivateDns.PrivateDnsFunctions;\nimport com.pulumi.tencentcloud.PrivateDns.inputs.GetEndPointsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = PrivateDnsFunctions.getEndPoints();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: tencentcloud:PrivateDns:getEndPoints\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Query all private dns end points 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.PrivateDns.getEndPoints({\n filters: [\n {\n name: \"EndPointName\",\n values: [\"tf-example\"],\n },\n {\n name: \"EndPointId\",\n values: [\"eid-72dc11b8f3\"],\n },\n {\n name: \"EndPointServiceId\",\n values: [\"vpcsvc-61wcwmar\"],\n },\n {\n name: \"EndPointVip\",\n values: [\"172.10.10.1\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nexample = tencentcloud.PrivateDns.get_end_points(filters=[\n tencentcloud.private_dns.GetEndPointsFilterArgs(\n name=\"EndPointName\",\n values=[\"tf-example\"],\n ),\n tencentcloud.private_dns.GetEndPointsFilterArgs(\n name=\"EndPointId\",\n values=[\"eid-72dc11b8f3\"],\n ),\n tencentcloud.private_dns.GetEndPointsFilterArgs(\n name=\"EndPointServiceId\",\n values=[\"vpcsvc-61wcwmar\"],\n ),\n tencentcloud.private_dns.GetEndPointsFilterArgs(\n name=\"EndPointVip\",\n values=[\"172.10.10.1\"],\n ),\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = Pulumi.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Tencentcloud.PrivateDns.GetEndPoints.Invoke(new()\n {\n Filters = new[]\n {\n new Tencentcloud.PrivateDns.Inputs.GetEndPointsFilterInputArgs\n {\n Name = \"EndPointName\",\n Values = new[]\n {\n \"tf-example\",\n },\n },\n new Tencentcloud.PrivateDns.Inputs.GetEndPointsFilterInputArgs\n {\n Name = \"EndPointId\",\n Values = new[]\n {\n \"eid-72dc11b8f3\",\n },\n },\n new Tencentcloud.PrivateDns.Inputs.GetEndPointsFilterInputArgs\n {\n Name = \"EndPointServiceId\",\n Values = new[]\n {\n \"vpcsvc-61wcwmar\",\n },\n },\n new Tencentcloud.PrivateDns.Inputs.GetEndPointsFilterInputArgs\n {\n Name = \"EndPointVip\",\n Values = new[]\n {\n \"172.10.10.1\",\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/PrivateDns\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := PrivateDns.GetEndPoints(ctx, \u0026privatedns.GetEndPointsArgs{\n\t\t\tFilters: []privatedns.GetEndPointsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"EndPointName\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"tf-example\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"EndPointId\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"eid-72dc11b8f3\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"EndPointServiceId\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"vpcsvc-61wcwmar\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"EndPointVip\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"172.10.10.1\",\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.PrivateDns.PrivateDnsFunctions;\nimport com.pulumi.tencentcloud.PrivateDns.inputs.GetEndPointsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = PrivateDnsFunctions.getEndPoints(GetEndPointsArgs.builder()\n .filters( \n GetEndPointsFilterArgs.builder()\n .name(\"EndPointName\")\n .values(\"tf-example\")\n .build(),\n GetEndPointsFilterArgs.builder()\n .name(\"EndPointId\")\n .values(\"eid-72dc11b8f3\")\n .build(),\n GetEndPointsFilterArgs.builder()\n .name(\"EndPointServiceId\")\n .values(\"vpcsvc-61wcwmar\")\n .build(),\n GetEndPointsFilterArgs.builder()\n .name(\"EndPointVip\")\n .values(\"172.10.10.1\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: tencentcloud:PrivateDns:getEndPoints\n Arguments:\n filters:\n - name: EndPointName\n values:\n - tf-example\n - name: EndPointId\n values:\n - eid-72dc11b8f3\n - name: EndPointServiceId\n values:\n - vpcsvc-61wcwmar\n - name: EndPointVip\n values:\n - 172.10.10.1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getEndPoints.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:PrivateDns/getEndPointsFilter:getEndPointsFilter" + }, + "description": "Filter parameters. Valid values: EndPointName, EndPointId, EndPointServiceId, and EndPointVip.\n" + }, + "resultOutputFile": { + "type": "string", + "description": "Used to save results.\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getEndPoints.\n", + "properties": { + "endPointSets": { + "description": "Endpoint list.\nNote: This field may return null, indicating that no valid values can be obtained.\n", + "items": { + "$ref": "#/types/tencentcloud:PrivateDns/getEndPointsEndPointSet:getEndPointsEndPointSet" + }, + "type": "array" + }, + "filters": { + "items": { + "$ref": "#/types/tencentcloud:PrivateDns/getEndPointsFilter:getEndPointsFilter" + }, + "type": "array" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.\n", + "type": "string" + }, + "resultOutputFile": { + "type": "string" + } + }, + "required": [ + "endPointSets", + "id" + ], + "type": "object" + } + }, + "tencentcloud:PrivateDns/getForwardRules:getForwardRules": { + "description": "Use this data source to query detailed information of private dns forward rules\n\n## Example Usage\n\n### Query all private dns forward rules\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.PrivateDns.getForwardRules({});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nexample = tencentcloud.PrivateDns.get_forward_rules()\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.PrivateDns.GetForwardRules.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/PrivateDns\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := PrivateDns.GetForwardRules(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.PrivateDns.PrivateDnsFunctions;\nimport com.pulumi.tencentcloud.PrivateDns.inputs.GetForwardRulesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = PrivateDnsFunctions.getForwardRules();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: tencentcloud:PrivateDns:getForwardRules\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Query all private dns forward rules 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.PrivateDns.getForwardRules({\n filters: [\n {\n name: \"RuleId\",\n values: [\"eid-e9d5880672\"],\n },\n {\n name: \"RuleName\",\n values: [\"tf-example\"],\n },\n {\n name: \"RuleName\",\n values: [\"tf-example\"],\n },\n {\n name: \"RuleType\",\n values: [\"DOWN\"],\n },\n {\n name: \"ZoneId\",\n values: [\"zone-04jlawty\"],\n },\n {\n name: \"EndPointId\",\n values: [\"eid-e9d5880672\"],\n },\n {\n name: \"EndPointName\",\n values: [\"tf-example\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nexample = tencentcloud.PrivateDns.get_forward_rules(filters=[\n tencentcloud.private_dns.GetForwardRulesFilterArgs(\n name=\"RuleId\",\n values=[\"eid-e9d5880672\"],\n ),\n tencentcloud.private_dns.GetForwardRulesFilterArgs(\n name=\"RuleName\",\n values=[\"tf-example\"],\n ),\n tencentcloud.private_dns.GetForwardRulesFilterArgs(\n name=\"RuleName\",\n values=[\"tf-example\"],\n ),\n tencentcloud.private_dns.GetForwardRulesFilterArgs(\n name=\"RuleType\",\n values=[\"DOWN\"],\n ),\n tencentcloud.private_dns.GetForwardRulesFilterArgs(\n name=\"ZoneId\",\n values=[\"zone-04jlawty\"],\n ),\n tencentcloud.private_dns.GetForwardRulesFilterArgs(\n name=\"EndPointId\",\n values=[\"eid-e9d5880672\"],\n ),\n tencentcloud.private_dns.GetForwardRulesFilterArgs(\n name=\"EndPointName\",\n values=[\"tf-example\"],\n ),\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = Pulumi.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Tencentcloud.PrivateDns.GetForwardRules.Invoke(new()\n {\n Filters = new[]\n {\n new Tencentcloud.PrivateDns.Inputs.GetForwardRulesFilterInputArgs\n {\n Name = \"RuleId\",\n Values = new[]\n {\n \"eid-e9d5880672\",\n },\n },\n new Tencentcloud.PrivateDns.Inputs.GetForwardRulesFilterInputArgs\n {\n Name = \"RuleName\",\n Values = new[]\n {\n \"tf-example\",\n },\n },\n new Tencentcloud.PrivateDns.Inputs.GetForwardRulesFilterInputArgs\n {\n Name = \"RuleName\",\n Values = new[]\n {\n \"tf-example\",\n },\n },\n new Tencentcloud.PrivateDns.Inputs.GetForwardRulesFilterInputArgs\n {\n Name = \"RuleType\",\n Values = new[]\n {\n \"DOWN\",\n },\n },\n new Tencentcloud.PrivateDns.Inputs.GetForwardRulesFilterInputArgs\n {\n Name = \"ZoneId\",\n Values = new[]\n {\n \"zone-04jlawty\",\n },\n },\n new Tencentcloud.PrivateDns.Inputs.GetForwardRulesFilterInputArgs\n {\n Name = \"EndPointId\",\n Values = new[]\n {\n \"eid-e9d5880672\",\n },\n },\n new Tencentcloud.PrivateDns.Inputs.GetForwardRulesFilterInputArgs\n {\n Name = \"EndPointName\",\n Values = new[]\n {\n \"tf-example\",\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/PrivateDns\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := PrivateDns.GetForwardRules(ctx, \u0026privatedns.GetForwardRulesArgs{\n\t\t\tFilters: []privatedns.GetForwardRulesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"RuleId\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"eid-e9d5880672\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"RuleName\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"tf-example\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"RuleName\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"tf-example\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"RuleType\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"DOWN\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"ZoneId\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"zone-04jlawty\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"EndPointId\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"eid-e9d5880672\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"EndPointName\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"tf-example\",\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.PrivateDns.PrivateDnsFunctions;\nimport com.pulumi.tencentcloud.PrivateDns.inputs.GetForwardRulesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = PrivateDnsFunctions.getForwardRules(GetForwardRulesArgs.builder()\n .filters( \n GetForwardRulesFilterArgs.builder()\n .name(\"RuleId\")\n .values(\"eid-e9d5880672\")\n .build(),\n GetForwardRulesFilterArgs.builder()\n .name(\"RuleName\")\n .values(\"tf-example\")\n .build(),\n GetForwardRulesFilterArgs.builder()\n .name(\"RuleName\")\n .values(\"tf-example\")\n .build(),\n GetForwardRulesFilterArgs.builder()\n .name(\"RuleType\")\n .values(\"DOWN\")\n .build(),\n GetForwardRulesFilterArgs.builder()\n .name(\"ZoneId\")\n .values(\"zone-04jlawty\")\n .build(),\n GetForwardRulesFilterArgs.builder()\n .name(\"EndPointId\")\n .values(\"eid-e9d5880672\")\n .build(),\n GetForwardRulesFilterArgs.builder()\n .name(\"EndPointName\")\n .values(\"tf-example\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: tencentcloud:PrivateDns:getForwardRules\n Arguments:\n filters:\n - name: RuleId\n values:\n - eid-e9d5880672\n - name: RuleName\n values:\n - tf-example\n - name: RuleName\n values:\n - tf-example\n - name: RuleType\n values:\n - DOWN\n - name: ZoneId\n values:\n - zone-04jlawty\n - name: EndPointId\n values:\n - eid-e9d5880672\n - name: EndPointName\n values:\n - tf-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getForwardRules.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:PrivateDns/getForwardRulesFilter:getForwardRulesFilter" + }, + "description": "Filter parameters.\n" + }, + "resultOutputFile": { + "type": "string", + "description": "Used to save results.\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getForwardRules.\n", + "properties": { + "filters": { + "items": { + "$ref": "#/types/tencentcloud:PrivateDns/getForwardRulesFilter:getForwardRulesFilter" + }, + "type": "array" + }, + "forwardRuleSets": { + "description": "Private domain list.\n", + "items": { + "$ref": "#/types/tencentcloud:PrivateDns/getForwardRulesForwardRuleSet:getForwardRulesForwardRuleSet" + }, + "type": "array" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.\n", + "type": "string" + }, + "resultOutputFile": { + "type": "string" + } + }, + "required": [ + "forwardRuleSets", + "id" + ], + "type": "object" + } + }, "tencentcloud:PrivateDns/getPrivateZoneList:getPrivateZoneList": { "description": "Use this data source to query detailed information of privatedns private_zone_list\n\n## Example Usage\n\n### Get All PrivateZones:\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.PrivateDns.getPrivateZoneList({});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nexample = tencentcloud.PrivateDns.get_private_zone_list()\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.PrivateDns.GetPrivateZoneList.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/PrivateDns\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := PrivateDns.GetPrivateZoneList(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.PrivateDns.PrivateDnsFunctions;\nimport com.pulumi.tencentcloud.PrivateDns.inputs.GetPrivateZoneListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = PrivateDnsFunctions.getPrivateZoneList();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: tencentcloud:PrivateDns:getPrivateZoneList\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Get PrivateZone By ZoneId:\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.PrivateDns.getPrivateZoneList({\n filters: [{\n name: \"ZoneId\",\n values: [\"zone-6xg5xgky1\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nexample = tencentcloud.PrivateDns.get_private_zone_list(filters=[tencentcloud.private_dns.GetPrivateZoneListFilterArgs(\n name=\"ZoneId\",\n values=[\"zone-6xg5xgky1\"],\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.PrivateDns.GetPrivateZoneList.Invoke(new()\n {\n Filters = new[]\n {\n new Tencentcloud.PrivateDns.Inputs.GetPrivateZoneListFilterInputArgs\n {\n Name = \"ZoneId\",\n Values = new[]\n {\n \"zone-6xg5xgky1\",\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/PrivateDns\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := PrivateDns.GetPrivateZoneList(ctx, \u0026privatedns.GetPrivateZoneListArgs{\n\t\t\tFilters: []privatedns.GetPrivateZoneListFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"ZoneId\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"zone-6xg5xgky1\",\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.PrivateDns.PrivateDnsFunctions;\nimport com.pulumi.tencentcloud.PrivateDns.inputs.GetPrivateZoneListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = PrivateDnsFunctions.getPrivateZoneList(GetPrivateZoneListArgs.builder()\n .filters(GetPrivateZoneListFilterArgs.builder()\n .name(\"ZoneId\")\n .values(\"zone-6xg5xgky1\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: tencentcloud:PrivateDns:getPrivateZoneList\n Arguments:\n filters:\n - name: ZoneId\n values:\n - zone-6xg5xgky1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Get PrivateZone By Domain:\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.PrivateDns.getPrivateZoneList({\n filters: [{\n name: \"Domain\",\n values: [\"domain.com\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nexample = tencentcloud.PrivateDns.get_private_zone_list(filters=[tencentcloud.private_dns.GetPrivateZoneListFilterArgs(\n name=\"Domain\",\n values=[\"domain.com\"],\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.PrivateDns.GetPrivateZoneList.Invoke(new()\n {\n Filters = new[]\n {\n new Tencentcloud.PrivateDns.Inputs.GetPrivateZoneListFilterInputArgs\n {\n Name = \"Domain\",\n Values = new[]\n {\n \"domain.com\",\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/PrivateDns\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := PrivateDns.GetPrivateZoneList(ctx, \u0026privatedns.GetPrivateZoneListArgs{\n\t\t\tFilters: []privatedns.GetPrivateZoneListFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"Domain\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"domain.com\",\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.PrivateDns.PrivateDnsFunctions;\nimport com.pulumi.tencentcloud.PrivateDns.inputs.GetPrivateZoneListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = PrivateDnsFunctions.getPrivateZoneList(GetPrivateZoneListArgs.builder()\n .filters(GetPrivateZoneListFilterArgs.builder()\n .name(\"Domain\")\n .values(\"domain.com\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: tencentcloud:PrivateDns:getPrivateZoneList\n Arguments:\n filters:\n - name: Domain\n values:\n - domain.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Get PrivateZone By Vpc:\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.PrivateDns.getPrivateZoneList({\n filters: [{\n name: \"Vpc\",\n values: [\"vpc-axrsmmrv\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nexample = tencentcloud.PrivateDns.get_private_zone_list(filters=[tencentcloud.private_dns.GetPrivateZoneListFilterArgs(\n name=\"Vpc\",\n values=[\"vpc-axrsmmrv\"],\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.PrivateDns.GetPrivateZoneList.Invoke(new()\n {\n Filters = new[]\n {\n new Tencentcloud.PrivateDns.Inputs.GetPrivateZoneListFilterInputArgs\n {\n Name = \"Vpc\",\n Values = new[]\n {\n \"vpc-axrsmmrv\",\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/PrivateDns\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := PrivateDns.GetPrivateZoneList(ctx, \u0026privatedns.GetPrivateZoneListArgs{\n\t\t\tFilters: []privatedns.GetPrivateZoneListFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"Vpc\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"vpc-axrsmmrv\",\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.PrivateDns.PrivateDnsFunctions;\nimport com.pulumi.tencentcloud.PrivateDns.inputs.GetPrivateZoneListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = PrivateDnsFunctions.getPrivateZoneList(GetPrivateZoneListArgs.builder()\n .filters(GetPrivateZoneListFilterArgs.builder()\n .name(\"Vpc\")\n .values(\"vpc-axrsmmrv\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: tencentcloud:PrivateDns:getPrivateZoneList\n Arguments:\n filters:\n - name: Vpc\n values:\n - vpc-axrsmmrv\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { @@ -260811,6 +274733,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 +291256,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 +291264,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 +291317,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" @@ -278691,56 +292728,6 @@ "type": "object" } }, - "tencentcloud:Waf/getWafInfos:getWafInfos": { - "inputs": { - "description": "A collection of arguments for invoking getWafInfos.\n", - "properties": { - "params": { - "type": "array", - "items": { - "$ref": "#/types/tencentcloud:Waf/getWafInfosParam:getWafInfosParam" - } - }, - "resultOutputFile": { - "type": "string" - } - }, - "type": "object", - "required": [ - "params" - ] - }, - "outputs": { - "description": "A collection of values returned by getWafInfos.\n", - "properties": { - "hostLists": { - "items": { - "$ref": "#/types/tencentcloud:Waf/getWafInfosHostList:getWafInfosHostList" - }, - "type": "array" - }, - "id": { - "description": "The provider-assigned unique ID for this managed resource.\n", - "type": "string" - }, - "params": { - "items": { - "$ref": "#/types/tencentcloud:Waf/getWafInfosParam:getWafInfosParam" - }, - "type": "array" - }, - "resultOutputFile": { - "type": "string" - } - }, - "required": [ - "hostLists", - "params", - "id" - ], - "type": "object" - } - }, "tencentcloud:Wedata/getDataSourceList:getDataSourceList": { "description": "Use this data source to query detailed information of wedata data_source_list\n\n## Example Usage\n\n### Query All\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.Wedata.getDataSourceList({});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nexample = tencentcloud.Wedata.get_data_source_list()\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.Wedata.GetDataSourceList.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/Wedata\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Wedata.GetDataSourceList(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.Wedata.WedataFunctions;\nimport com.pulumi.tencentcloud.Wedata.inputs.GetDataSourceListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = WedataFunctions.getDataSourceList();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: tencentcloud:Wedata:getDataSourceList\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Query 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.Wedata.getDataSourceList({\n filters: [{\n name: \"Name\",\n values: [\"tf_example\"],\n }],\n orderFields: [{\n direction: \"DESC\",\n name: \"create_time\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nexample = tencentcloud.Wedata.get_data_source_list(filters=[tencentcloud.wedata.GetDataSourceListFilterArgs(\n name=\"Name\",\n values=[\"tf_example\"],\n )],\n order_fields=[tencentcloud.wedata.GetDataSourceListOrderFieldArgs(\n direction=\"DESC\",\n name=\"create_time\",\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.Wedata.GetDataSourceList.Invoke(new()\n {\n Filters = new[]\n {\n new Tencentcloud.Wedata.Inputs.GetDataSourceListFilterInputArgs\n {\n Name = \"Name\",\n Values = new[]\n {\n \"tf_example\",\n },\n },\n },\n OrderFields = new[]\n {\n new Tencentcloud.Wedata.Inputs.GetDataSourceListOrderFieldInputArgs\n {\n Direction = \"DESC\",\n Name = \"create_time\",\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/Wedata\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Wedata.GetDataSourceList(ctx, \u0026wedata.GetDataSourceListArgs{\n\t\t\tFilters: []wedata.GetDataSourceListFilter{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.StringRef(\"Name\"),\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"tf_example\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOrderFields: []wedata.GetDataSourceListOrderField{\n\t\t\t\t{\n\t\t\t\t\tDirection: \"DESC\",\n\t\t\t\t\tName: \"create_time\",\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.Wedata.WedataFunctions;\nimport com.pulumi.tencentcloud.Wedata.inputs.GetDataSourceListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = WedataFunctions.getDataSourceList(GetDataSourceListArgs.builder()\n .filters(GetDataSourceListFilterArgs.builder()\n .name(\"Name\")\n .values(\"tf_example\")\n .build())\n .orderFields(GetDataSourceListOrderFieldArgs.builder()\n .direction(\"DESC\")\n .name(\"create_time\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: tencentcloud:Wedata:getDataSourceList\n Arguments:\n filters:\n - name: Name\n values:\n - tf_example\n orderFields:\n - direction: DESC\n name: create_time\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { diff --git a/provider/go.mod b/provider/go.mod index c03537015..aecf40281 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.142 ) 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.1033 // 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/cfw v1.0.1018 // 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/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/clb v1.0.1034 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.1033 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.970 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1045 // 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.1014 // 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,18 +258,18 @@ 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/privatedns v1.0.859 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/organization v1.0.1038 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.1010 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns v1.0.1038 // 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 + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/scf v1.0.1034 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ses v1.0.748 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sms v1.0.486 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sqlserver v1.0.816 // indirect - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ssl v1.0.822 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ssl v1.0.1015 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ssm v1.0.691 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sts v1.0.524 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tag v1.0.860 // indirect @@ -273,17 +277,19 @@ require ( github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tcaplusdb v1.0.199 // indirect 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/tcss v1.0.1031 // 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/teo v1.0.1013 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/thpc v1.0.998 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke v1.0.1038 // 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/waf v1.0.833 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.1045 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/waf v1.0.1037 // 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 github.com/tencentyun/cos-go-sdk-v5 v0.7.42-0.20230629101357-7edd77448a0f // indirect diff --git a/provider/go.sum b/provider/go.sum index 2cf4b8903..c07738270 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.1033 h1:f39voqCh8s061EQojp1QHZSq+QbjrmOkz4LeVFA47r0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as v1.0.1033/go.mod h1:PzOW1D/Lzd4sUW3xlT+4oXp+6MLCN55J+V/W9q1acro= 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,48 +2980,48 @@ 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= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cfs v1.0.627/go.mod h1:lr3IyWgJk4rLWr0vVd8J1Tfs5O+wNcwSZ9ciMhGUrlI= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cfw v1.0.841 h1:1GWCoGe7puNJxAtLqV1CqHuZ48zMEkONJc5WEyDNHqk= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cfw v1.0.841/go.mod h1:X82Do5gZwZf42fx9uE0DdQjWn0ALF21vhvyITzIhuG8= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cfw v1.0.1018 h1:t9pWssFNmbTerWeZAASeJyMxj7V+Xfb6VnPPMHDpkDU= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cfw v1.0.1018/go.mod h1:/o55E2/cnFVNlRWkpqgn+UHN3sK6AAIYDZOsxPEvdRM= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/chdfs v1.0.600 h1:qSpp4rEgAzfXhi1rPxes+AJp2mwnsyRGPY/Km1FuYGs= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/chdfs v1.0.600/go.mod h1:xud1dQ7Rc23yC5kS00TYRrvZ/A+94EOkwquaI6xGVac= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ciam v1.0.695 h1:FGwsF1/PgY+M92bEC+0NH4tJkI8i0qjrLbZWVjLXOAY= 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/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/clb v1.0.1034 h1:nZBr0eJI2iTLSm26QZXNgk4VT3Fxtt+zgXCiCH6avmo= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.1034/go.mod h1:q8fxlV0OQPmG3Zqq4f06m+EOqfU8BvZPnVsPCkCdv6E= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.1033 h1:dIr+MVsZeUBiKZELfJh5HRJdI+BI6lCp5pv/2oXekuk= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.1033/go.mod h1:7oFlNimGSTHFy6JV7W/IZKuJWr+NUjCnGLTvb9MWNrY= +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,54 +3032,57 @@ 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= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.825/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.831/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.833/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.841/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= 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.970/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.1013/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1014/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1015/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1018/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1031/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1033/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1034/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1037/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1038/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1045 h1:3vvovAezER+/2FycWT4Wplkis3y3OHsRg2mDfcv08MI= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1045/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.1014 h1:9O8b2DIwrJLRncfm6e05lIqkBLKNkvABiF+PNs7exB8= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.1014/go.mod h1:BgFyE+WpUJPLy3cHpBaM0gDbrptmzY5+dfid/4UhBR8= 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,30 +3123,30 @@ 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/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/organization v1.0.1038 h1:BJqvIa+Z7bt1Y2VN9wZSye7Bq2RaVrRw1Rt50TwsgsM= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/organization v1.0.1038/go.mod h1:ZcauOIKWXstNwe6IlD3iBBxzljEWdQjZbTc6PfwsPxQ= +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.1038 h1:4rzyVxkDB27v73jDXPr5eGAwjN859R7SsqniCt+46XE= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns v1.0.1038/go.mod h1:TAHhxxDVV36Pe4P4Gel3dgX4kHUfQO7f27GzRf8DAro= 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= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/rum v1.0.744/go.mod h1:prlrCvxmnWH4yCkA5cIIjGZMMuuvPs5EuCx1rV+F8jk= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/scf v1.0.807 h1:8yfLBKc7/kBSFM+yXrXtH2w00g9rP39SpgXOsHCpVdg= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/scf v1.0.807/go.mod h1:YtnZZS/ejJwUqPyqMPmiscKOoGDD1Q9dbQ3cJKwjwIo= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/scf v1.0.1034 h1:eRcCZPQH9utsIzevkXVudB7jmKwPPsM83r7/8LTEN9M= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/scf v1.0.1034/go.mod h1:XKNC4QzGjsXO8nc+Njc0NC1nG1jPwn8p/9y8shNEPPU= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ses v1.0.748 h1:pG2i5MHLmDkn8RC5wGjqRUx2db4L79JmV7qJyFzK5cs= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ses v1.0.748/go.mod h1:ZADb5YPBRKNvhdQVl74jPKf9gMCDX8rxtDkBsYMSDfU= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sms v1.0.486 h1:eHLaL+hl5X5f8Apuf2SGVclO3MRev/E3AfA/0aZQGUA= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sms v1.0.486/go.mod h1:MSsho0YlAsoPCOMqdBfwqGd/SMQ0FTGh0a6emBy2X+g= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sqlserver v1.0.816 h1:ESXJjklPGlKzdprjW5F2DM/NRcG/A6Vq3l3LcBvIvZI= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sqlserver v1.0.816/go.mod h1:J9Ce9D/ewpqzUsBAwINc+59qpDqYT9egjwyUsMHpDwA= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ssl v1.0.822 h1:Hbtl5PDb3LnYGkQ26PUXYdqRMVw4YemkvFKVklFSkfU= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ssl v1.0.822/go.mod h1:ld+y2FwgxEjaY5MJrp4rgEGxM8FRfxxfPZalVD3eOEU= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ssl v1.0.1015 h1:4fTbXtkXwleuDu/xYVELGpkuBLPgW+raED6y7Ni63sA= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ssl v1.0.1015/go.mod h1:0ZWI4Rd0p6LnXEvEaj/DbUza8B2s74AllJr1WXrsLtY= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ssm v1.0.691 h1:UE55TqueOP889MDcJ+cBW+MBjtzvWUw5fuOBWGCBIjs= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ssm v1.0.691/go.mod h1:IRaYO5mSpBMPX8ydImTcL3jyuEkALEu/55Myb0a+GMs= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sts v1.0.524 h1:Hda8mBEoQVwkRAaZqztUAWn/n4HCYHZYEwzFBwYKaaM= @@ -3158,16 +3161,20 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tcm v1.0.547 h1:6bukohy github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tcm v1.0.547/go.mod h1:C7b++Lr8Xh+2KtTUMBjbb+/BrBhfFhAxDMjXzT2GLhY= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tcr v1.0.696 h1:hTfJtxk5WDj84SfOFKg5Mk+DVtSmjVtkyj3gvVKAYkk= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tcr v1.0.696/go.mod h1:DgY9Kgh9093fBl2M/vEFGJZwytDIrPQlYoxoT4rE7O0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tcss v1.0.1031 h1:3OgSLiQAfgjQ3kH+lu5WBXRtE6JaZ+FY1Yr+LUv1JEw= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tcss v1.0.1031/go.mod h1:e5FteF6ukTKsD6wergqmPn/jww3oPwi/QJYtTfYbFuY= 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/teo v1.0.1013 h1:Vcub4gbcTIs/uYINllI8eHXAhv652PpPLM+f/LWZroA= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/teo v1.0.1013/go.mod h1:QUt5DeP3jmoYPrWwgupRPg/Xus21MjEiUzzhEUv0tOY= +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.1038 h1:tmK0aSj8zJrTx7aubJR8DBvtySj1uO8UdFANUDFtbmo= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke v1.0.1038/go.mod h1:tWS3IluLYbNDx1kz8bBFEP6H1bxvuBPPGQ2WogD2rXI= 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 +3183,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/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/vpc v1.0.1045 h1:7+rfyxftJ/C85yMQfs7ALj0RHkSlyboMj6gqCVKYa58= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.1045/go.mod h1:yn4I7fSwpiM6ltjqksS1JtZZAHkZ35ywN+kLm6AJPzc= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/waf v1.0.1037 h1:sgHOHqVFcO266dnoh0KJ0CoxrRglRZYKW78iBh41Giw= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/waf v1.0.1037/go.mod h1:QM5m6aZ65kaxaES0D44BNKmemn+9WBf5vr3HDDPrh8U= 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.142 h1:d6ij1ugTi1Xt0C5eEA34YHrLaasI3KItEbZLBjHgA3k= +github.com/tencentcloudstack/terraform-provider-tencentcloud v1.81.142/go.mod h1:3fnjDcpFjMs3Zlt/q+Zis5u6a5pu61K8ONtVhYVoNUI= 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..a0b44c520 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 { @@ -132,6 +175,10 @@ public static class Types public class AssumeRole { /// + /// External role ID, which can be obtained by clicking the role name in the CAM console. It can contain 2-128 letters, digits, and symbols (=,.@:/-). Regex: [\w+=,.@:/-]*. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_EXTERNAL_ID`. + /// + public string? ExternalId { get; set; } = null!; + /// /// A more restrictive policy when making the AssumeRole call. Its content must not contains `principal` elements. Notice: more syntax references, please refer to: [policies syntax logic](https://intl.cloud.tencent.com/document/product/598/10603). /// public string? Policy { get; set; } = null!; @@ -148,6 +195,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..c65f857b1 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/As/Inputs/StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs.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.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; } + + /// + /// Maximum Extra Quantity. After setting this parameter, a batch of pay-as-you-go extra instances will be created according to the launch configuration before the rolling update starts, and the extra instances will be destroyed after the rolling update is completed. + /// + [Input("maxSurge")] + public Input? MaxSurge { 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..35c7d3e82 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/As/Inputs/StartInstanceRefreshRefreshSettingsRollingUpdateSettingsGetArgs.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.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; } + + /// + /// Maximum Extra Quantity. After setting this parameter, a batch of pay-as-you-go extra instances will be created according to the launch configuration before the rolling update starts, and the extra instances will be destroyed after the rolling update is completed. + /// + [Input("maxSurge")] + public Input? MaxSurge { 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..25dfdb312 100644 --- a/sdk/dotnet/Tencentcloud/As/LifecycleHook.cs +++ b/sdk/dotnet/Tencentcloud/As/LifecycleHook.cs @@ -90,6 +90,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.As /// LifecycleTransition = "INSTANCE_LAUNCHING", /// DefaultResult = "CONTINUE", /// HeartbeatTimeout = 500, + /// LifecycleTransitionType = "NORMAL", /// NotificationMetadata = "tf test", /// }); /// @@ -146,6 +147,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 +199,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. /// @@ -174,6 +217,12 @@ public partial class LifecycleHook : global::Pulumi.CustomResource [Output("lifecycleTransition")] public Output LifecycleTransition { get; private set; } = null!; + /// + /// The scenario where the lifecycle hook is applied. `EXTENSION`: the lifecycle hook will be triggered when AttachInstances, DetachInstances or RemoveInstaces is called. `NORMAL`: the lifecycle hook is not triggered by the above APIs. + /// + [Output("lifecycleTransitionType")] + public Output LifecycleTransitionType { get; private set; } = null!; + /// /// Contains additional information that you want to include any time AS sends a message to the notification target. /// @@ -187,7 +236,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 +312,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. /// @@ -275,6 +330,12 @@ public sealed class LifecycleHookArgs : global::Pulumi.ResourceArgs [Input("lifecycleTransition", required: true)] public Input LifecycleTransition { get; set; } = null!; + /// + /// The scenario where the lifecycle hook is applied. `EXTENSION`: the lifecycle hook will be triggered when AttachInstances, DetachInstances or RemoveInstaces is called. `NORMAL`: the lifecycle hook is not triggered by the above APIs. + /// + [Input("lifecycleTransitionType")] + public Input? LifecycleTransitionType { get; set; } + /// /// Contains additional information that you want to include any time AS sends a message to the notification target. /// @@ -288,7 +349,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 +386,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. /// @@ -337,6 +404,12 @@ public sealed class LifecycleHookState : global::Pulumi.ResourceArgs [Input("lifecycleTransition")] public Input? LifecycleTransition { get; set; } + /// + /// The scenario where the lifecycle hook is applied. `EXTENSION`: the lifecycle hook will be triggered when AttachInstances, DetachInstances or RemoveInstaces is called. `NORMAL`: the lifecycle hook is not triggered by the above APIs. + /// + [Input("lifecycleTransitionType")] + public Input? LifecycleTransitionType { get; set; } + /// /// Contains additional information that you want to include any time AS sends a message to the notification target. /// @@ -350,7 +423,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..7f1bbe059 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/As/Outputs/StartInstanceRefreshRefreshSettingsRollingUpdateSettings.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.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; + /// + /// Maximum Extra Quantity. After setting this parameter, a batch of pay-as-you-go extra instances will be created according to the launch configuration before the rolling update starts, and the extra instances will be destroyed after the rolling update is completed. + /// + public readonly int? MaxSurge; + + [OutputConstructor] + private StartInstanceRefreshRefreshSettingsRollingUpdateSettings( + int batchNumber, + + string? batchPause, + + int? maxSurge) + { + BatchNumber = batchNumber; + BatchPause = batchPause; + MaxSurge = maxSurge; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/As/ScalingConfig.cs b/sdk/dotnet/Tencentcloud/As/ScalingConfig.cs index 1064603b6..b8d520a86 100644 --- a/sdk/dotnet/Tencentcloud/As/ScalingConfig.cs +++ b/sdk/dotnet/Tencentcloud/As/ScalingConfig.cs @@ -61,6 +61,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.As /// Password = "Test@123#", /// EnhancedSecurityService = false, /// EnhancedMonitorService = false, + /// EnhancedAutomationToolsService = false, /// UserData = "dGVzdA==", /// HostNameSettings = new Tencentcloud.As.Inputs.ScalingConfigHostNameSettingsArgs /// { @@ -115,6 +116,47 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.As /// ``` /// <!--End PulumiCodeChooser --> /// + /// ### Using image family + /// + /// <!--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.ScalingConfig("example", new() + /// { + /// ConfigurationName = "as-test-config", + /// DiskTypePolicy = "ORIGINAL", + /// EnhancedAutomationToolsService = false, + /// EnhancedMonitorService = false, + /// EnhancedSecurityService = false, + /// ImageFamily = "business-daily-update", + /// InstanceTags = null, + /// InstanceTypes = new[] + /// { + /// "S5.SMALL2", + /// }, + /// InternetChargeType = "TRAFFIC_POSTPAID_BY_HOUR", + /// InternetMaxBandwidthOut = 0, + /// KeyIds = new[] {}, + /// ProjectId = 0, + /// PublicIpAssigned = false, + /// SecurityGroupIds = new[] + /// { + /// "sg-5275dorp", + /// }, + /// SystemDiskSize = 50, + /// SystemDiskType = "CLOUD_BSSD", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// /// ## Import /// /// AutoScaling Configuration can be imported using the id, e.g. @@ -156,6 +198,12 @@ public partial class ScalingConfig : global::Pulumi.CustomResource [Output("diskTypePolicy")] public Output DiskTypePolicy { get; private set; } = null!; + /// + /// To specify whether to enable cloud automation tools service. + /// + [Output("enhancedAutomationToolsService")] + public Output EnhancedAutomationToolsService { get; private set; } = null!; + /// /// To specify whether to enable cloud monitor service. Default is `TRUE`. /// @@ -174,11 +222,17 @@ public partial class ScalingConfig : global::Pulumi.CustomResource [Output("hostNameSettings")] public Output HostNameSettings { get; private set; } = null!; + /// + /// Image Family Name. Either Image ID or Image Family Name must be provided, but not both. + /// + [Output("imageFamily")] + public Output ImageFamily { get; private set; } = null!; + /// /// An available image ID for a cvm instance. /// [Output("imageId")] - public Output ImageId { get; private set; } = null!; + public Output ImageId { get; private set; } = null!; /// /// Charge type of instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `SPOTPAID`. The default is `POSTPAID_BY_HOUR`. NOTE: `SPOTPAID` instance must set `spot_instance_type` and `spot_max_price` at the same time. @@ -381,6 +435,12 @@ public InputList DataDisks [Input("diskTypePolicy")] public Input? DiskTypePolicy { get; set; } + /// + /// To specify whether to enable cloud automation tools service. + /// + [Input("enhancedAutomationToolsService")] + public Input? EnhancedAutomationToolsService { get; set; } + /// /// To specify whether to enable cloud monitor service. Default is `TRUE`. /// @@ -399,11 +459,17 @@ public InputList DataDisks [Input("hostNameSettings")] public Input? HostNameSettings { get; set; } + /// + /// Image Family Name. Either Image ID or Image Family Name must be provided, but not both. + /// + [Input("imageFamily")] + public Input? ImageFamily { get; set; } + /// /// An available image ID for a cvm instance. /// - [Input("imageId", required: true)] - public Input ImageId { get; set; } = null!; + [Input("imageId")] + public Input? ImageId { get; set; } /// /// Charge type of instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `SPOTPAID`. The default is `POSTPAID_BY_HOUR`. NOTE: `SPOTPAID` instance must set `spot_instance_type` and `spot_max_price` at the same time. @@ -597,6 +663,12 @@ public InputList DataDisks [Input("diskTypePolicy")] public Input? DiskTypePolicy { get; set; } + /// + /// To specify whether to enable cloud automation tools service. + /// + [Input("enhancedAutomationToolsService")] + public Input? EnhancedAutomationToolsService { get; set; } + /// /// To specify whether to enable cloud monitor service. Default is `TRUE`. /// @@ -615,6 +687,12 @@ public InputList DataDisks [Input("hostNameSettings")] public Input? HostNameSettings { get; set; } + /// + /// Image Family Name. Either Image ID or Image Family Name must be provided, but not both. + /// + [Input("imageFamily")] + public Input? ImageFamily { get; set; } + /// /// An available image ID for a cvm instance. /// 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..b2f0c73b3 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/As/StartInstanceRefresh.cs @@ -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! *** + +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-8n7fdm28", + /// RefreshMode = "ROLLING_UPDATE_RESET", + /// RefreshSettings = new Tencentcloud.As.Inputs.StartInstanceRefreshRefreshSettingsArgs + /// { + /// CheckInstanceTargetHealth = false, + /// RollingUpdateSettings = new Tencentcloud.As.Inputs.StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs + /// { + /// BatchNumber = 1, + /// BatchPause = "AUTOMATIC", + /// MaxSurge = 1, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--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/Inputs/TrackStorageArgs.cs b/sdk/dotnet/Tencentcloud/Audit/Inputs/TrackStorageArgs.cs index d52bf62af..276b9ce97 100644 --- a/sdk/dotnet/Tencentcloud/Audit/Inputs/TrackStorageArgs.cs +++ b/sdk/dotnet/Tencentcloud/Audit/Inputs/TrackStorageArgs.cs @@ -13,6 +13,18 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Audit.Inputs public sealed class TrackStorageArgs : global::Pulumi.ResourceArgs { + /// + /// Designated to store user ID. + /// + [Input("storageAccountId")] + public Input? StorageAccountId { get; set; } + + /// + /// Designated to store user appid. + /// + [Input("storageAppId")] + public Input? StorageAppId { get; set; } + /// /// 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`. /// diff --git a/sdk/dotnet/Tencentcloud/Audit/Inputs/TrackStorageGetArgs.cs b/sdk/dotnet/Tencentcloud/Audit/Inputs/TrackStorageGetArgs.cs index ab12d234d..35164d339 100644 --- a/sdk/dotnet/Tencentcloud/Audit/Inputs/TrackStorageGetArgs.cs +++ b/sdk/dotnet/Tencentcloud/Audit/Inputs/TrackStorageGetArgs.cs @@ -13,6 +13,18 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Audit.Inputs public sealed class TrackStorageGetArgs : global::Pulumi.ResourceArgs { + /// + /// Designated to store user ID. + /// + [Input("storageAccountId")] + public Input? StorageAccountId { get; set; } + + /// + /// Designated to store user appid. + /// + [Input("storageAppId")] + public Input? StorageAppId { get; set; } + /// /// 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`. /// 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/Audit/Outputs/TrackStorage.cs b/sdk/dotnet/Tencentcloud/Audit/Outputs/TrackStorage.cs index 99293e62b..e4ea625c8 100644 --- a/sdk/dotnet/Tencentcloud/Audit/Outputs/TrackStorage.cs +++ b/sdk/dotnet/Tencentcloud/Audit/Outputs/TrackStorage.cs @@ -14,6 +14,14 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Audit.Outputs [OutputType] public sealed class TrackStorage { + /// + /// Designated to store user ID. + /// + public readonly string? StorageAccountId; + /// + /// Designated to store user appid. + /// + public readonly string? StorageAppId; /// /// 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`. /// @@ -33,6 +41,10 @@ public sealed class TrackStorage [OutputConstructor] private TrackStorage( + string? storageAccountId, + + string? storageAppId, + string storageName, string storagePrefix, @@ -41,6 +53,8 @@ private TrackStorage( string storageType) { + StorageAccountId = storageAccountId; + StorageAppId = storageAppId; StorageName = storageName; StoragePrefix = storagePrefix; StorageRegion = storageRegion; diff --git a/sdk/dotnet/Tencentcloud/Audit/Track.cs b/sdk/dotnet/Tencentcloud/Audit/Track.cs index a5a0d28c8..75403e4d5 100644 --- a/sdk/dotnet/Tencentcloud/Audit/Track.cs +++ b/sdk/dotnet/Tencentcloud/Audit/Track.cs @@ -24,7 +24,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Audit /// /// return await Deployment.RunAsync(() => /// { - /// var track = new Tencentcloud.Audit.Track("track", new() + /// var example = new Tencentcloud.Audit.Track("example", new() /// { /// ActionType = "Read", /// EventNames = new[] @@ -47,12 +47,48 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Audit /// ``` /// <!--End PulumiCodeChooser --> /// + /// ### Specify storage user + /// + /// <!--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.Audit.Track("example", new() + /// { + /// ActionType = "Read", + /// EventNames = new[] + /// { + /// "*", + /// }, + /// ResourceType = "*", + /// Status = 1, + /// Storage = new Tencentcloud.Audit.Inputs.TrackStorageArgs + /// { + /// StorageAccountId = "100037717137", + /// StorageAppId = "1309116520", + /// StorageName = "db90b92c-91d2-46b0-94ac-debbbb21dc4e", + /// StoragePrefix = "cloudaudit", + /// StorageRegion = "ap-guangzhou", + /// StorageType = "cos", + /// }, + /// TrackForAllMembers = 0, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// /// ## Import /// /// audit track can be imported using the id, e.g. /// /// ```sh - /// $ pulumi import tencentcloud:Audit/track:Track track track_id + /// $ pulumi import tencentcloud:Audit/track:Track example 24283 /// ``` /// [TencentcloudResourceType("tencentcloud:Audit/track:Track")] 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/Cam/GetRoleDetail.cs b/sdk/dotnet/Tencentcloud/Cam/GetRoleDetail.cs new file mode 100644 index 000000000..60dedec42 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cam/GetRoleDetail.cs @@ -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! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cam +{ + public static class GetRoleDetail + { + public static Task InvokeAsync(GetRoleDetailArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("tencentcloud:Cam/getRoleDetail:getRoleDetail", args ?? new GetRoleDetailArgs(), options.WithDefaults()); + + public static Output Invoke(GetRoleDetailInvokeArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("tencentcloud:Cam/getRoleDetail:getRoleDetail", args ?? new GetRoleDetailInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetRoleDetailArgs : global::Pulumi.InvokeArgs + { + [Input("resultOutputFile")] + public string? ResultOutputFile { get; set; } + + [Input("roleId")] + public string? RoleId { get; set; } + + [Input("roleName")] + public string? RoleName { get; set; } + + public GetRoleDetailArgs() + { + } + public static new GetRoleDetailArgs Empty => new GetRoleDetailArgs(); + } + + public sealed class GetRoleDetailInvokeArgs : global::Pulumi.InvokeArgs + { + [Input("resultOutputFile")] + public Input? ResultOutputFile { get; set; } + + [Input("roleId")] + public Input? RoleId { get; set; } + + [Input("roleName")] + public Input? RoleName { get; set; } + + public GetRoleDetailInvokeArgs() + { + } + public static new GetRoleDetailInvokeArgs Empty => new GetRoleDetailInvokeArgs(); + } + + + [OutputType] + public sealed class GetRoleDetailResult + { + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + public readonly string? ResultOutputFile; + public readonly string? RoleId; + public readonly ImmutableArray RoleInfos; + public readonly string? RoleName; + + [OutputConstructor] + private GetRoleDetailResult( + string id, + + string? resultOutputFile, + + string? roleId, + + ImmutableArray roleInfos, + + string? roleName) + { + Id = id; + ResultOutputFile = resultOutputFile; + RoleId = roleId; + RoleInfos = roleInfos; + RoleName = roleName; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Cam/GetSubAccounts.cs b/sdk/dotnet/Tencentcloud/Cam/GetSubAccounts.cs new file mode 100644 index 000000000..6ef1c61a4 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cam/GetSubAccounts.cs @@ -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! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cam +{ + public static class GetSubAccounts + { + public static Task InvokeAsync(GetSubAccountsArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("tencentcloud:Cam/getSubAccounts:getSubAccounts", args ?? new GetSubAccountsArgs(), options.WithDefaults()); + + public static Output Invoke(GetSubAccountsInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("tencentcloud:Cam/getSubAccounts:getSubAccounts", args ?? new GetSubAccountsInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetSubAccountsArgs : global::Pulumi.InvokeArgs + { + [Input("filterSubAccountUins", required: true)] + private List? _filterSubAccountUins; + public List FilterSubAccountUins + { + get => _filterSubAccountUins ?? (_filterSubAccountUins = new List()); + set => _filterSubAccountUins = value; + } + + [Input("resultOutputFile")] + public string? ResultOutputFile { get; set; } + + public GetSubAccountsArgs() + { + } + public static new GetSubAccountsArgs Empty => new GetSubAccountsArgs(); + } + + public sealed class GetSubAccountsInvokeArgs : global::Pulumi.InvokeArgs + { + [Input("filterSubAccountUins", required: true)] + private InputList? _filterSubAccountUins; + public InputList FilterSubAccountUins + { + get => _filterSubAccountUins ?? (_filterSubAccountUins = new InputList()); + set => _filterSubAccountUins = value; + } + + [Input("resultOutputFile")] + public Input? ResultOutputFile { get; set; } + + public GetSubAccountsInvokeArgs() + { + } + public static new GetSubAccountsInvokeArgs Empty => new GetSubAccountsInvokeArgs(); + } + + + [OutputType] + public sealed class GetSubAccountsResult + { + public readonly ImmutableArray FilterSubAccountUins; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + public readonly string? ResultOutputFile; + public readonly ImmutableArray CamSubAccounts; + + [OutputConstructor] + private GetSubAccountsResult( + ImmutableArray filterSubAccountUins, + + string id, + + string? resultOutputFile, + + ImmutableArray subAccounts) + { + FilterSubAccountUins = filterSubAccountUins; + Id = id; + ResultOutputFile = resultOutputFile; + CamSubAccounts = subAccounts; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Cam/Outputs/GetRoleDetailRoleInfoResult.cs b/sdk/dotnet/Tencentcloud/Cam/Outputs/GetRoleDetailRoleInfoResult.cs new file mode 100644 index 000000000..937975c9d --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cam/Outputs/GetRoleDetailRoleInfoResult.cs @@ -0,0 +1,103 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cam.Outputs +{ + + [OutputType] + public sealed class GetRoleDetailRoleInfoResult + { + /// + /// Time role created + /// + public readonly string AddTime; + /// + /// If login is allowed for the role + /// + public readonly int ConsoleLogin; + /// + /// Task identifier for deleting a service-linked role + /// Note: this field may return null, indicating that no valid values can be obtained. + /// + public readonly string DeletionTaskId; + /// + /// Role description + /// + public readonly string Description; + /// + /// Role policy document + /// + public readonly string PolicyDocument; + /// + /// Role ID + /// + public readonly string RoleId; + /// + /// Role name + /// + public readonly string RoleName; + /// + /// User role. Valid values: `user`, `system`, `service_linked` + /// Note: this field may return null, indicating that no valid values can be obtained. + /// + public readonly string RoleType; + /// + /// Valid period + /// Note: this field may return null, indicating that no valid values can be obtained. + /// + public readonly int SessionDuration; + /// + /// Tags. + /// Note: This field may return `null`, indicating that no valid values can be obtained. + /// + public readonly ImmutableArray Tags; + /// + /// Time role last updated + /// + public readonly string UpdateTime; + + [OutputConstructor] + private GetRoleDetailRoleInfoResult( + string addTime, + + int consoleLogin, + + string deletionTaskId, + + string description, + + string policyDocument, + + string roleId, + + string roleName, + + string roleType, + + int sessionDuration, + + ImmutableArray tags, + + string updateTime) + { + AddTime = addTime; + ConsoleLogin = consoleLogin; + DeletionTaskId = deletionTaskId; + Description = description; + PolicyDocument = policyDocument; + RoleId = roleId; + RoleName = roleName; + RoleType = roleType; + SessionDuration = sessionDuration; + Tags = tags; + UpdateTime = updateTime; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Cam/Outputs/GetRoleDetailRoleInfoTagResult.cs b/sdk/dotnet/Tencentcloud/Cam/Outputs/GetRoleDetailRoleInfoTagResult.cs new file mode 100644 index 000000000..4775b7eac --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cam/Outputs/GetRoleDetailRoleInfoTagResult.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.Cam.Outputs +{ + + [OutputType] + public sealed class GetRoleDetailRoleInfoTagResult + { + /// + /// Tag key. + /// + public readonly string Key; + /// + /// Tag value. + /// + public readonly string Value; + + [OutputConstructor] + private GetRoleDetailRoleInfoTagResult( + string key, + + string value) + { + Key = key; + Value = value; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Cam/Outputs/GetSubAccountsSubAccountResult.cs b/sdk/dotnet/Tencentcloud/Cam/Outputs/GetSubAccountsSubAccountResult.cs new file mode 100644 index 000000000..e428a6d19 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cam/Outputs/GetSubAccountsSubAccountResult.cs @@ -0,0 +1,73 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cam.Outputs +{ + + [OutputType] + public sealed class GetSubAccountsSubAccountResult + { + /// + /// Creation time + /// Note: this field may return null, indicating that no valid values can be obtained. + /// + public readonly string CreateTime; + public readonly string LastLoginIp; + public readonly string LastLoginTime; + /// + /// Sub-user name + /// + public readonly string Name; + /// + /// Sub-user remarks + /// + public readonly string Remark; + /// + /// Sub-user UID. UID is the unique identifier of a user who is a message recipient, while UIN is a unique identifier of a user. + /// + public readonly int Uid; + /// + /// Sub-user ID + /// + public readonly int Uin; + /// + /// User type (1: root account; 2: sub-user; 3: WeCom sub-user; 4: collaborator; 5: message recipient) + /// + public readonly int UserType; + + [OutputConstructor] + private GetSubAccountsSubAccountResult( + string createTime, + + string lastLoginIp, + + string lastLoginTime, + + string name, + + string remark, + + int uid, + + int uin, + + int userType) + { + CreateTime = createTime; + LastLoginIp = lastLoginIp; + LastLoginTime = lastLoginTime; + Name = name; + Remark = remark; + Uid = uid; + Uin = uin; + UserType = userType; + } + } +} 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/GetRouteTableInputPolicies.cs b/sdk/dotnet/Tencentcloud/Ccn/GetRouteTableInputPolicies.cs new file mode 100644 index 000000000..1abf4a024 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ccn/GetRouteTableInputPolicies.cs @@ -0,0 +1,174 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are 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 GetRouteTableInputPolicies + { + /// + /// Use this data source to query CCN route table input policies. + /// + /// ## 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.Ccn.GetRouteTableInputPolicies.Invoke(new() + /// { + /// CcnId = "ccn-06jek8tf", + /// RouteTableId = "ccnrtb-4jv5ltb9", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Task InvokeAsync(GetRouteTableInputPoliciesArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("tencentcloud:Ccn/getRouteTableInputPolicies:getRouteTableInputPolicies", args ?? new GetRouteTableInputPoliciesArgs(), options.WithDefaults()); + + /// + /// Use this data source to query CCN route table input policies. + /// + /// ## 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.Ccn.GetRouteTableInputPolicies.Invoke(new() + /// { + /// CcnId = "ccn-06jek8tf", + /// RouteTableId = "ccnrtb-4jv5ltb9", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Output Invoke(GetRouteTableInputPoliciesInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("tencentcloud:Ccn/getRouteTableInputPolicies:getRouteTableInputPolicies", args ?? new GetRouteTableInputPoliciesInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetRouteTableInputPoliciesArgs : global::Pulumi.InvokeArgs + { + /// + /// CCN Instance ID. + /// + [Input("ccnId", required: true)] + public string CcnId { get; set; } = null!; + + /// + /// Policy version. + /// + [Input("policyVersion")] + public int? PolicyVersion { get; set; } + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public string? ResultOutputFile { get; set; } + + /// + /// CCN Route table ID. + /// + [Input("routeTableId", required: true)] + public string RouteTableId { get; set; } = null!; + + public GetRouteTableInputPoliciesArgs() + { + } + public static new GetRouteTableInputPoliciesArgs Empty => new GetRouteTableInputPoliciesArgs(); + } + + public sealed class GetRouteTableInputPoliciesInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// CCN Instance ID. + /// + [Input("ccnId", required: true)] + public Input CcnId { get; set; } = null!; + + /// + /// Policy version. + /// + [Input("policyVersion")] + public Input? PolicyVersion { get; set; } + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public Input? ResultOutputFile { get; set; } + + /// + /// CCN Route table ID. + /// + [Input("routeTableId", required: true)] + public Input RouteTableId { get; set; } = null!; + + public GetRouteTableInputPoliciesInvokeArgs() + { + } + public static new GetRouteTableInputPoliciesInvokeArgs Empty => new GetRouteTableInputPoliciesInvokeArgs(); + } + + + [OutputType] + public sealed class GetRouteTableInputPoliciesResult + { + public readonly string CcnId; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + /// + /// Policy set. + /// + public readonly ImmutableArray PolicySets; + public readonly int? PolicyVersion; + public readonly string? ResultOutputFile; + public readonly string RouteTableId; + + [OutputConstructor] + private GetRouteTableInputPoliciesResult( + string ccnId, + + string id, + + ImmutableArray policySets, + + int? policyVersion, + + string? resultOutputFile, + + string routeTableId) + { + CcnId = ccnId; + Id = id; + PolicySets = policySets; + PolicyVersion = policyVersion; + ResultOutputFile = resultOutputFile; + RouteTableId = routeTableId; + } + } +} 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/GetRouteTableInputPoliciesPolicySetPolicyResult.cs b/sdk/dotnet/Tencentcloud/Ccn/Outputs/GetRouteTableInputPoliciesPolicySetPolicyResult.cs new file mode 100644 index 000000000..19ccb07d6 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ccn/Outputs/GetRouteTableInputPoliciesPolicySetPolicyResult.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 GetRouteTableInputPoliciesPolicySetPolicyResult + { + /// + /// Routing behavior, `accept` allows, `drop` rejects. + /// + public readonly string Action; + /// + /// as-path operate mode + /// + public readonly string? AsPathOperateMode; + /// + /// Policy description + /// + public readonly string Description; + /// + /// as-path operate + /// + public readonly string? OperateAsPath; + /// + /// Routing conditions. + /// + public readonly ImmutableArray RouteConditions; + + [OutputConstructor] + private GetRouteTableInputPoliciesPolicySetPolicyResult( + string action, + + string? asPathOperateMode, + + string description, + + string? operateAsPath, + + ImmutableArray routeConditions) + { + Action = action; + AsPathOperateMode = asPathOperateMode; + Description = description; + OperateAsPath = operateAsPath; + RouteConditions = routeConditions; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Ccn/Outputs/GetRouteTableInputPoliciesPolicySetPolicyRouteConditionResult.cs b/sdk/dotnet/Tencentcloud/Ccn/Outputs/GetRouteTableInputPoliciesPolicySetPolicyRouteConditionResult.cs new file mode 100644 index 000000000..59553643f --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ccn/Outputs/GetRouteTableInputPoliciesPolicySetPolicyRouteConditionResult.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 GetRouteTableInputPoliciesPolicySetPolicyRouteConditionResult + { + /// + /// 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 GetRouteTableInputPoliciesPolicySetPolicyRouteConditionResult( + int matchPattern, + + string name, + + ImmutableArray values) + { + MatchPattern = matchPattern; + Name = name; + Values = values; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Ccn/Outputs/GetRouteTableInputPoliciesPolicySetResult.cs b/sdk/dotnet/Tencentcloud/Ccn/Outputs/GetRouteTableInputPoliciesPolicySetResult.cs new file mode 100644 index 000000000..05e6a8e37 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ccn/Outputs/GetRouteTableInputPoliciesPolicySetResult.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 GetRouteTableInputPoliciesPolicySetResult + { + /// + /// Create time. + /// + public readonly string? CreateTime; + /// + /// Policy version. + /// + public readonly int? PolicyVersion; + /// + /// Policys. + /// + public readonly ImmutableArray Policys; + + [OutputConstructor] + private GetRouteTableInputPoliciesPolicySetResult( + string? createTime, + + int? policyVersion, + + ImmutableArray policys) + { + CreateTime = createTime; + PolicyVersion = policyVersion; + Policys = policys; + } + } +} 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..9a43db421 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 = "ccnr-5uhewx1s", + /// 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..9d147c28c 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; } @@ -43,6 +43,12 @@ public InputList BackupOriginLists [Input("cosPrivateAccess")] public Input? CosPrivateAccess { get; set; } + /// + /// Object storage back to the source vendor. Required when the source station type is a third-party storage source station (third_party). Optional values include the following: `aws_s3`: AWS S3; `ali_oss`: Alibaba Cloud OSS; `hw_obs`: Huawei OBS; `qiniu_kodo`: Qiniu Cloud kodo; `others`: other vendors' object storage, only supports object storage compatible with AWS signature algorithm, such as Tencent Cloud Financial Zone COS. Example value: `hw_obs`. + /// + [Input("originCompany")] + public Input? OriginCompany { get; set; } + [Input("originLists", required: true)] private InputList? _originLists; @@ -62,7 +68,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..792fa2c90 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; } @@ -43,6 +43,12 @@ public InputList BackupOriginLists [Input("cosPrivateAccess")] public Input? CosPrivateAccess { get; set; } + /// + /// Object storage back to the source vendor. Required when the source station type is a third-party storage source station (third_party). Optional values include the following: `aws_s3`: AWS S3; `ali_oss`: Alibaba Cloud OSS; `hw_obs`: Huawei OBS; `qiniu_kodo`: Qiniu Cloud kodo; `others`: other vendors' object storage, only supports object storage compatible with AWS signature algorithm, such as Tencent Cloud Financial Zone COS. Example value: `hw_obs`. + /// + [Input("originCompany")] + public Input? OriginCompany { get; set; } + [Input("originLists", required: true)] private InputList? _originLists; @@ -62,7 +68,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..839e967f3 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; /// @@ -31,6 +31,10 @@ public sealed class DomainOrigin /// public readonly string? CosPrivateAccess; /// + /// Object storage back to the source vendor. Required when the source station type is a third-party storage source station (third_party). Optional values include the following: `aws_s3`: AWS S3; `ali_oss`: Alibaba Cloud OSS; `hw_obs`: Huawei OBS; `qiniu_kodo`: Qiniu Cloud kodo; `others`: other vendors' object storage, only supports object storage compatible with AWS signature algorithm, such as Tencent Cloud Financial Zone COS. Example value: `hw_obs`. + /// + public readonly string? OriginCompany; + /// /// 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`. /// public readonly ImmutableArray OriginLists; @@ -39,7 +43,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; /// @@ -57,6 +61,8 @@ private DomainOrigin( string? cosPrivateAccess, + string? originCompany, + ImmutableArray originLists, string? originPullProtocol, @@ -69,6 +75,7 @@ private DomainOrigin( BackupOriginType = backupOriginType; BackupServerName = backupServerName; CosPrivateAccess = cosPrivateAccess; + OriginCompany = originCompany; OriginLists = originLists; OriginPullProtocol = originPullProtocol; OriginType = 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..4073bb811 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,14 +608,14 @@ 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")] public partial class Instance : global::Pulumi.CustomResource { /// - /// IP version, only applicable to open CLB. Valid values are `ipv4`, `ipv6` and `IPv6FullChain`. + /// It's only applicable to public network CLB instances. IP version. Values: `IPV4`, `IPV6` and `IPv6FullChain` (case-insensitive). Default: `IPV4`. Note: IPV6 indicates IPv6 NAT64, while IPv6FullChain indicates IPv6. /// [Output("addressIpVersion")] public Output AddressIpVersion { get; private set; } = null!; @@ -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!; /// @@ -645,7 +848,7 @@ public static Instance Get(string name, Input id, InstanceState? state = public sealed class InstanceArgs : global::Pulumi.ResourceArgs { /// - /// IP version, only applicable to open CLB. Valid values are `ipv4`, `ipv6` and `IPv6FullChain`. + /// It's only applicable to public network CLB instances. IP version. Values: `IPV4`, `IPV6` and `IPv6FullChain` (case-insensitive). Default: `IPV4`. Note: IPV6 indicates IPv6 NAT64, while IPv6FullChain indicates IPv6. /// [Input("addressIpVersion")] public Input? AddressIpVersion { get; set; } @@ -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. /// @@ -827,7 +1036,7 @@ public InstanceArgs() public sealed class InstanceState : global::Pulumi.ResourceArgs { /// - /// IP version, only applicable to open CLB. Valid values are `ipv4`, `ipv6` and `IPv6FullChain`. + /// It's only applicable to public network CLB instances. IP version. Values: `IPV4`, `IPV6` and `IPv6FullChain` (case-insensitive). Default: `IPV4`. Note: IPV6 indicates IPv6 NAT64, while IPv6FullChain indicates IPv6. /// [Input("addressIpVersion")] public Input? AddressIpVersion { get; set; } @@ -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/Listener.cs b/sdk/dotnet/Tencentcloud/Clb/Listener.cs index e6215ffe5..f26eaf5ef 100644 --- a/sdk/dotnet/Tencentcloud/Clb/Listener.cs +++ b/sdk/dotnet/Tencentcloud/Clb/Listener.cs @@ -310,6 +310,12 @@ public partial class Listener : global::Pulumi.CustomResource [Output("endPort")] public Output EndPort { get; private set; } = null!; + /// + /// Enable H2C switch for intranet HTTP listener. + /// + [Output("h2cSwitch")] + public Output H2cSwitch { get; private set; } = null!; + /// /// Health check protocol. When the value of `health_check_type` of the health check protocol is `CUSTOM`, this field is required, which represents the input format of the health check. Valid values: `HEX`, `TEXT`. /// @@ -543,6 +549,12 @@ public sealed class ListenerArgs : global::Pulumi.ResourceArgs [Input("endPort")] public Input? EndPort { get; set; } + /// + /// Enable H2C switch for intranet HTTP listener. + /// + [Input("h2cSwitch")] + public Input? H2cSwitch { get; set; } + /// /// Health check protocol. When the value of `health_check_type` of the health check protocol is `CUSTOM`, this field is required, which represents the input format of the health check. Valid values: `HEX`, `TEXT`. /// @@ -731,6 +743,12 @@ public sealed class ListenerState : global::Pulumi.ResourceArgs [Input("endPort")] public Input? EndPort { get; set; } + /// + /// Enable H2C switch for intranet HTTP listener. + /// + [Input("h2cSwitch")] + public Input? H2cSwitch { get; set; } + /// /// Health check protocol. When the value of `health_check_type` of the health check protocol is `CUSTOM`, this field is required, which represents the input format of the health check. Valid values: `HEX`, `TEXT`. /// diff --git a/sdk/dotnet/Tencentcloud/Clb/ListenerDefaultDomain.cs b/sdk/dotnet/Tencentcloud/Clb/ListenerDefaultDomain.cs new file mode 100644 index 000000000..e372542a8 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Clb/ListenerDefaultDomain.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.Clb +{ + /// + /// Provides a resource to set clb listener default domain + /// + /// ## Example Usage + /// + /// ### Set default domain + /// + /// <!--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.ListenerDefaultDomain("example", new() + /// { + /// ClbId = "lb-g1miv1ok", + /// Domain = "3.com", + /// ListenerId = "lbl-duilx5qm", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// CLB listener default domain can be imported using the id (version >= 1.47.0), e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Clb/listenerDefaultDomain:ListenerDefaultDomain example lb-k2zjp9lv#lbl-hh141sn9 + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Clb/listenerDefaultDomain:ListenerDefaultDomain")] + public partial class ListenerDefaultDomain : global::Pulumi.CustomResource + { + /// + /// ID of CLB instance. + /// + [Output("clbId")] + public Output ClbId { get; private set; } = null!; + + /// + /// 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!; + + /// + /// ID of CLB listener. + /// + [Output("listenerId")] + public Output ListenerId { get; private set; } = null!; + + /// + /// ID of this CLB listener rule. + /// + [Output("ruleId")] + public Output RuleId { get; private set; } = null!; + + + /// + /// Create a ListenerDefaultDomain 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 ListenerDefaultDomain(string name, ListenerDefaultDomainArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Clb/listenerDefaultDomain:ListenerDefaultDomain", name, args ?? new ListenerDefaultDomainArgs(), MakeResourceOptions(options, "")) + { + } + + private ListenerDefaultDomain(string name, Input id, ListenerDefaultDomainState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Clb/listenerDefaultDomain:ListenerDefaultDomain", 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 ListenerDefaultDomain 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 ListenerDefaultDomain Get(string name, Input id, ListenerDefaultDomainState? state = null, CustomResourceOptions? options = null) + { + return new ListenerDefaultDomain(name, id, state, options); + } + } + + public sealed class ListenerDefaultDomainArgs : global::Pulumi.ResourceArgs + { + /// + /// ID of CLB instance. + /// + [Input("clbId", required: true)] + public Input ClbId { get; set; } = null!; + + /// + /// Domain name 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!; + + /// + /// ID of CLB listener. + /// + [Input("listenerId", required: true)] + public Input ListenerId { get; set; } = null!; + + public ListenerDefaultDomainArgs() + { + } + public static new ListenerDefaultDomainArgs Empty => new ListenerDefaultDomainArgs(); + } + + public sealed class ListenerDefaultDomainState : global::Pulumi.ResourceArgs + { + /// + /// ID of CLB instance. + /// + [Input("clbId")] + public Input? ClbId { get; set; } + + /// + /// 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; } + + /// + /// ID of CLB listener. + /// + [Input("listenerId")] + public Input? ListenerId { get; set; } + + /// + /// ID of this CLB listener rule. + /// + [Input("ruleId")] + public Input? RuleId { get; set; } + + public ListenerDefaultDomainState() + { + } + public static new ListenerDefaultDomainState Empty => new ListenerDefaultDomainState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Clb/ListenerRule.cs b/sdk/dotnet/Tencentcloud/Clb/ListenerRule.cs index 17b6c121e..47bb4237c 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,13 +125,19 @@ 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!; /// - /// Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `TRPC`. The default is `HTTP`. + /// 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`, `GRPC`, `GRPCS`, `TRPC`. The default is `HTTP`. /// [Output("forwardType")] public Output ForwardType { get; private set; } = null!; @@ -147,7 +191,7 @@ public partial class ListenerRule : global::Pulumi.CustomResource public Output HealthCheckTimeOut { get; private set; } = null!; /// - /// Type of health check. Valid value is `CUSTOM`, `TCP`, `HTTP`. + /// Type of health check. Valid value is `CUSTOM`, `PING`, `TCP`, `HTTP`, `HTTPS`, `GRPC`, `GRPCS`. /// [Output("healthCheckType")] public Output HealthCheckType { get; private set; } = null!; @@ -278,13 +322,25 @@ 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`. + /// Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `GRPC`, `GRPCS`, `TRPC`. The default is `HTTP`. /// [Input("forwardType")] public Input? ForwardType { get; set; } @@ -338,7 +394,7 @@ public sealed class ListenerRuleArgs : global::Pulumi.ResourceArgs public Input? HealthCheckTimeOut { get; set; } /// - /// Type of health check. Valid value is `CUSTOM`, `TCP`, `HTTP`. + /// Type of health check. Valid value is `CUSTOM`, `PING`, `TCP`, `HTTP`, `HTTPS`, `GRPC`, `GRPCS`. /// [Input("healthCheckType")] public Input? HealthCheckType { get; set; } @@ -424,13 +480,25 @@ 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`. + /// Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `GRPC`, `GRPCS`, `TRPC`. The default is `HTTP`. /// [Input("forwardType")] public Input? ForwardType { get; set; } @@ -484,7 +552,7 @@ public sealed class ListenerRuleState : global::Pulumi.ResourceArgs public Input? HealthCheckTimeOut { get; set; } /// - /// Type of health check. Valid value is `CUSTOM`, `TCP`, `HTTP`. + /// Type of health check. Valid value is `CUSTOM`, `PING`, `TCP`, `HTTP`, `HTTPS`, `GRPC`, `GRPCS`. /// [Input("healthCheckType")] public Input? HealthCheckType { get; set; } 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..e0e79ac02 100644 --- a/sdk/dotnet/Tencentcloud/Cos/Bucket.cs +++ b/sdk/dotnet/Tencentcloud/Cos/Bucket.cs @@ -13,6 +13,8 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cos /// /// Provides a COS resource to create a COS bucket and set its attributes. /// + /// > **NOTE:** The following capabilities do not support cdc scenarios: `multi_az`, `website`, and bucket replication `replica_role`. + /// /// ## Example Usage /// /// ### Private Bucket @@ -31,10 +33,85 @@ 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", + /// }); + /// + /// }); + /// ``` + /// <!--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 region = "ap-guangzhou"; + /// + /// var cdcId = "cluster-262n63e8"; + /// + /// 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}"), /// 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 = false, + /// ForceClean = true, /// }); /// /// }); @@ -156,6 +233,59 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cos /// ``` /// <!--End PulumiCodeChooser --> /// + /// ### Using verbose acl 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 region = "ap-guangzhou"; + /// + /// var cdcId = "cluster-262n63e8"; + /// + /// var info = Tencentcloud.User.GetInfo.Invoke(); + /// + /// var appId = info.Apply(getInfoResult => getInfoResult.AppId); + /// + /// var bucketWithAcl = new Tencentcloud.Cos.Bucket("bucketWithAcl", new() + /// { + /// CosBucket = appId.Apply(appId => $"private-bucket-{appId}"), + /// Acl = "private", + /// AclBody = @"<AccessControlPolicy> + /// <Owner> + /// <ID>qcs::cam::uin/100023201586:uin/100023201586</ID> + /// <DisplayName>qcs::cam::uin/100023201586:uin/100023201586</DisplayName> + /// </Owner> + /// <AccessControlList> + /// <Grant> + /// <Grantee type=""CanonicalUser""> + /// <ID>qcs::cam::uin/100015006748:uin/100015006748</ID> + /// <DisplayName>qcs::cam::uin/100015006748:uin/100015006748</DisplayName> + /// </Grantee> + /// <Permission>WRITE</Permission> + /// </Grant> + /// <Grant> + /// <Grantee type=""CanonicalUser""> + /// <ID>qcs::cam::uin/100023201586:uin/100023201586</ID> + /// <DisplayName>qcs::cam::uin/100023201586:uin/100023201586</DisplayName> + /// </Grantee> + /// <Permission>FULL_CONTROL</Permission> + /// </Grant> + /// </AccessControlList> + /// </AccessControlPolicy> + /// ", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// /// ### Static Website /// /// <!--Start PulumiCodeChooser --> @@ -179,6 +309,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cos /// { /// IndexDocument = "index.html", /// ErrorDocument = "error.html", + /// RedirectAllRequestsTo = "https", /// }, /// }); /// @@ -240,6 +371,59 @@ 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 region = "ap-guangzhou"; + /// + /// var cdcId = "cluster-262n63e8"; + /// + /// 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}"), + /// 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 +469,47 @@ 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 region = "ap-guangzhou"; + /// + /// var cdcId = "cluster-262n63e8"; + /// + /// 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}"), + /// 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 +601,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 +626,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 +649,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 +798,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 +823,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 +846,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 +986,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 +1017,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 +1040,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/BucketPolicy.cs b/sdk/dotnet/Tencentcloud/Cos/BucketPolicy.cs index c642ec9d1..9abe9bca8 100644 --- a/sdk/dotnet/Tencentcloud/Cos/BucketPolicy.cs +++ b/sdk/dotnet/Tencentcloud/Cos/BucketPolicy.cs @@ -73,7 +73,7 @@ public partial class BucketPolicy : global::Pulumi.CustomResource public Output Bucket { get; private set; } = null!; /// - /// The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023). + /// The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023), The six-segment resource scenario example in the document is as follows: Example of specifying a bucket: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/*`; Example of specifying a folder: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/*`; Specified object example: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/exampleobject`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/exampleobject`. /// [Output("policy")] public Output Policy { get; private set; } = null!; @@ -132,7 +132,7 @@ public sealed class BucketPolicyArgs : global::Pulumi.ResourceArgs public Input Bucket { get; set; } = null!; /// - /// The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023). + /// The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023), The six-segment resource scenario example in the document is as follows: Example of specifying a bucket: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/*`; Example of specifying a folder: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/*`; Specified object example: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/exampleobject`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/exampleobject`. /// [Input("policy", required: true)] public Input Policy { get; set; } = null!; @@ -152,7 +152,7 @@ public sealed class BucketPolicyState : global::Pulumi.ResourceArgs public Input? Bucket { get; set; } /// - /// The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023). + /// The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023), The six-segment resource scenario example in the document is as follows: Example of specifying a bucket: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/*`; Example of specifying a folder: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/*`; Specified object example: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/exampleobject`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/exampleobject`. /// [Input("policy")] public Input? Policy { get; set; } 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/Inputs/BucketWebsiteArgs.cs b/sdk/dotnet/Tencentcloud/Cos/Inputs/BucketWebsiteArgs.cs index 2efc7d32f..57c66898f 100644 --- a/sdk/dotnet/Tencentcloud/Cos/Inputs/BucketWebsiteArgs.cs +++ b/sdk/dotnet/Tencentcloud/Cos/Inputs/BucketWebsiteArgs.cs @@ -31,6 +31,12 @@ public sealed class BucketWebsiteArgs : global::Pulumi.ResourceArgs [Input("indexDocument")] public Input? IndexDocument { get; set; } + /// + /// Redirects all request configurations. Valid values: http, https. Default is `http`. + /// + [Input("redirectAllRequestsTo")] + public Input? RedirectAllRequestsTo { get; set; } + public BucketWebsiteArgs() { } diff --git a/sdk/dotnet/Tencentcloud/Cos/Inputs/BucketWebsiteGetArgs.cs b/sdk/dotnet/Tencentcloud/Cos/Inputs/BucketWebsiteGetArgs.cs index a23d2c3ba..ac9883280 100644 --- a/sdk/dotnet/Tencentcloud/Cos/Inputs/BucketWebsiteGetArgs.cs +++ b/sdk/dotnet/Tencentcloud/Cos/Inputs/BucketWebsiteGetArgs.cs @@ -31,6 +31,12 @@ public sealed class BucketWebsiteGetArgs : global::Pulumi.ResourceArgs [Input("indexDocument")] public Input? IndexDocument { get; set; } + /// + /// Redirects all request configurations. Valid values: http, https. Default is `http`. + /// + [Input("redirectAllRequestsTo")] + public Input? RedirectAllRequestsTo { get; set; } + public BucketWebsiteGetArgs() { } diff --git a/sdk/dotnet/Tencentcloud/Cos/ObjectCopyOperation.cs b/sdk/dotnet/Tencentcloud/Cos/ObjectCopyOperation.cs index 0d38b8ae8..9f6bd8a3c 100644 --- a/sdk/dotnet/Tencentcloud/Cos/ObjectCopyOperation.cs +++ b/sdk/dotnet/Tencentcloud/Cos/ObjectCopyOperation.cs @@ -51,7 +51,7 @@ public partial class ObjectCopyOperation : global::Pulumi.CustomResource public Output Key { get; private set; } = null!; /// - /// Object key. + /// Source url. In the CDC scenario, the CDC source url is used. /// [Output("sourceUrl")] public Output SourceUrl { get; private set; } = null!; @@ -116,7 +116,7 @@ public sealed class ObjectCopyOperationArgs : global::Pulumi.ResourceArgs public Input Key { get; set; } = null!; /// - /// Object key. + /// Source url. In the CDC scenario, the CDC source url is used. /// [Input("sourceUrl", required: true)] public Input SourceUrl { get; set; } = null!; @@ -142,7 +142,7 @@ public sealed class ObjectCopyOperationState : global::Pulumi.ResourceArgs public Input? Key { get; set; } /// - /// Object key. + /// Source url. In the CDC scenario, the CDC source url is used. /// [Input("sourceUrl")] public Input? SourceUrl { get; set; } 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/Cos/Outputs/BucketWebsite.cs b/sdk/dotnet/Tencentcloud/Cos/Outputs/BucketWebsite.cs index 94312181b..ece3fec7f 100644 --- a/sdk/dotnet/Tencentcloud/Cos/Outputs/BucketWebsite.cs +++ b/sdk/dotnet/Tencentcloud/Cos/Outputs/BucketWebsite.cs @@ -26,6 +26,10 @@ public sealed class BucketWebsite /// COS returns this index document when requests are made to the root domain or any of the subfolders. /// public readonly string? IndexDocument; + /// + /// Redirects all request configurations. Valid values: http, https. Default is `http`. + /// + public readonly string? RedirectAllRequestsTo; [OutputConstructor] private BucketWebsite( @@ -33,11 +37,14 @@ private BucketWebsite( string? errorDocument, - string? indexDocument) + string? indexDocument, + + string? redirectAllRequestsTo) { Endpoint = endpoint; ErrorDocument = errorDocument; IndexDocument = indexDocument; + RedirectAllRequestsTo = redirectAllRequestsTo; } } } diff --git a/sdk/dotnet/Tencentcloud/Cvm/ActionTimer.cs b/sdk/dotnet/Tencentcloud/Cvm/ActionTimer.cs new file mode 100644 index 000000000..f612a6d3e --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cvm/ActionTimer.cs @@ -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! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cvm +{ + /// + /// Provides a resource to create a CVM instance action timer + /// + /// ## Example Usage + /// + /// <!--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-6"; + /// var images = Tencentcloud.Images.GetInstance.Invoke(new() + /// { + /// ImageTypes = new[] + /// { + /// "PUBLIC_IMAGE", + /// }, + /// ImageNameRegex = "TencentOS Server", + /// }); + /// + /// // 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() + /// { + /// VpcId = vpc.Id, + /// AvailabilityZone = availabilityZone, + /// CidrBlock = "10.0.20.0/28", + /// IsMulticast = false, + /// }); + /// + /// // create cvm + /// var exampleInstance = new Tencentcloud.Instance.Instance("exampleInstance", new() + /// { + /// InstanceName = "tf_example", + /// AvailabilityZone = availabilityZone, + /// ImageId = images.Apply(getInstanceResult => getInstanceResult.Images[0]?.ImageId), + /// InstanceType = "SA3.MEDIUM4", + /// SystemDiskType = "CLOUD_HSSD", + /// SystemDiskSize = 100, + /// Hostname = "example", + /// ProjectId = 0, + /// VpcId = vpc.Id, + /// SubnetId = subnet.Id, + /// DataDisks = new[] + /// { + /// new Tencentcloud.Instance.Inputs.InstanceDataDiskArgs + /// { + /// DataDiskType = "CLOUD_HSSD", + /// DataDiskSize = 50, + /// Encrypt = false, + /// }, + /// }, + /// Tags = + /// { + /// { "createBy", "terraform" }, + /// }, + /// }); + /// + /// // create cvm action timer + /// var exampleActionTimer = new Tencentcloud.Cvm.ActionTimer("exampleActionTimer", new() + /// { + /// InstanceId = exampleInstance.Id, + /// CvmActionTimer = new Tencentcloud.Cvm.Inputs.ActionTimerActionTimerArgs + /// { + /// TimerAction = "TerminateInstances", + /// ActionTime = "2024-11-11T11:26:40Z", + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + [TencentcloudResourceType("tencentcloud:Cvm/actionTimer:ActionTimer")] + public partial class ActionTimer : global::Pulumi.CustomResource + { + /// + /// Scheduled tasks. This parameter can be used to specify scheduled tasks for instances, and currently only supports scheduled destruction. + /// + [Output("actionTimer")] + public Output CvmActionTimer { get; private set; } = null!; + + /// + /// Instance ID. + /// + [Output("instanceId")] + public Output InstanceId { get; private set; } = null!; + + + /// + /// Create a ActionTimer 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 ActionTimer(string name, ActionTimerArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Cvm/actionTimer:ActionTimer", name, args ?? new ActionTimerArgs(), MakeResourceOptions(options, "")) + { + } + + private ActionTimer(string name, Input id, ActionTimerState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Cvm/actionTimer:ActionTimer", 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 ActionTimer 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 ActionTimer Get(string name, Input id, ActionTimerState? state = null, CustomResourceOptions? options = null) + { + return new ActionTimer(name, id, state, options); + } + } + + public sealed class ActionTimerArgs : global::Pulumi.ResourceArgs + { + /// + /// Scheduled tasks. This parameter can be used to specify scheduled tasks for instances, and currently only supports scheduled destruction. + /// + [Input("actionTimer", required: true)] + public Input CvmActionTimer { get; set; } = null!; + + /// + /// Instance ID. + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; + + public ActionTimerArgs() + { + } + public static new ActionTimerArgs Empty => new ActionTimerArgs(); + } + + public sealed class ActionTimerState : global::Pulumi.ResourceArgs + { + /// + /// Scheduled tasks. This parameter can be used to specify scheduled tasks for instances, and currently only supports scheduled destruction. + /// + [Input("actionTimer")] + public Input? CvmActionTimer { get; set; } + + /// + /// Instance ID. + /// + [Input("instanceId")] + public Input? InstanceId { get; set; } + + public ActionTimerState() + { + } + public static new ActionTimerState Empty => new ActionTimerState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Cvm/Inputs/ActionTimerActionTimerArgs.cs b/sdk/dotnet/Tencentcloud/Cvm/Inputs/ActionTimerActionTimerArgs.cs new file mode 100644 index 000000000..d7f1a778e --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cvm/Inputs/ActionTimerActionTimerArgs.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.Cvm.Inputs +{ + + public sealed class ActionTimerActionTimerArgs : global::Pulumi.ResourceArgs + { + /// + /// Execution time, expressed according to ISO8601 standard and using UTC time. The format is YYYY-MM-DDThh:mm:ssZ. For example, 2018-05-29T11:26:40Z, the execution time must be 5 minutes longer than the current time. + /// + [Input("actionTime")] + public Input? ActionTime { get; set; } + + /// + /// Timer action, currently only supports destroying one value: TerminateInstances. + /// + [Input("timerAction")] + public Input? TimerAction { get; set; } + + public ActionTimerActionTimerArgs() + { + } + public static new ActionTimerActionTimerArgs Empty => new ActionTimerActionTimerArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Cvm/Inputs/ActionTimerActionTimerGetArgs.cs b/sdk/dotnet/Tencentcloud/Cvm/Inputs/ActionTimerActionTimerGetArgs.cs new file mode 100644 index 000000000..8602a964e --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cvm/Inputs/ActionTimerActionTimerGetArgs.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.Cvm.Inputs +{ + + public sealed class ActionTimerActionTimerGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Execution time, expressed according to ISO8601 standard and using UTC time. The format is YYYY-MM-DDThh:mm:ssZ. For example, 2018-05-29T11:26:40Z, the execution time must be 5 minutes longer than the current time. + /// + [Input("actionTime")] + public Input? ActionTime { get; set; } + + /// + /// Timer action, currently only supports destroying one value: TerminateInstances. + /// + [Input("timerAction")] + public Input? TimerAction { get; set; } + + public ActionTimerActionTimerGetArgs() + { + } + public static new ActionTimerActionTimerGetArgs Empty => new ActionTimerActionTimerGetArgs(); + } +} 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/ActionTimerActionTimer.cs b/sdk/dotnet/Tencentcloud/Cvm/Outputs/ActionTimerActionTimer.cs new file mode 100644 index 000000000..9b2e3c469 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cvm/Outputs/ActionTimerActionTimer.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.Cvm.Outputs +{ + + [OutputType] + public sealed class ActionTimerActionTimer + { + /// + /// Execution time, expressed according to ISO8601 standard and using UTC time. The format is YYYY-MM-DDThh:mm:ssZ. For example, 2018-05-29T11:26:40Z, the execution time must be 5 minutes longer than the current time. + /// + public readonly string? ActionTime; + /// + /// Timer action, currently only supports destroying one value: TerminateInstances. + /// + public readonly string? TimerAction; + + [OutputConstructor] + private ActionTimerActionTimer( + string? actionTime, + + string? timerAction) + { + ActionTime = actionTime; + TimerAction = timerAction; + } + } +} 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..00cb5b97a 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. /// @@ -194,20 +200,28 @@ public partial class Cluster : global::Pulumi.CustomResource [Output("placementInfo")] public Output PlacementInfo { get; private set; } = null!; + /// + /// Pre executed file settings. It can only be set at the time of creation, and cannot be modified. + /// + [Output("preExecutedFileSettings")] + public Output> PreExecutedFileSettings { get; private set; } = null!; + /// /// Product ID. Different products ID represents different EMR product versions. Value range: /// - 16: represents EMR-V2.3.0 - /// - 20: indicates EMR-V2.5.0 + /// - 20: represents EMR-V2.5.0 /// - 25: represents EMR-V3.1.0 /// - 27: represents KAFKA-V1.0.0 - /// - 30: indicates EMR-V2.6.0 + /// - 30: represents EMR-V2.6.0 /// - 33: represents EMR-V3.2.1 - /// - 34: stands for EMR-V3.3.0 - /// - 36: represents STARROCKS-V1.0.0 - /// - 37: indicates EMR-V3.4.0 + /// - 34: represents EMR-V3.3.0 + /// - 37: represents EMR-V3.4.0 /// - 38: represents EMR-V2.7.0 - /// - 39: stands for STARROCKS-V1.1.0 - /// - 41: represents DRUID-V1.1.0. + /// - 44: represents EMR-V3.5.0 + /// - 50: represents KAFKA-V2.0.0 + /// - 51: represents STARROCKS-V1.4.0 + /// - 53: represents EMR-V3.6.0 + /// - 54: represents STARROCKS-V2.0.0. /// [Output("productId")] public Output ProductId { get; private set; } = null!; @@ -242,6 +256,12 @@ public partial class Cluster : global::Pulumi.CustomResource [Output("tags")] public Output> Tags { get; private set; } = null!; + /// + /// Terminate nodes. Note: it only works when the number of nodes decreases. + /// + [Output("terminateNodeInfos")] + public Output> TerminateNodeInfos { get; private set; } = null!; + /// /// The length of time the instance was purchased. Use with TimeUnit.When TimeUnit is s, the parameter can only be filled in at 3600, representing a metered instance. /// When TimeUnit is m, the number filled in by this parameter indicates the length of purchase of the monthly instance of the package year, such as 1 for one month of purchase. @@ -312,6 +332,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. /// @@ -380,20 +406,34 @@ public InputMap Placement [Input("placementInfo")] public Input? PlacementInfo { get; set; } + [Input("preExecutedFileSettings")] + private InputList? _preExecutedFileSettings; + + /// + /// Pre executed file settings. It can only be set at the time of creation, and cannot be modified. + /// + public InputList PreExecutedFileSettings + { + get => _preExecutedFileSettings ?? (_preExecutedFileSettings = new InputList()); + set => _preExecutedFileSettings = value; + } + /// /// Product ID. Different products ID represents different EMR product versions. Value range: /// - 16: represents EMR-V2.3.0 - /// - 20: indicates EMR-V2.5.0 + /// - 20: represents EMR-V2.5.0 /// - 25: represents EMR-V3.1.0 /// - 27: represents KAFKA-V1.0.0 - /// - 30: indicates EMR-V2.6.0 + /// - 30: represents EMR-V2.6.0 /// - 33: represents EMR-V3.2.1 - /// - 34: stands for EMR-V3.3.0 - /// - 36: represents STARROCKS-V1.0.0 - /// - 37: indicates EMR-V3.4.0 + /// - 34: represents EMR-V3.3.0 + /// - 37: represents EMR-V3.4.0 /// - 38: represents EMR-V2.7.0 - /// - 39: stands for STARROCKS-V1.1.0 - /// - 41: represents DRUID-V1.1.0. + /// - 44: represents EMR-V3.5.0 + /// - 50: represents KAFKA-V2.0.0 + /// - 51: represents STARROCKS-V1.4.0 + /// - 53: represents EMR-V3.6.0 + /// - 54: represents STARROCKS-V2.0.0. /// [Input("productId", required: true)] public Input ProductId { get; set; } = null!; @@ -440,6 +480,18 @@ public InputMap Tags set => _tags = value; } + [Input("terminateNodeInfos")] + private InputList? _terminateNodeInfos; + + /// + /// Terminate nodes. Note: it only works when the number of nodes decreases. + /// + public InputList TerminateNodeInfos + { + get => _terminateNodeInfos ?? (_terminateNodeInfos = new InputList()); + set => _terminateNodeInfos = value; + } + /// /// The length of time the instance was purchased. Use with TimeUnit.When TimeUnit is s, the parameter can only be filled in at 3600, representing a metered instance. /// When TimeUnit is m, the number filled in by this parameter indicates the length of purchase of the monthly instance of the package year, such as 1 for one month of purchase. @@ -473,6 +525,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. /// @@ -547,20 +605,34 @@ public InputMap Placement [Input("placementInfo")] public Input? PlacementInfo { get; set; } + [Input("preExecutedFileSettings")] + private InputList? _preExecutedFileSettings; + + /// + /// Pre executed file settings. It can only be set at the time of creation, and cannot be modified. + /// + public InputList PreExecutedFileSettings + { + get => _preExecutedFileSettings ?? (_preExecutedFileSettings = new InputList()); + set => _preExecutedFileSettings = value; + } + /// /// Product ID. Different products ID represents different EMR product versions. Value range: /// - 16: represents EMR-V2.3.0 - /// - 20: indicates EMR-V2.5.0 + /// - 20: represents EMR-V2.5.0 /// - 25: represents EMR-V3.1.0 /// - 27: represents KAFKA-V1.0.0 - /// - 30: indicates EMR-V2.6.0 + /// - 30: represents EMR-V2.6.0 /// - 33: represents EMR-V3.2.1 - /// - 34: stands for EMR-V3.3.0 - /// - 36: represents STARROCKS-V1.0.0 - /// - 37: indicates EMR-V3.4.0 + /// - 34: represents EMR-V3.3.0 + /// - 37: represents EMR-V3.4.0 /// - 38: represents EMR-V2.7.0 - /// - 39: stands for STARROCKS-V1.1.0 - /// - 41: represents DRUID-V1.1.0. + /// - 44: represents EMR-V3.5.0 + /// - 50: represents KAFKA-V2.0.0 + /// - 51: represents STARROCKS-V1.4.0 + /// - 53: represents EMR-V3.6.0 + /// - 54: represents STARROCKS-V2.0.0. /// [Input("productId")] public Input? ProductId { get; set; } @@ -607,6 +679,18 @@ public InputMap Tags set => _tags = value; } + [Input("terminateNodeInfos")] + private InputList? _terminateNodeInfos; + + /// + /// Terminate nodes. Note: it only works when the number of nodes decreases. + /// + public InputList TerminateNodeInfos + { + get => _terminateNodeInfos ?? (_terminateNodeInfos = new InputList()); + set => _terminateNodeInfos = value; + } + /// /// The length of time the instance was purchased. Use with TimeUnit.When TimeUnit is s, the parameter can only be filled in at 3600, representing a metered instance. /// When TimeUnit is m, the number filled in by this parameter indicates the length of purchase of the monthly instance of the package year, such as 1 for one month of purchase. diff --git a/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterPreExecutedFileSettingArgs.cs b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterPreExecutedFileSettingArgs.cs new file mode 100644 index 000000000..1222b4173 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterPreExecutedFileSettingArgs.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.Emr.Inputs +{ + + public sealed class ClusterPreExecutedFileSettingArgs : global::Pulumi.ResourceArgs + { + [Input("args")] + private InputList? _args; + + /// + /// Execution script parameters. + /// + public InputList Args + { + get => _args ?? (_args = new InputList()); + set => _args = value; + } + + /// + /// Script file name. + /// + [Input("cosFileName")] + public Input? CosFileName { get; set; } + + /// + /// The cos address of the script. + /// + [Input("cosFileUri")] + public Input? CosFileUri { get; set; } + + /// + /// Cos secretId. + /// + [Input("cosSecretId")] + public Input? CosSecretId { get; set; } + + /// + /// Cos secretKey. + /// + [Input("cosSecretKey")] + public Input? CosSecretKey { get; set; } + + /// + /// Remark. + /// + [Input("remark")] + public Input? Remark { get; set; } + + /// + /// Run order. + /// + [Input("runOrder")] + public Input? RunOrder { get; set; } + + /// + /// `resourceAfter` or `clusterAfter`. + /// + [Input("whenRun")] + public Input? WhenRun { get; set; } + + public ClusterPreExecutedFileSettingArgs() + { + } + public static new ClusterPreExecutedFileSettingArgs Empty => new ClusterPreExecutedFileSettingArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterPreExecutedFileSettingGetArgs.cs b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterPreExecutedFileSettingGetArgs.cs new file mode 100644 index 000000000..d5ee8e848 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterPreExecutedFileSettingGetArgs.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.Emr.Inputs +{ + + public sealed class ClusterPreExecutedFileSettingGetArgs : global::Pulumi.ResourceArgs + { + [Input("args")] + private InputList? _args; + + /// + /// Execution script parameters. + /// + public InputList Args + { + get => _args ?? (_args = new InputList()); + set => _args = value; + } + + /// + /// Script file name. + /// + [Input("cosFileName")] + public Input? CosFileName { get; set; } + + /// + /// The cos address of the script. + /// + [Input("cosFileUri")] + public Input? CosFileUri { get; set; } + + /// + /// Cos secretId. + /// + [Input("cosSecretId")] + public Input? CosSecretId { get; set; } + + /// + /// Cos secretKey. + /// + [Input("cosSecretKey")] + public Input? CosSecretKey { get; set; } + + /// + /// Remark. + /// + [Input("remark")] + public Input? Remark { get; set; } + + /// + /// Run order. + /// + [Input("runOrder")] + public Input? RunOrder { get; set; } + + /// + /// `resourceAfter` or `clusterAfter`. + /// + [Input("whenRun")] + public Input? WhenRun { get; set; } + + public ClusterPreExecutedFileSettingGetArgs() + { + } + public static new ClusterPreExecutedFileSettingGetArgs Empty => new ClusterPreExecutedFileSettingGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecArgs.cs b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecArgs.cs index daf20b700..d8eecbcc9 100644 --- a/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecArgs.cs +++ b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecArgs.cs @@ -19,6 +19,9 @@ public sealed class ClusterResourceSpecArgs : global::Pulumi.ResourceArgs [Input("commonCount")] public Input? CommonCount { get; set; } + /// + /// Resource details. + /// [Input("commonResourceSpec")] public Input? CommonResourceSpec { get; set; } @@ -28,6 +31,9 @@ public sealed class ClusterResourceSpecArgs : global::Pulumi.ResourceArgs [Input("coreCount")] public Input? CoreCount { get; set; } + /// + /// Resource details. + /// [Input("coreResourceSpec")] public Input? CoreResourceSpec { get; set; } @@ -37,6 +43,9 @@ public sealed class ClusterResourceSpecArgs : global::Pulumi.ResourceArgs [Input("masterCount")] public Input? MasterCount { get; set; } + /// + /// Resource details. + /// [Input("masterResourceSpec")] public Input? MasterResourceSpec { get; set; } @@ -46,6 +55,9 @@ public sealed class ClusterResourceSpecArgs : global::Pulumi.ResourceArgs [Input("taskCount")] public Input? TaskCount { get; set; } + /// + /// Resource details. + /// [Input("taskResourceSpec")] public Input? TaskResourceSpec { get; set; } diff --git a/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecCommonResourceSpecArgs.cs b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecCommonResourceSpecArgs.cs index 6fea0d5b0..c86bed5e5 100644 --- a/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecCommonResourceSpecArgs.cs +++ b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecCommonResourceSpecArgs.cs @@ -13,24 +13,65 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Emr.Inputs public sealed class ClusterResourceSpecCommonResourceSpecArgs : global::Pulumi.ResourceArgs { + /// + /// Number of CPU cores. + /// [Input("cpu")] public Input? Cpu { get; set; } + /// + /// Data disk capacity. + /// [Input("diskSize")] public Input? DiskSize { get; set; } + /// + /// disk types. Value range: + /// - CLOUD_SSD: Represents cloud SSD; + /// - CLOUD_PREMIUM: Represents efficient cloud disk; + /// - CLOUD_BASIC: Represents Cloud Block Storage. + /// [Input("diskType")] public Input? DiskType { get; set; } + /// + /// Memory size in M. + /// [Input("memSize")] public Input? MemSize { get; set; } + [Input("multiDisks")] + private InputList? _multiDisks; + + /// + /// Cloud disk list. When the data disk is a cloud disk, use disk_type and disk_size parameters directly, and use multi_disks for excess parts. + /// + public InputList MultiDisks + { + get => _multiDisks ?? (_multiDisks = new InputList()); + set => _multiDisks = value; + } + + /// + /// Root disk capacity. + /// [Input("rootSize")] public Input? RootSize { get; set; } + /// + /// Node specification description, such as CVM.SA2. + /// [Input("spec")] public Input? Spec { get; set; } + /// + /// Storage type. Value range: + /// - 4: Represents cloud SSD; + /// - 5: Represents efficient cloud disk; + /// - 6: Represents enhanced SSD Cloud Block Storage; + /// - 11: Represents throughput Cloud Block Storage; + /// - 12: Represents extremely fast SSD Cloud Block Storage. + /// [Input("storageType")] public Input? StorageType { get; set; } diff --git a/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecCommonResourceSpecGetArgs.cs b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecCommonResourceSpecGetArgs.cs index 51e13b190..100be7200 100644 --- a/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecCommonResourceSpecGetArgs.cs +++ b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecCommonResourceSpecGetArgs.cs @@ -13,24 +13,65 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Emr.Inputs public sealed class ClusterResourceSpecCommonResourceSpecGetArgs : global::Pulumi.ResourceArgs { + /// + /// Number of CPU cores. + /// [Input("cpu")] public Input? Cpu { get; set; } + /// + /// Data disk capacity. + /// [Input("diskSize")] public Input? DiskSize { get; set; } + /// + /// disk types. Value range: + /// - CLOUD_SSD: Represents cloud SSD; + /// - CLOUD_PREMIUM: Represents efficient cloud disk; + /// - CLOUD_BASIC: Represents Cloud Block Storage. + /// [Input("diskType")] public Input? DiskType { get; set; } + /// + /// Memory size in M. + /// [Input("memSize")] public Input? MemSize { get; set; } + [Input("multiDisks")] + private InputList? _multiDisks; + + /// + /// Cloud disk list. When the data disk is a cloud disk, use disk_type and disk_size parameters directly, and use multi_disks for excess parts. + /// + public InputList MultiDisks + { + get => _multiDisks ?? (_multiDisks = new InputList()); + set => _multiDisks = value; + } + + /// + /// Root disk capacity. + /// [Input("rootSize")] public Input? RootSize { get; set; } + /// + /// Node specification description, such as CVM.SA2. + /// [Input("spec")] public Input? Spec { get; set; } + /// + /// Storage type. Value range: + /// - 4: Represents cloud SSD; + /// - 5: Represents efficient cloud disk; + /// - 6: Represents enhanced SSD Cloud Block Storage; + /// - 11: Represents throughput Cloud Block Storage; + /// - 12: Represents extremely fast SSD Cloud Block Storage. + /// [Input("storageType")] public Input? StorageType { get; set; } diff --git a/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecCommonResourceSpecMultiDiskArgs.cs b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecCommonResourceSpecMultiDiskArgs.cs new file mode 100644 index 000000000..58e1bffad --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecCommonResourceSpecMultiDiskArgs.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Emr.Inputs +{ + + public sealed class ClusterResourceSpecCommonResourceSpecMultiDiskArgs : global::Pulumi.ResourceArgs + { + /// + /// Number of cloud disks of this type. + /// + [Input("count")] + public Input? Count { get; set; } + + /// + /// Cloud disk type + /// - CLOUD_SSD: Represents cloud SSD; + /// - CLOUD_PREMIUM: Represents efficient cloud disk; + /// - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + /// + [Input("diskType")] + public Input? DiskType { get; set; } + + /// + /// Cloud disk size. + /// + [Input("volume")] + public Input? Volume { get; set; } + + public ClusterResourceSpecCommonResourceSpecMultiDiskArgs() + { + } + public static new ClusterResourceSpecCommonResourceSpecMultiDiskArgs Empty => new ClusterResourceSpecCommonResourceSpecMultiDiskArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecCommonResourceSpecMultiDiskGetArgs.cs b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecCommonResourceSpecMultiDiskGetArgs.cs new file mode 100644 index 000000000..aa7fede0b --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecCommonResourceSpecMultiDiskGetArgs.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Emr.Inputs +{ + + public sealed class ClusterResourceSpecCommonResourceSpecMultiDiskGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Number of cloud disks of this type. + /// + [Input("count")] + public Input? Count { get; set; } + + /// + /// Cloud disk type + /// - CLOUD_SSD: Represents cloud SSD; + /// - CLOUD_PREMIUM: Represents efficient cloud disk; + /// - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + /// + [Input("diskType")] + public Input? DiskType { get; set; } + + /// + /// Cloud disk size. + /// + [Input("volume")] + public Input? Volume { get; set; } + + public ClusterResourceSpecCommonResourceSpecMultiDiskGetArgs() + { + } + public static new ClusterResourceSpecCommonResourceSpecMultiDiskGetArgs Empty => new ClusterResourceSpecCommonResourceSpecMultiDiskGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecCoreResourceSpecArgs.cs b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecCoreResourceSpecArgs.cs index 7760c190e..5471e5311 100644 --- a/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecCoreResourceSpecArgs.cs +++ b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecCoreResourceSpecArgs.cs @@ -13,24 +13,65 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Emr.Inputs public sealed class ClusterResourceSpecCoreResourceSpecArgs : global::Pulumi.ResourceArgs { + /// + /// Number of CPU cores. + /// [Input("cpu")] public Input? Cpu { get; set; } + /// + /// Data disk capacity. + /// [Input("diskSize")] public Input? DiskSize { get; set; } + /// + /// disk types. Value range: + /// - CLOUD_SSD: Represents cloud SSD; + /// - CLOUD_PREMIUM: Represents efficient cloud disk; + /// - CLOUD_BASIC: Represents Cloud Block Storage. + /// [Input("diskType")] public Input? DiskType { get; set; } + /// + /// Memory size in M. + /// [Input("memSize")] public Input? MemSize { get; set; } + [Input("multiDisks")] + private InputList? _multiDisks; + + /// + /// Cloud disk list. When the data disk is a cloud disk, use disk_type and disk_size parameters directly, and use multi_disks for excess parts. + /// + public InputList MultiDisks + { + get => _multiDisks ?? (_multiDisks = new InputList()); + set => _multiDisks = value; + } + + /// + /// Root disk capacity. + /// [Input("rootSize")] public Input? RootSize { get; set; } + /// + /// Node specification description, such as CVM.SA2. + /// [Input("spec")] public Input? Spec { get; set; } + /// + /// Storage type. Value range: + /// - 4: Represents cloud SSD; + /// - 5: Represents efficient cloud disk; + /// - 6: Represents enhanced SSD Cloud Block Storage; + /// - 11: Represents throughput Cloud Block Storage; + /// - 12: Represents extremely fast SSD Cloud Block Storage. + /// [Input("storageType")] public Input? StorageType { get; set; } diff --git a/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecCoreResourceSpecGetArgs.cs b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecCoreResourceSpecGetArgs.cs index f140b02b3..5838809ac 100644 --- a/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecCoreResourceSpecGetArgs.cs +++ b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecCoreResourceSpecGetArgs.cs @@ -13,24 +13,65 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Emr.Inputs public sealed class ClusterResourceSpecCoreResourceSpecGetArgs : global::Pulumi.ResourceArgs { + /// + /// Number of CPU cores. + /// [Input("cpu")] public Input? Cpu { get; set; } + /// + /// Data disk capacity. + /// [Input("diskSize")] public Input? DiskSize { get; set; } + /// + /// disk types. Value range: + /// - CLOUD_SSD: Represents cloud SSD; + /// - CLOUD_PREMIUM: Represents efficient cloud disk; + /// - CLOUD_BASIC: Represents Cloud Block Storage. + /// [Input("diskType")] public Input? DiskType { get; set; } + /// + /// Memory size in M. + /// [Input("memSize")] public Input? MemSize { get; set; } + [Input("multiDisks")] + private InputList? _multiDisks; + + /// + /// Cloud disk list. When the data disk is a cloud disk, use disk_type and disk_size parameters directly, and use multi_disks for excess parts. + /// + public InputList MultiDisks + { + get => _multiDisks ?? (_multiDisks = new InputList()); + set => _multiDisks = value; + } + + /// + /// Root disk capacity. + /// [Input("rootSize")] public Input? RootSize { get; set; } + /// + /// Node specification description, such as CVM.SA2. + /// [Input("spec")] public Input? Spec { get; set; } + /// + /// Storage type. Value range: + /// - 4: Represents cloud SSD; + /// - 5: Represents efficient cloud disk; + /// - 6: Represents enhanced SSD Cloud Block Storage; + /// - 11: Represents throughput Cloud Block Storage; + /// - 12: Represents extremely fast SSD Cloud Block Storage. + /// [Input("storageType")] public Input? StorageType { get; set; } diff --git a/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecCoreResourceSpecMultiDiskArgs.cs b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecCoreResourceSpecMultiDiskArgs.cs new file mode 100644 index 000000000..21c3d3c19 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecCoreResourceSpecMultiDiskArgs.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Emr.Inputs +{ + + public sealed class ClusterResourceSpecCoreResourceSpecMultiDiskArgs : global::Pulumi.ResourceArgs + { + /// + /// Number of cloud disks of this type. + /// + [Input("count")] + public Input? Count { get; set; } + + /// + /// Cloud disk type + /// - CLOUD_SSD: Represents cloud SSD; + /// - CLOUD_PREMIUM: Represents efficient cloud disk; + /// - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + /// + [Input("diskType")] + public Input? DiskType { get; set; } + + /// + /// Cloud disk size. + /// + [Input("volume")] + public Input? Volume { get; set; } + + public ClusterResourceSpecCoreResourceSpecMultiDiskArgs() + { + } + public static new ClusterResourceSpecCoreResourceSpecMultiDiskArgs Empty => new ClusterResourceSpecCoreResourceSpecMultiDiskArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecCoreResourceSpecMultiDiskGetArgs.cs b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecCoreResourceSpecMultiDiskGetArgs.cs new file mode 100644 index 000000000..c4d83a417 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecCoreResourceSpecMultiDiskGetArgs.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Emr.Inputs +{ + + public sealed class ClusterResourceSpecCoreResourceSpecMultiDiskGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Number of cloud disks of this type. + /// + [Input("count")] + public Input? Count { get; set; } + + /// + /// Cloud disk type + /// - CLOUD_SSD: Represents cloud SSD; + /// - CLOUD_PREMIUM: Represents efficient cloud disk; + /// - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + /// + [Input("diskType")] + public Input? DiskType { get; set; } + + /// + /// Cloud disk size. + /// + [Input("volume")] + public Input? Volume { get; set; } + + public ClusterResourceSpecCoreResourceSpecMultiDiskGetArgs() + { + } + public static new ClusterResourceSpecCoreResourceSpecMultiDiskGetArgs Empty => new ClusterResourceSpecCoreResourceSpecMultiDiskGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecGetArgs.cs b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecGetArgs.cs index 4ad54d50a..05f0c7d25 100644 --- a/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecGetArgs.cs +++ b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecGetArgs.cs @@ -19,6 +19,9 @@ public sealed class ClusterResourceSpecGetArgs : global::Pulumi.ResourceArgs [Input("commonCount")] public Input? CommonCount { get; set; } + /// + /// Resource details. + /// [Input("commonResourceSpec")] public Input? CommonResourceSpec { get; set; } @@ -28,6 +31,9 @@ public sealed class ClusterResourceSpecGetArgs : global::Pulumi.ResourceArgs [Input("coreCount")] public Input? CoreCount { get; set; } + /// + /// Resource details. + /// [Input("coreResourceSpec")] public Input? CoreResourceSpec { get; set; } @@ -37,6 +43,9 @@ public sealed class ClusterResourceSpecGetArgs : global::Pulumi.ResourceArgs [Input("masterCount")] public Input? MasterCount { get; set; } + /// + /// Resource details. + /// [Input("masterResourceSpec")] public Input? MasterResourceSpec { get; set; } @@ -46,6 +55,9 @@ public sealed class ClusterResourceSpecGetArgs : global::Pulumi.ResourceArgs [Input("taskCount")] public Input? TaskCount { get; set; } + /// + /// Resource details. + /// [Input("taskResourceSpec")] public Input? TaskResourceSpec { get; set; } diff --git a/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecMasterResourceSpecArgs.cs b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecMasterResourceSpecArgs.cs index 2368c674b..b3e064817 100644 --- a/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecMasterResourceSpecArgs.cs +++ b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecMasterResourceSpecArgs.cs @@ -13,24 +13,65 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Emr.Inputs public sealed class ClusterResourceSpecMasterResourceSpecArgs : global::Pulumi.ResourceArgs { + /// + /// Number of CPU cores. + /// [Input("cpu")] public Input? Cpu { get; set; } + /// + /// Data disk capacity. + /// [Input("diskSize")] public Input? DiskSize { get; set; } + /// + /// disk types. Value range: + /// - CLOUD_SSD: Represents cloud SSD; + /// - CLOUD_PREMIUM: Represents efficient cloud disk; + /// - CLOUD_BASIC: Represents Cloud Block Storage. + /// [Input("diskType")] public Input? DiskType { get; set; } + /// + /// Memory size in M. + /// [Input("memSize")] public Input? MemSize { get; set; } + [Input("multiDisks")] + private InputList? _multiDisks; + + /// + /// Cloud disk list. When the data disk is a cloud disk, use disk_type and disk_size parameters directly, and use multi_disks for excess parts. + /// + public InputList MultiDisks + { + get => _multiDisks ?? (_multiDisks = new InputList()); + set => _multiDisks = value; + } + + /// + /// Root disk capacity. + /// [Input("rootSize")] public Input? RootSize { get; set; } + /// + /// Node specification description, such as CVM.SA2. + /// [Input("spec")] public Input? Spec { get; set; } + /// + /// Storage type. Value range: + /// - 4: Represents cloud SSD; + /// - 5: Represents efficient cloud disk; + /// - 6: Represents enhanced SSD Cloud Block Storage; + /// - 11: Represents throughput Cloud Block Storage; + /// - 12: Represents extremely fast SSD Cloud Block Storage. + /// [Input("storageType")] public Input? StorageType { get; set; } diff --git a/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecMasterResourceSpecGetArgs.cs b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecMasterResourceSpecGetArgs.cs index dc1fa83c0..c374598e4 100644 --- a/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecMasterResourceSpecGetArgs.cs +++ b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecMasterResourceSpecGetArgs.cs @@ -13,24 +13,65 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Emr.Inputs public sealed class ClusterResourceSpecMasterResourceSpecGetArgs : global::Pulumi.ResourceArgs { + /// + /// Number of CPU cores. + /// [Input("cpu")] public Input? Cpu { get; set; } + /// + /// Data disk capacity. + /// [Input("diskSize")] public Input? DiskSize { get; set; } + /// + /// disk types. Value range: + /// - CLOUD_SSD: Represents cloud SSD; + /// - CLOUD_PREMIUM: Represents efficient cloud disk; + /// - CLOUD_BASIC: Represents Cloud Block Storage. + /// [Input("diskType")] public Input? DiskType { get; set; } + /// + /// Memory size in M. + /// [Input("memSize")] public Input? MemSize { get; set; } + [Input("multiDisks")] + private InputList? _multiDisks; + + /// + /// Cloud disk list. When the data disk is a cloud disk, use disk_type and disk_size parameters directly, and use multi_disks for excess parts. + /// + public InputList MultiDisks + { + get => _multiDisks ?? (_multiDisks = new InputList()); + set => _multiDisks = value; + } + + /// + /// Root disk capacity. + /// [Input("rootSize")] public Input? RootSize { get; set; } + /// + /// Node specification description, such as CVM.SA2. + /// [Input("spec")] public Input? Spec { get; set; } + /// + /// Storage type. Value range: + /// - 4: Represents cloud SSD; + /// - 5: Represents efficient cloud disk; + /// - 6: Represents enhanced SSD Cloud Block Storage; + /// - 11: Represents throughput Cloud Block Storage; + /// - 12: Represents extremely fast SSD Cloud Block Storage. + /// [Input("storageType")] public Input? StorageType { get; set; } diff --git a/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecMasterResourceSpecMultiDiskArgs.cs b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecMasterResourceSpecMultiDiskArgs.cs new file mode 100644 index 000000000..c1482cf0b --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecMasterResourceSpecMultiDiskArgs.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Emr.Inputs +{ + + public sealed class ClusterResourceSpecMasterResourceSpecMultiDiskArgs : global::Pulumi.ResourceArgs + { + /// + /// Number of cloud disks of this type. + /// + [Input("count")] + public Input? Count { get; set; } + + /// + /// Cloud disk type + /// - CLOUD_SSD: Represents cloud SSD; + /// - CLOUD_PREMIUM: Represents efficient cloud disk; + /// - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + /// + [Input("diskType")] + public Input? DiskType { get; set; } + + /// + /// Cloud disk size. + /// + [Input("volume")] + public Input? Volume { get; set; } + + public ClusterResourceSpecMasterResourceSpecMultiDiskArgs() + { + } + public static new ClusterResourceSpecMasterResourceSpecMultiDiskArgs Empty => new ClusterResourceSpecMasterResourceSpecMultiDiskArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecMasterResourceSpecMultiDiskGetArgs.cs b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecMasterResourceSpecMultiDiskGetArgs.cs new file mode 100644 index 000000000..9b25dcee4 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecMasterResourceSpecMultiDiskGetArgs.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Emr.Inputs +{ + + public sealed class ClusterResourceSpecMasterResourceSpecMultiDiskGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Number of cloud disks of this type. + /// + [Input("count")] + public Input? Count { get; set; } + + /// + /// Cloud disk type + /// - CLOUD_SSD: Represents cloud SSD; + /// - CLOUD_PREMIUM: Represents efficient cloud disk; + /// - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + /// + [Input("diskType")] + public Input? DiskType { get; set; } + + /// + /// Cloud disk size. + /// + [Input("volume")] + public Input? Volume { get; set; } + + public ClusterResourceSpecMasterResourceSpecMultiDiskGetArgs() + { + } + public static new ClusterResourceSpecMasterResourceSpecMultiDiskGetArgs Empty => new ClusterResourceSpecMasterResourceSpecMultiDiskGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecTaskResourceSpecArgs.cs b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecTaskResourceSpecArgs.cs index 10fba5aeb..d4a07ecc3 100644 --- a/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecTaskResourceSpecArgs.cs +++ b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecTaskResourceSpecArgs.cs @@ -13,24 +13,65 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Emr.Inputs public sealed class ClusterResourceSpecTaskResourceSpecArgs : global::Pulumi.ResourceArgs { + /// + /// Number of CPU cores. + /// [Input("cpu")] public Input? Cpu { get; set; } + /// + /// Data disk capacity. + /// [Input("diskSize")] public Input? DiskSize { get; set; } + /// + /// disk types. Value range: + /// - CLOUD_SSD: Represents cloud SSD; + /// - CLOUD_PREMIUM: Represents efficient cloud disk; + /// - CLOUD_BASIC: Represents Cloud Block Storage. + /// [Input("diskType")] public Input? DiskType { get; set; } + /// + /// Memory size in M. + /// [Input("memSize")] public Input? MemSize { get; set; } + [Input("multiDisks")] + private InputList? _multiDisks; + + /// + /// Cloud disk list. When the data disk is a cloud disk, use disk_type and disk_size parameters directly, and use multi_disks for excess parts. + /// + public InputList MultiDisks + { + get => _multiDisks ?? (_multiDisks = new InputList()); + set => _multiDisks = value; + } + + /// + /// Root disk capacity. + /// [Input("rootSize")] public Input? RootSize { get; set; } + /// + /// Node specification description, such as CVM.SA2. + /// [Input("spec")] public Input? Spec { get; set; } + /// + /// Storage type. Value range: + /// - 4: Represents cloud SSD; + /// - 5: Represents efficient cloud disk; + /// - 6: Represents enhanced SSD Cloud Block Storage; + /// - 11: Represents throughput Cloud Block Storage; + /// - 12: Represents extremely fast SSD Cloud Block Storage. + /// [Input("storageType")] public Input? StorageType { get; set; } diff --git a/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecTaskResourceSpecGetArgs.cs b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecTaskResourceSpecGetArgs.cs index c3e73464c..4d3d75d2e 100644 --- a/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecTaskResourceSpecGetArgs.cs +++ b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecTaskResourceSpecGetArgs.cs @@ -13,24 +13,65 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Emr.Inputs public sealed class ClusterResourceSpecTaskResourceSpecGetArgs : global::Pulumi.ResourceArgs { + /// + /// Number of CPU cores. + /// [Input("cpu")] public Input? Cpu { get; set; } + /// + /// Data disk capacity. + /// [Input("diskSize")] public Input? DiskSize { get; set; } + /// + /// disk types. Value range: + /// - CLOUD_SSD: Represents cloud SSD; + /// - CLOUD_PREMIUM: Represents efficient cloud disk; + /// - CLOUD_BASIC: Represents Cloud Block Storage. + /// [Input("diskType")] public Input? DiskType { get; set; } + /// + /// Memory size in M. + /// [Input("memSize")] public Input? MemSize { get; set; } + [Input("multiDisks")] + private InputList? _multiDisks; + + /// + /// Cloud disk list. When the data disk is a cloud disk, use disk_type and disk_size parameters directly, and use multi_disks for excess parts. + /// + public InputList MultiDisks + { + get => _multiDisks ?? (_multiDisks = new InputList()); + set => _multiDisks = value; + } + + /// + /// Root disk capacity. + /// [Input("rootSize")] public Input? RootSize { get; set; } + /// + /// Node specification description, such as CVM.SA2. + /// [Input("spec")] public Input? Spec { get; set; } + /// + /// Storage type. Value range: + /// - 4: Represents cloud SSD; + /// - 5: Represents efficient cloud disk; + /// - 6: Represents enhanced SSD Cloud Block Storage; + /// - 11: Represents throughput Cloud Block Storage; + /// - 12: Represents extremely fast SSD Cloud Block Storage. + /// [Input("storageType")] public Input? StorageType { get; set; } diff --git a/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecTaskResourceSpecMultiDiskArgs.cs b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecTaskResourceSpecMultiDiskArgs.cs new file mode 100644 index 000000000..8146dca0d --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecTaskResourceSpecMultiDiskArgs.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Emr.Inputs +{ + + public sealed class ClusterResourceSpecTaskResourceSpecMultiDiskArgs : global::Pulumi.ResourceArgs + { + /// + /// Number of cloud disks of this type. + /// + [Input("count")] + public Input? Count { get; set; } + + /// + /// Cloud disk type + /// - CLOUD_SSD: Represents cloud SSD; + /// - CLOUD_PREMIUM: Represents efficient cloud disk; + /// - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + /// + [Input("diskType")] + public Input? DiskType { get; set; } + + /// + /// Cloud disk size. + /// + [Input("volume")] + public Input? Volume { get; set; } + + public ClusterResourceSpecTaskResourceSpecMultiDiskArgs() + { + } + public static new ClusterResourceSpecTaskResourceSpecMultiDiskArgs Empty => new ClusterResourceSpecTaskResourceSpecMultiDiskArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecTaskResourceSpecMultiDiskGetArgs.cs b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecTaskResourceSpecMultiDiskGetArgs.cs new file mode 100644 index 000000000..77d571724 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterResourceSpecTaskResourceSpecMultiDiskGetArgs.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Emr.Inputs +{ + + public sealed class ClusterResourceSpecTaskResourceSpecMultiDiskGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Number of cloud disks of this type. + /// + [Input("count")] + public Input? Count { get; set; } + + /// + /// Cloud disk type + /// - CLOUD_SSD: Represents cloud SSD; + /// - CLOUD_PREMIUM: Represents efficient cloud disk; + /// - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + /// + [Input("diskType")] + public Input? DiskType { get; set; } + + /// + /// Cloud disk size. + /// + [Input("volume")] + public Input? Volume { get; set; } + + public ClusterResourceSpecTaskResourceSpecMultiDiskGetArgs() + { + } + public static new ClusterResourceSpecTaskResourceSpecMultiDiskGetArgs Empty => new ClusterResourceSpecTaskResourceSpecMultiDiskGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterTerminateNodeInfoArgs.cs b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterTerminateNodeInfoArgs.cs new file mode 100644 index 000000000..b9529d482 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterTerminateNodeInfoArgs.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.Emr.Inputs +{ + + public sealed class ClusterTerminateNodeInfoArgs : global::Pulumi.ResourceArgs + { + [Input("cvmInstanceIds")] + private InputList? _cvmInstanceIds; + + /// + /// Destroy resource list. + /// + public InputList CvmInstanceIds + { + get => _cvmInstanceIds ?? (_cvmInstanceIds = new InputList()); + set => _cvmInstanceIds = value; + } + + /// + /// Value range of destruction node type: `MASTER`, `TASK`, `CORE`, `ROUTER`. + /// + [Input("nodeFlag")] + public Input? NodeFlag { get; set; } + + public ClusterTerminateNodeInfoArgs() + { + } + public static new ClusterTerminateNodeInfoArgs Empty => new ClusterTerminateNodeInfoArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterTerminateNodeInfoGetArgs.cs b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterTerminateNodeInfoGetArgs.cs new file mode 100644 index 000000000..7916ffbb6 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Emr/Inputs/ClusterTerminateNodeInfoGetArgs.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.Emr.Inputs +{ + + public sealed class ClusterTerminateNodeInfoGetArgs : global::Pulumi.ResourceArgs + { + [Input("cvmInstanceIds")] + private InputList? _cvmInstanceIds; + + /// + /// Destroy resource list. + /// + public InputList CvmInstanceIds + { + get => _cvmInstanceIds ?? (_cvmInstanceIds = new InputList()); + set => _cvmInstanceIds = value; + } + + /// + /// Value range of destruction node type: `MASTER`, `TASK`, `CORE`, `ROUTER`. + /// + [Input("nodeFlag")] + public Input? NodeFlag { get; set; } + + public ClusterTerminateNodeInfoGetArgs() + { + } + public static new ClusterTerminateNodeInfoGetArgs Empty => new ClusterTerminateNodeInfoGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterPreExecutedFileSetting.cs b/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterPreExecutedFileSetting.cs new file mode 100644 index 000000000..54c4b8786 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterPreExecutedFileSetting.cs @@ -0,0 +1,78 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Emr.Outputs +{ + + [OutputType] + public sealed class ClusterPreExecutedFileSetting + { + /// + /// Execution script parameters. + /// + public readonly ImmutableArray Args; + /// + /// Script file name. + /// + public readonly string? CosFileName; + /// + /// The cos address of the script. + /// + public readonly string? CosFileUri; + /// + /// Cos secretId. + /// + public readonly string? CosSecretId; + /// + /// Cos secretKey. + /// + public readonly string? CosSecretKey; + /// + /// Remark. + /// + public readonly string? Remark; + /// + /// Run order. + /// + public readonly int? RunOrder; + /// + /// `resourceAfter` or `clusterAfter`. + /// + public readonly string? WhenRun; + + [OutputConstructor] + private ClusterPreExecutedFileSetting( + ImmutableArray args, + + string? cosFileName, + + string? cosFileUri, + + string? cosSecretId, + + string? cosSecretKey, + + string? remark, + + int? runOrder, + + string? whenRun) + { + Args = args; + CosFileName = cosFileName; + CosFileUri = cosFileUri; + CosSecretId = cosSecretId; + CosSecretKey = cosSecretKey; + Remark = remark; + RunOrder = runOrder; + WhenRun = whenRun; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterResourceSpec.cs b/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterResourceSpec.cs index 52a714a2f..7d2455e0a 100644 --- a/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterResourceSpec.cs +++ b/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterResourceSpec.cs @@ -18,21 +18,33 @@ public sealed class ClusterResourceSpec /// The number of common node. /// public readonly int? CommonCount; + /// + /// Resource details. + /// public readonly Outputs.ClusterResourceSpecCommonResourceSpec? CommonResourceSpec; /// /// The number of core node. /// public readonly int? CoreCount; + /// + /// Resource details. + /// public readonly Outputs.ClusterResourceSpecCoreResourceSpec? CoreResourceSpec; /// /// The number of master node. /// public readonly int? MasterCount; + /// + /// Resource details. + /// public readonly Outputs.ClusterResourceSpecMasterResourceSpec? MasterResourceSpec; /// /// The number of core node. /// public readonly int? TaskCount; + /// + /// Resource details. + /// public readonly Outputs.ClusterResourceSpecTaskResourceSpec? TaskResourceSpec; [OutputConstructor] diff --git a/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterResourceSpecCommonResourceSpec.cs b/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterResourceSpecCommonResourceSpec.cs index bff2840a7..bf7274684 100644 --- a/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterResourceSpecCommonResourceSpec.cs +++ b/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterResourceSpecCommonResourceSpec.cs @@ -14,12 +14,45 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Emr.Outputs [OutputType] public sealed class ClusterResourceSpecCommonResourceSpec { + /// + /// Number of CPU cores. + /// public readonly int? Cpu; + /// + /// Data disk capacity. + /// public readonly int? DiskSize; + /// + /// disk types. Value range: + /// - CLOUD_SSD: Represents cloud SSD; + /// - CLOUD_PREMIUM: Represents efficient cloud disk; + /// - CLOUD_BASIC: Represents Cloud Block Storage. + /// public readonly string? DiskType; + /// + /// Memory size in M. + /// public readonly int? MemSize; + /// + /// Cloud disk list. When the data disk is a cloud disk, use disk_type and disk_size parameters directly, and use multi_disks for excess parts. + /// + public readonly ImmutableArray MultiDisks; + /// + /// Root disk capacity. + /// public readonly int? RootSize; + /// + /// Node specification description, such as CVM.SA2. + /// public readonly string? Spec; + /// + /// Storage type. Value range: + /// - 4: Represents cloud SSD; + /// - 5: Represents efficient cloud disk; + /// - 6: Represents enhanced SSD Cloud Block Storage; + /// - 11: Represents throughput Cloud Block Storage; + /// - 12: Represents extremely fast SSD Cloud Block Storage. + /// public readonly int? StorageType; [OutputConstructor] @@ -32,6 +65,8 @@ private ClusterResourceSpecCommonResourceSpec( int? memSize, + ImmutableArray multiDisks, + int? rootSize, string? spec, @@ -42,6 +77,7 @@ private ClusterResourceSpecCommonResourceSpec( DiskSize = diskSize; DiskType = diskType; MemSize = memSize; + MultiDisks = multiDisks; RootSize = rootSize; Spec = spec; StorageType = storageType; diff --git a/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterResourceSpecCommonResourceSpecMultiDisk.cs b/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterResourceSpecCommonResourceSpecMultiDisk.cs new file mode 100644 index 000000000..66be9e51a --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterResourceSpecCommonResourceSpecMultiDisk.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Emr.Outputs +{ + + [OutputType] + public sealed class ClusterResourceSpecCommonResourceSpecMultiDisk + { + /// + /// Number of cloud disks of this type. + /// + public readonly int? Count; + /// + /// Cloud disk type + /// - CLOUD_SSD: Represents cloud SSD; + /// - CLOUD_PREMIUM: Represents efficient cloud disk; + /// - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + /// + public readonly string? DiskType; + /// + /// Cloud disk size. + /// + public readonly int? Volume; + + [OutputConstructor] + private ClusterResourceSpecCommonResourceSpecMultiDisk( + int? count, + + string? diskType, + + int? volume) + { + Count = count; + DiskType = diskType; + Volume = volume; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterResourceSpecCoreResourceSpec.cs b/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterResourceSpecCoreResourceSpec.cs index 8c4819f9e..65c8eca65 100644 --- a/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterResourceSpecCoreResourceSpec.cs +++ b/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterResourceSpecCoreResourceSpec.cs @@ -14,12 +14,45 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Emr.Outputs [OutputType] public sealed class ClusterResourceSpecCoreResourceSpec { + /// + /// Number of CPU cores. + /// public readonly int? Cpu; + /// + /// Data disk capacity. + /// public readonly int? DiskSize; + /// + /// disk types. Value range: + /// - CLOUD_SSD: Represents cloud SSD; + /// - CLOUD_PREMIUM: Represents efficient cloud disk; + /// - CLOUD_BASIC: Represents Cloud Block Storage. + /// public readonly string? DiskType; + /// + /// Memory size in M. + /// public readonly int? MemSize; + /// + /// Cloud disk list. When the data disk is a cloud disk, use disk_type and disk_size parameters directly, and use multi_disks for excess parts. + /// + public readonly ImmutableArray MultiDisks; + /// + /// Root disk capacity. + /// public readonly int? RootSize; + /// + /// Node specification description, such as CVM.SA2. + /// public readonly string? Spec; + /// + /// Storage type. Value range: + /// - 4: Represents cloud SSD; + /// - 5: Represents efficient cloud disk; + /// - 6: Represents enhanced SSD Cloud Block Storage; + /// - 11: Represents throughput Cloud Block Storage; + /// - 12: Represents extremely fast SSD Cloud Block Storage. + /// public readonly int? StorageType; [OutputConstructor] @@ -32,6 +65,8 @@ private ClusterResourceSpecCoreResourceSpec( int? memSize, + ImmutableArray multiDisks, + int? rootSize, string? spec, @@ -42,6 +77,7 @@ private ClusterResourceSpecCoreResourceSpec( DiskSize = diskSize; DiskType = diskType; MemSize = memSize; + MultiDisks = multiDisks; RootSize = rootSize; Spec = spec; StorageType = storageType; diff --git a/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterResourceSpecCoreResourceSpecMultiDisk.cs b/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterResourceSpecCoreResourceSpecMultiDisk.cs new file mode 100644 index 000000000..9b603ca28 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterResourceSpecCoreResourceSpecMultiDisk.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Emr.Outputs +{ + + [OutputType] + public sealed class ClusterResourceSpecCoreResourceSpecMultiDisk + { + /// + /// Number of cloud disks of this type. + /// + public readonly int? Count; + /// + /// Cloud disk type + /// - CLOUD_SSD: Represents cloud SSD; + /// - CLOUD_PREMIUM: Represents efficient cloud disk; + /// - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + /// + public readonly string? DiskType; + /// + /// Cloud disk size. + /// + public readonly int? Volume; + + [OutputConstructor] + private ClusterResourceSpecCoreResourceSpecMultiDisk( + int? count, + + string? diskType, + + int? volume) + { + Count = count; + DiskType = diskType; + Volume = volume; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterResourceSpecMasterResourceSpec.cs b/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterResourceSpecMasterResourceSpec.cs index c2c9840b5..4671a580f 100644 --- a/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterResourceSpecMasterResourceSpec.cs +++ b/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterResourceSpecMasterResourceSpec.cs @@ -14,12 +14,45 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Emr.Outputs [OutputType] public sealed class ClusterResourceSpecMasterResourceSpec { + /// + /// Number of CPU cores. + /// public readonly int? Cpu; + /// + /// Data disk capacity. + /// public readonly int? DiskSize; + /// + /// disk types. Value range: + /// - CLOUD_SSD: Represents cloud SSD; + /// - CLOUD_PREMIUM: Represents efficient cloud disk; + /// - CLOUD_BASIC: Represents Cloud Block Storage. + /// public readonly string? DiskType; + /// + /// Memory size in M. + /// public readonly int? MemSize; + /// + /// Cloud disk list. When the data disk is a cloud disk, use disk_type and disk_size parameters directly, and use multi_disks for excess parts. + /// + public readonly ImmutableArray MultiDisks; + /// + /// Root disk capacity. + /// public readonly int? RootSize; + /// + /// Node specification description, such as CVM.SA2. + /// public readonly string? Spec; + /// + /// Storage type. Value range: + /// - 4: Represents cloud SSD; + /// - 5: Represents efficient cloud disk; + /// - 6: Represents enhanced SSD Cloud Block Storage; + /// - 11: Represents throughput Cloud Block Storage; + /// - 12: Represents extremely fast SSD Cloud Block Storage. + /// public readonly int? StorageType; [OutputConstructor] @@ -32,6 +65,8 @@ private ClusterResourceSpecMasterResourceSpec( int? memSize, + ImmutableArray multiDisks, + int? rootSize, string? spec, @@ -42,6 +77,7 @@ private ClusterResourceSpecMasterResourceSpec( DiskSize = diskSize; DiskType = diskType; MemSize = memSize; + MultiDisks = multiDisks; RootSize = rootSize; Spec = spec; StorageType = storageType; diff --git a/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterResourceSpecMasterResourceSpecMultiDisk.cs b/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterResourceSpecMasterResourceSpecMultiDisk.cs new file mode 100644 index 000000000..8d829fe1a --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterResourceSpecMasterResourceSpecMultiDisk.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Emr.Outputs +{ + + [OutputType] + public sealed class ClusterResourceSpecMasterResourceSpecMultiDisk + { + /// + /// Number of cloud disks of this type. + /// + public readonly int? Count; + /// + /// Cloud disk type + /// - CLOUD_SSD: Represents cloud SSD; + /// - CLOUD_PREMIUM: Represents efficient cloud disk; + /// - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + /// + public readonly string? DiskType; + /// + /// Cloud disk size. + /// + public readonly int? Volume; + + [OutputConstructor] + private ClusterResourceSpecMasterResourceSpecMultiDisk( + int? count, + + string? diskType, + + int? volume) + { + Count = count; + DiskType = diskType; + Volume = volume; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterResourceSpecTaskResourceSpec.cs b/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterResourceSpecTaskResourceSpec.cs index 1c67dd7b9..d0c9ed8cf 100644 --- a/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterResourceSpecTaskResourceSpec.cs +++ b/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterResourceSpecTaskResourceSpec.cs @@ -14,12 +14,45 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Emr.Outputs [OutputType] public sealed class ClusterResourceSpecTaskResourceSpec { + /// + /// Number of CPU cores. + /// public readonly int? Cpu; + /// + /// Data disk capacity. + /// public readonly int? DiskSize; + /// + /// disk types. Value range: + /// - CLOUD_SSD: Represents cloud SSD; + /// - CLOUD_PREMIUM: Represents efficient cloud disk; + /// - CLOUD_BASIC: Represents Cloud Block Storage. + /// public readonly string? DiskType; + /// + /// Memory size in M. + /// public readonly int? MemSize; + /// + /// Cloud disk list. When the data disk is a cloud disk, use disk_type and disk_size parameters directly, and use multi_disks for excess parts. + /// + public readonly ImmutableArray MultiDisks; + /// + /// Root disk capacity. + /// public readonly int? RootSize; + /// + /// Node specification description, such as CVM.SA2. + /// public readonly string? Spec; + /// + /// Storage type. Value range: + /// - 4: Represents cloud SSD; + /// - 5: Represents efficient cloud disk; + /// - 6: Represents enhanced SSD Cloud Block Storage; + /// - 11: Represents throughput Cloud Block Storage; + /// - 12: Represents extremely fast SSD Cloud Block Storage. + /// public readonly int? StorageType; [OutputConstructor] @@ -32,6 +65,8 @@ private ClusterResourceSpecTaskResourceSpec( int? memSize, + ImmutableArray multiDisks, + int? rootSize, string? spec, @@ -42,6 +77,7 @@ private ClusterResourceSpecTaskResourceSpec( DiskSize = diskSize; DiskType = diskType; MemSize = memSize; + MultiDisks = multiDisks; RootSize = rootSize; Spec = spec; StorageType = storageType; diff --git a/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterResourceSpecTaskResourceSpecMultiDisk.cs b/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterResourceSpecTaskResourceSpecMultiDisk.cs new file mode 100644 index 000000000..4eca89e42 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterResourceSpecTaskResourceSpecMultiDisk.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Emr.Outputs +{ + + [OutputType] + public sealed class ClusterResourceSpecTaskResourceSpecMultiDisk + { + /// + /// Number of cloud disks of this type. + /// + public readonly int? Count; + /// + /// Cloud disk type + /// - CLOUD_SSD: Represents cloud SSD; + /// - CLOUD_PREMIUM: Represents efficient cloud disk; + /// - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + /// + public readonly string? DiskType; + /// + /// Cloud disk size. + /// + public readonly int? Volume; + + [OutputConstructor] + private ClusterResourceSpecTaskResourceSpecMultiDisk( + int? count, + + string? diskType, + + int? volume) + { + Count = count; + DiskType = diskType; + Volume = volume; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterTerminateNodeInfo.cs b/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterTerminateNodeInfo.cs new file mode 100644 index 000000000..112d9d13b --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Emr/Outputs/ClusterTerminateNodeInfo.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.Emr.Outputs +{ + + [OutputType] + public sealed class ClusterTerminateNodeInfo + { + /// + /// Destroy resource list. + /// + public readonly ImmutableArray CvmInstanceIds; + /// + /// Value range of destruction node type: `MASTER`, `TASK`, `CORE`, `ROUTER`. + /// + public readonly string? NodeFlag; + + [OutputConstructor] + private ClusterTerminateNodeInfo( + ImmutableArray cvmInstanceIds, + + string? nodeFlag) + { + CvmInstanceIds = cvmInstanceIds; + NodeFlag = nodeFlag; + } + } +} 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/GetInstance.cs b/sdk/dotnet/Tencentcloud/Enis/GetInstance.cs index 3a5c859d5..965f823e2 100644 --- a/sdk/dotnet/Tencentcloud/Enis/GetInstance.cs +++ b/sdk/dotnet/Tencentcloud/Enis/GetInstance.cs @@ -231,7 +231,7 @@ public GetInstanceInvokeArgs() public sealed class GetInstanceResult { /// - /// Description of the IP. + /// Message description. /// public readonly string? Description; /// diff --git a/sdk/dotnet/Tencentcloud/Enis/Outputs/GetInstanceEniIpv6Result.cs b/sdk/dotnet/Tencentcloud/Enis/Outputs/GetInstanceEniIpv6Result.cs new file mode 100644 index 000000000..7f2b37d06 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Enis/Outputs/GetInstanceEniIpv6Result.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.Enis.Outputs +{ + + [OutputType] + public sealed class GetInstanceEniIpv6Result + { + /// + /// `IPv6` address, such as `3402:4e00:20:100:0:8cd9:2a67:71f3`. + /// + public readonly string Address; + /// + /// The `ID` of the `EIP` instance, such as `eip-hxlqja90`. + /// + public readonly string AddressId; + /// + /// Description of the ENI. Conflict with `ids`. + /// + public readonly string Description; + /// + /// Whether the public IP is blocked. + /// + public readonly bool IsWanIpBlocked; + /// + /// Indicates whether the IP is primary. + /// + public readonly bool Primary; + + [OutputConstructor] + private GetInstanceEniIpv6Result( + string address, + + string addressId, + + string description, + + bool isWanIpBlocked, + + bool primary) + { + Address = address; + AddressId = addressId; + Description = description; + IsWanIpBlocked = isWanIpBlocked; + Primary = primary; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Enis/Outputs/GetInstanceEniResult.cs b/sdk/dotnet/Tencentcloud/Enis/Outputs/GetInstanceEniResult.cs index 18ef756ee..412af64d7 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. /// @@ -35,6 +39,10 @@ public sealed class GetInstanceEniResult /// public readonly ImmutableArray Ipv4s; /// + /// A set of intranet IPv6s. + /// + public readonly ImmutableArray Ipv6s; + /// /// MAC address. /// public readonly string Mac; @@ -69,6 +77,8 @@ public sealed class GetInstanceEniResult [OutputConstructor] private GetInstanceEniResult( + string cdcId, + string createTime, string description, @@ -79,6 +89,8 @@ private GetInstanceEniResult( ImmutableArray ipv4s, + ImmutableArray ipv6s, + string mac, string name, @@ -95,11 +107,13 @@ private GetInstanceEniResult( string vpcId) { + CdcId = cdcId; CreateTime = createTime; Description = description; Id = id; InstanceId = instanceId; Ipv4s = ipv4s; + Ipv6s = ipv6s; Mac = mac; Name = name; Primary = primary; diff --git a/sdk/dotnet/Tencentcloud/Events/AuditTrack.cs b/sdk/dotnet/Tencentcloud/Events/AuditTrack.cs new file mode 100644 index 000000000..cf994d37e --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Events/AuditTrack.cs @@ -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! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Events +{ + /// + /// Provides a resource to create events audit track + /// + /// ## 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.Events.AuditTrack("example", new() + /// { + /// Filters = new Tencentcloud.Events.Inputs.AuditTrackFiltersArgs + /// { + /// ResourceFields = new[] + /// { + /// new Tencentcloud.Events.Inputs.AuditTrackFiltersResourceFieldArgs + /// { + /// ActionType = "*", + /// EventNames = new[] + /// { + /// "AddSubAccount", + /// "AddSubAccountCheckingMFA", + /// }, + /// ResourceType = "cam", + /// }, + /// new Tencentcloud.Events.Inputs.AuditTrackFiltersResourceFieldArgs + /// { + /// ActionType = "*", + /// EventNames = new[] + /// { + /// "*", + /// }, + /// ResourceType = "cvm", + /// }, + /// new Tencentcloud.Events.Inputs.AuditTrackFiltersResourceFieldArgs + /// { + /// ActionType = "*", + /// EventNames = new[] + /// { + /// "*", + /// }, + /// ResourceType = "tke", + /// }, + /// }, + /// }, + /// Status = 1, + /// Storage = new Tencentcloud.Events.Inputs.AuditTrackStorageArgs + /// { + /// StorageName = "393953ac-5c1b-457d-911d-376271b1b4f2", + /// StoragePrefix = "cloudaudit", + /// StorageRegion = "ap-guangzhou", + /// StorageType = "cls", + /// }, + /// TrackForAllMembers = 0, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// events audit track can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Events/auditTrack:AuditTrack example 24283 + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Events/auditTrack:AuditTrack")] + public partial class AuditTrack : global::Pulumi.CustomResource + { + /// + /// Data filtering criteria. + /// + [Output("filters")] + public Output Filters { get; private set; } = null!; + + /// + /// Tracking set name, which can only contain 3-48 letters, digits, hyphens, and underscores. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Tracking set status (0: Not enabled; 1: Enabled). + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// Storage type of shipped data. Valid values: `cos`, `cls`. + /// + [Output("storage")] + public Output Storage { get; private set; } = null!; + + /// + /// Whether to enable the feature of shipping organization members operation logs to the organization admin account or the trusted service admin account (0: Not enabled; 1: Enabled. This feature can only be enabled by the organization admin account or the trusted service admin account). + /// + [Output("trackForAllMembers")] + public Output TrackForAllMembers { get; private set; } = null!; + + /// + /// Whether the log list has come to an end. `true`: Yes. Pagination is not required. + /// + [Output("trackId")] + public Output TrackId { get; private set; } = null!; + + + /// + /// Create a AuditTrack 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 AuditTrack(string name, AuditTrackArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Events/auditTrack:AuditTrack", name, args ?? new AuditTrackArgs(), MakeResourceOptions(options, "")) + { + } + + private AuditTrack(string name, Input id, AuditTrackState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Events/auditTrack:AuditTrack", 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 AuditTrack 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 AuditTrack Get(string name, Input id, AuditTrackState? state = null, CustomResourceOptions? options = null) + { + return new AuditTrack(name, id, state, options); + } + } + + public sealed class AuditTrackArgs : global::Pulumi.ResourceArgs + { + /// + /// Data filtering criteria. + /// + [Input("filters", required: true)] + public Input Filters { get; set; } = null!; + + /// + /// Tracking set name, which can only contain 3-48 letters, digits, hyphens, and underscores. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Tracking set status (0: Not enabled; 1: Enabled). + /// + [Input("status", required: true)] + public Input Status { get; set; } = null!; + + /// + /// Storage type of shipped data. Valid values: `cos`, `cls`. + /// + [Input("storage", required: true)] + public Input Storage { get; set; } = null!; + + /// + /// Whether to enable the feature of shipping organization members operation logs to the organization admin account or the trusted service admin account (0: Not enabled; 1: Enabled. This feature can only be enabled by the organization admin account or the trusted service admin account). + /// + [Input("trackForAllMembers")] + public Input? TrackForAllMembers { get; set; } + + public AuditTrackArgs() + { + } + public static new AuditTrackArgs Empty => new AuditTrackArgs(); + } + + public sealed class AuditTrackState : global::Pulumi.ResourceArgs + { + /// + /// Data filtering criteria. + /// + [Input("filters")] + public Input? Filters { get; set; } + + /// + /// Tracking set name, which can only contain 3-48 letters, digits, hyphens, and underscores. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Tracking set status (0: Not enabled; 1: Enabled). + /// + [Input("status")] + public Input? Status { get; set; } + + /// + /// Storage type of shipped data. Valid values: `cos`, `cls`. + /// + [Input("storage")] + public Input? Storage { get; set; } + + /// + /// Whether to enable the feature of shipping organization members operation logs to the organization admin account or the trusted service admin account (0: Not enabled; 1: Enabled. This feature can only be enabled by the organization admin account or the trusted service admin account). + /// + [Input("trackForAllMembers")] + public Input? TrackForAllMembers { get; set; } + + /// + /// Whether the log list has come to an end. `true`: Yes. Pagination is not required. + /// + [Input("trackId")] + public Input? TrackId { get; set; } + + public AuditTrackState() + { + } + public static new AuditTrackState Empty => new AuditTrackState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Events/Inputs/AuditTrackFiltersArgs.cs b/sdk/dotnet/Tencentcloud/Events/Inputs/AuditTrackFiltersArgs.cs new file mode 100644 index 000000000..7e5c622ee --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Events/Inputs/AuditTrackFiltersArgs.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.Events.Inputs +{ + + public sealed class AuditTrackFiltersArgs : global::Pulumi.ResourceArgs + { + [Input("resourceFields")] + private InputList? _resourceFields; + + /// + /// Resource filtering conditions. + /// + public InputList ResourceFields + { + get => _resourceFields ?? (_resourceFields = new InputList()); + set => _resourceFields = value; + } + + public AuditTrackFiltersArgs() + { + } + public static new AuditTrackFiltersArgs Empty => new AuditTrackFiltersArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Events/Inputs/AuditTrackFiltersGetArgs.cs b/sdk/dotnet/Tencentcloud/Events/Inputs/AuditTrackFiltersGetArgs.cs new file mode 100644 index 000000000..2a3830cfd --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Events/Inputs/AuditTrackFiltersGetArgs.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.Events.Inputs +{ + + public sealed class AuditTrackFiltersGetArgs : global::Pulumi.ResourceArgs + { + [Input("resourceFields")] + private InputList? _resourceFields; + + /// + /// Resource filtering conditions. + /// + public InputList ResourceFields + { + get => _resourceFields ?? (_resourceFields = new InputList()); + set => _resourceFields = value; + } + + public AuditTrackFiltersGetArgs() + { + } + public static new AuditTrackFiltersGetArgs Empty => new AuditTrackFiltersGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Events/Inputs/AuditTrackFiltersResourceFieldArgs.cs b/sdk/dotnet/Tencentcloud/Events/Inputs/AuditTrackFiltersResourceFieldArgs.cs new file mode 100644 index 000000000..0aeecb089 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Events/Inputs/AuditTrackFiltersResourceFieldArgs.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.Events.Inputs +{ + + public sealed class AuditTrackFiltersResourceFieldArgs : global::Pulumi.ResourceArgs + { + /// + /// Tracking set event type (`Read`: Read; `Write`: Write; `*`: All). + /// + [Input("actionType", required: true)] + public Input ActionType { get; set; } = null!; + + [Input("eventNames", required: true)] + private InputList? _eventNames; + + /// + /// The list of API names of tracking set events. When `ResourceType` is `*`, the value of `EventNames` must be `*`. When `ResourceType` is a specified product, the value of `EventNames` can be `*`. When `ResourceType` is `cos` or `cls`, up to 10 APIs are supported. + /// + public InputList EventNames + { + get => _eventNames ?? (_eventNames = new InputList()); + set => _eventNames = value; + } + + /// + /// The product to which the tracking set event belongs. The value can be a single product such as `cos`, or `*` that indicates all products. + /// + [Input("resourceType", required: true)] + public Input ResourceType { get; set; } = null!; + + public AuditTrackFiltersResourceFieldArgs() + { + } + public static new AuditTrackFiltersResourceFieldArgs Empty => new AuditTrackFiltersResourceFieldArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Events/Inputs/AuditTrackFiltersResourceFieldGetArgs.cs b/sdk/dotnet/Tencentcloud/Events/Inputs/AuditTrackFiltersResourceFieldGetArgs.cs new file mode 100644 index 000000000..aacb231eb --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Events/Inputs/AuditTrackFiltersResourceFieldGetArgs.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.Events.Inputs +{ + + public sealed class AuditTrackFiltersResourceFieldGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Tracking set event type (`Read`: Read; `Write`: Write; `*`: All). + /// + [Input("actionType", required: true)] + public Input ActionType { get; set; } = null!; + + [Input("eventNames", required: true)] + private InputList? _eventNames; + + /// + /// The list of API names of tracking set events. When `ResourceType` is `*`, the value of `EventNames` must be `*`. When `ResourceType` is a specified product, the value of `EventNames` can be `*`. When `ResourceType` is `cos` or `cls`, up to 10 APIs are supported. + /// + public InputList EventNames + { + get => _eventNames ?? (_eventNames = new InputList()); + set => _eventNames = value; + } + + /// + /// The product to which the tracking set event belongs. The value can be a single product such as `cos`, or `*` that indicates all products. + /// + [Input("resourceType", required: true)] + public Input ResourceType { get; set; } = null!; + + public AuditTrackFiltersResourceFieldGetArgs() + { + } + public static new AuditTrackFiltersResourceFieldGetArgs Empty => new AuditTrackFiltersResourceFieldGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Events/Inputs/AuditTrackStorageArgs.cs b/sdk/dotnet/Tencentcloud/Events/Inputs/AuditTrackStorageArgs.cs new file mode 100644 index 000000000..1c6b3fb64 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Events/Inputs/AuditTrackStorageArgs.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.Events.Inputs +{ + + public sealed class AuditTrackStorageArgs : global::Pulumi.ResourceArgs + { + /// + /// Designated to store user ID. + /// + [Input("storageAccountId")] + public Input? StorageAccountId { get; set; } + + /// + /// Designated to store user app ID. + /// + [Input("storageAppId")] + public Input? StorageAppId { get; set; } + + /// + /// Storage name. For COS, the storage name is the custom bucket name, which can contain up to 50 lowercase letters, digits, and hyphens. It cannot contain "-APPID" and cannot start or end with a hyphen. For CLS, the storage name is the log topic ID, which can contain 1-50 characters. + /// + [Input("storageName", required: true)] + public Input StorageName { get; set; } = null!; + + /// + /// Storage directory prefix. The COS log file prefix can only contain 3-40 letters and digits. + /// + [Input("storagePrefix", required: true)] + public Input StoragePrefix { get; set; } = null!; + + /// + /// StorageRegion *string `json:'StorageRegion,omitnil,omitempty' name: 'StorageRegion'`. + /// + [Input("storageRegion", required: true)] + public Input StorageRegion { get; set; } = null!; + + /// + /// Storage type (Valid values: cos, cls). + /// + [Input("storageType", required: true)] + public Input StorageType { get; set; } = null!; + + public AuditTrackStorageArgs() + { + } + public static new AuditTrackStorageArgs Empty => new AuditTrackStorageArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Events/Inputs/AuditTrackStorageGetArgs.cs b/sdk/dotnet/Tencentcloud/Events/Inputs/AuditTrackStorageGetArgs.cs new file mode 100644 index 000000000..0536a0c4c --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Events/Inputs/AuditTrackStorageGetArgs.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.Events.Inputs +{ + + public sealed class AuditTrackStorageGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Designated to store user ID. + /// + [Input("storageAccountId")] + public Input? StorageAccountId { get; set; } + + /// + /// Designated to store user app ID. + /// + [Input("storageAppId")] + public Input? StorageAppId { get; set; } + + /// + /// Storage name. For COS, the storage name is the custom bucket name, which can contain up to 50 lowercase letters, digits, and hyphens. It cannot contain "-APPID" and cannot start or end with a hyphen. For CLS, the storage name is the log topic ID, which can contain 1-50 characters. + /// + [Input("storageName", required: true)] + public Input StorageName { get; set; } = null!; + + /// + /// Storage directory prefix. The COS log file prefix can only contain 3-40 letters and digits. + /// + [Input("storagePrefix", required: true)] + public Input StoragePrefix { get; set; } = null!; + + /// + /// StorageRegion *string `json:'StorageRegion,omitnil,omitempty' name: 'StorageRegion'`. + /// + [Input("storageRegion", required: true)] + public Input StorageRegion { get; set; } = null!; + + /// + /// Storage type (Valid values: cos, cls). + /// + [Input("storageType", required: true)] + public Input StorageType { get; set; } = null!; + + public AuditTrackStorageGetArgs() + { + } + public static new AuditTrackStorageGetArgs Empty => new AuditTrackStorageGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Events/Outputs/AuditTrackFilters.cs b/sdk/dotnet/Tencentcloud/Events/Outputs/AuditTrackFilters.cs new file mode 100644 index 000000000..50cc179cd --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Events/Outputs/AuditTrackFilters.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.Events.Outputs +{ + + [OutputType] + public sealed class AuditTrackFilters + { + /// + /// Resource filtering conditions. + /// + public readonly ImmutableArray ResourceFields; + + [OutputConstructor] + private AuditTrackFilters(ImmutableArray resourceFields) + { + ResourceFields = resourceFields; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Events/Outputs/AuditTrackFiltersResourceField.cs b/sdk/dotnet/Tencentcloud/Events/Outputs/AuditTrackFiltersResourceField.cs new file mode 100644 index 000000000..07994bdce --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Events/Outputs/AuditTrackFiltersResourceField.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.Events.Outputs +{ + + [OutputType] + public sealed class AuditTrackFiltersResourceField + { + /// + /// Tracking set event type (`Read`: Read; `Write`: Write; `*`: All). + /// + public readonly string ActionType; + /// + /// The list of API names of tracking set events. When `ResourceType` is `*`, the value of `EventNames` must be `*`. When `ResourceType` is a specified product, the value of `EventNames` can be `*`. When `ResourceType` is `cos` or `cls`, up to 10 APIs are supported. + /// + public readonly ImmutableArray EventNames; + /// + /// The product to which the tracking set event belongs. The value can be a single product such as `cos`, or `*` that indicates all products. + /// + public readonly string ResourceType; + + [OutputConstructor] + private AuditTrackFiltersResourceField( + string actionType, + + ImmutableArray eventNames, + + string resourceType) + { + ActionType = actionType; + EventNames = eventNames; + ResourceType = resourceType; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Events/Outputs/AuditTrackStorage.cs b/sdk/dotnet/Tencentcloud/Events/Outputs/AuditTrackStorage.cs new file mode 100644 index 000000000..14e259dd5 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Events/Outputs/AuditTrackStorage.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.Events.Outputs +{ + + [OutputType] + public sealed class AuditTrackStorage + { + /// + /// Designated to store user ID. + /// + public readonly string? StorageAccountId; + /// + /// Designated to store user app ID. + /// + public readonly string? StorageAppId; + /// + /// Storage name. For COS, the storage name is the custom bucket name, which can contain up to 50 lowercase letters, digits, and hyphens. It cannot contain "-APPID" and cannot start or end with a hyphen. For CLS, the storage name is the log topic ID, which can contain 1-50 characters. + /// + public readonly string StorageName; + /// + /// Storage directory prefix. The COS log file prefix can only contain 3-40 letters and digits. + /// + public readonly string StoragePrefix; + /// + /// StorageRegion *string `json:'StorageRegion,omitnil,omitempty' name: 'StorageRegion'`. + /// + public readonly string StorageRegion; + /// + /// Storage type (Valid values: cos, cls). + /// + public readonly string StorageType; + + [OutputConstructor] + private AuditTrackStorage( + string? storageAccountId, + + string? storageAppId, + + string storageName, + + string storagePrefix, + + string storageRegion, + + string storageType) + { + StorageAccountId = storageAccountId; + StorageAppId = storageAppId; + StorageName = storageName; + StoragePrefix = storagePrefix; + StorageRegion = storageRegion; + StorageType = storageType; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Events/README.md b/sdk/dotnet/Tencentcloud/Events/README.md new file mode 100644 index 000000000..d8b61905c --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Events/README.md @@ -0,0 +1 @@ +A Pulumi package for creating and managing Tencent Cloud resources. diff --git a/sdk/dotnet/Tencentcloud/Gaap/GetLayer7Listeners.cs b/sdk/dotnet/Tencentcloud/Gaap/GetLayer7Listeners.cs index e630105aa..5d6272d52 100644 --- a/sdk/dotnet/Tencentcloud/Gaap/GetLayer7Listeners.cs +++ b/sdk/dotnet/Tencentcloud/Gaap/GetLayer7Listeners.cs @@ -104,6 +104,12 @@ public static Output Invoke(GetLayer7ListenersInvokeAr public sealed class GetLayer7ListenersArgs : global::Pulumi.InvokeArgs { + /// + /// Group id. + /// + [Input("groupId")] + public string? GroupId { get; set; } + /// /// ID of the layer7 listener to be queried. /// @@ -148,6 +154,12 @@ public GetLayer7ListenersArgs() public sealed class GetLayer7ListenersInvokeArgs : global::Pulumi.InvokeArgs { + /// + /// Group id. + /// + [Input("groupId")] + public Input? GroupId { get; set; } + /// /// ID of the layer7 listener to be queried. /// @@ -194,6 +206,7 @@ public GetLayer7ListenersInvokeArgs() [OutputType] public sealed class GetLayer7ListenersResult { + public readonly string? GroupId; /// /// The provider-assigned unique ID for this managed resource. /// @@ -220,6 +233,8 @@ public sealed class GetLayer7ListenersResult [OutputConstructor] private GetLayer7ListenersResult( + string? groupId, + string id, string? listenerId, @@ -236,6 +251,7 @@ private GetLayer7ListenersResult( string? resultOutputFile) { + GroupId = groupId; Id = id; ListenerId = listenerId; ListenerName = listenerName; diff --git a/sdk/dotnet/Tencentcloud/Gaap/GetProxyStatistics.cs b/sdk/dotnet/Tencentcloud/Gaap/GetProxyStatistics.cs index e9b57e6fc..38278931c 100644 --- a/sdk/dotnet/Tencentcloud/Gaap/GetProxyStatistics.cs +++ b/sdk/dotnet/Tencentcloud/Gaap/GetProxyStatistics.cs @@ -124,7 +124,7 @@ public sealed class GetProxyStatisticsArgs : global::Pulumi.InvokeArgs private List? _metricNames; /// - /// Metric Names. Valid values: InBandwidth,OutBandwidth, Concurrent, InPackets, OutPackets, PacketLoss, Latency, HttpQPS, HttpsQPS. + /// Metric Names. Valid values: InBandwidth,OutBandwidth, Concurrent, InPackets, OutPackets, PacketLoss, Latency, HttpQPS, HttpsQPS, HttpQPSPercent, HttpsQPSPercent. /// public List MetricNames { @@ -180,7 +180,7 @@ public sealed class GetProxyStatisticsInvokeArgs : global::Pulumi.InvokeArgs private InputList? _metricNames; /// - /// Metric Names. Valid values: InBandwidth,OutBandwidth, Concurrent, InPackets, OutPackets, PacketLoss, Latency, HttpQPS, HttpsQPS. + /// Metric Names. Valid values: InBandwidth,OutBandwidth, Concurrent, InPackets, OutPackets, PacketLoss, Latency, HttpQPS, HttpsQPS, HttpQPSPercent, HttpsQPSPercent. /// public InputList MetricNames { diff --git a/sdk/dotnet/Tencentcloud/Gaap/HttpDomain.cs b/sdk/dotnet/Tencentcloud/Gaap/HttpDomain.cs index 0594f75a9..53c8197b2 100644 --- a/sdk/dotnet/Tencentcloud/Gaap/HttpDomain.cs +++ b/sdk/dotnet/Tencentcloud/Gaap/HttpDomain.cs @@ -108,6 +108,18 @@ public partial class HttpDomain : global::Pulumi.CustomResource [Output("gaapAuthId")] public Output GaapAuthId { get; private set; } = null!; + /// + /// Group Id. + /// + [Output("groupId")] + public Output GroupId { get; private set; } = null!; + + /// + /// Whether to use as the default domain name, the default is false. + /// + [Output("isDefaultServer")] + public Output IsDefaultServer { get; private set; } = null!; + /// /// ID of the layer7 listener. /// @@ -239,6 +251,18 @@ public InputList ClientCertificateIds [Input("gaapAuthId")] public Input? GaapAuthId { get; set; } + /// + /// Group Id. + /// + [Input("groupId")] + public Input? GroupId { get; set; } + + /// + /// Whether to use as the default domain name, the default is false. + /// + [Input("isDefaultServer")] + public Input? IsDefaultServer { get; set; } + /// /// ID of the layer7 listener. /// @@ -337,6 +361,18 @@ public InputList ClientCertificateIds [Input("gaapAuthId")] public Input? GaapAuthId { get; set; } + /// + /// Group Id. + /// + [Input("groupId")] + public Input? GroupId { get; set; } + + /// + /// Whether to use as the default domain name, the default is false. + /// + [Input("isDefaultServer")] + public Input? IsDefaultServer { get; set; } + /// /// ID of the layer7 listener. /// 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/Gaap/Layer7Listener.cs b/sdk/dotnet/Tencentcloud/Gaap/Layer7Listener.cs index d66ea501a..f719432b8 100644 --- a/sdk/dotnet/Tencentcloud/Gaap/Layer7Listener.cs +++ b/sdk/dotnet/Tencentcloud/Gaap/Layer7Listener.cs @@ -90,6 +90,12 @@ public partial class Layer7Listener : global::Pulumi.CustomResource [Output("forwardProtocol")] public Output ForwardProtocol { get; private set; } = null!; + /// + /// Group ID. + /// + [Output("groupId")] + public Output GroupId { get; private set; } = null!; + /// /// Name of the layer7 listener, the maximum length is 30. /// @@ -112,7 +118,7 @@ public partial class Layer7Listener : global::Pulumi.CustomResource /// ID of the GAAP proxy. /// [Output("proxyId")] - public Output ProxyId { get; private set; } = null!; + public Output ProxyId { get; private set; } = null!; /// /// Status of the layer7 listener. @@ -120,6 +126,18 @@ public partial class Layer7Listener : global::Pulumi.CustomResource [Output("status")] public Output Status { get; private set; } = null!; + /// + /// Password Suite, optional GAAP_TLS_CIPHERS_STRICT, GAAP_TLS_CIPHERS_GENERAL, GAAP_TLS_CIPHERS_WIDE(default). + /// + [Output("tlsCiphers")] + public Output TlsCiphers { get; private set; } = null!; + + /// + /// TLS version, optional TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. + /// + [Output("tlsSupportVersions")] + public Output> TlsSupportVersions { get; private set; } = null!; + /// /// Create a Layer7Listener resource with the given unique name, arguments, and options. @@ -203,6 +221,12 @@ public InputList ClientCertificateIds [Input("forwardProtocol")] public Input? ForwardProtocol { get; set; } + /// + /// Group ID. + /// + [Input("groupId")] + public Input? GroupId { get; set; } + /// /// Name of the layer7 listener, the maximum length is 30. /// @@ -224,8 +248,26 @@ public InputList ClientCertificateIds /// /// ID of the GAAP proxy. /// - [Input("proxyId", required: true)] - public Input ProxyId { get; set; } = null!; + [Input("proxyId")] + public Input? ProxyId { get; set; } + + /// + /// Password Suite, optional GAAP_TLS_CIPHERS_STRICT, GAAP_TLS_CIPHERS_GENERAL, GAAP_TLS_CIPHERS_WIDE(default). + /// + [Input("tlsCiphers")] + public Input? TlsCiphers { get; set; } + + [Input("tlsSupportVersions")] + private InputList? _tlsSupportVersions; + + /// + /// TLS version, optional TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. + /// + public InputList TlsSupportVersions + { + get => _tlsSupportVersions ?? (_tlsSupportVersions = new InputList()); + set => _tlsSupportVersions = value; + } public Layer7ListenerArgs() { @@ -277,6 +319,12 @@ public InputList ClientCertificateIds [Input("forwardProtocol")] public Input? ForwardProtocol { get; set; } + /// + /// Group ID. + /// + [Input("groupId")] + public Input? GroupId { get; set; } + /// /// Name of the layer7 listener, the maximum length is 30. /// @@ -307,6 +355,24 @@ public InputList ClientCertificateIds [Input("status")] public Input? Status { get; set; } + /// + /// Password Suite, optional GAAP_TLS_CIPHERS_STRICT, GAAP_TLS_CIPHERS_GENERAL, GAAP_TLS_CIPHERS_WIDE(default). + /// + [Input("tlsCiphers")] + public Input? TlsCiphers { get; set; } + + [Input("tlsSupportVersions")] + private InputList? _tlsSupportVersions; + + /// + /// TLS version, optional TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. + /// + public InputList TlsSupportVersions + { + get => _tlsSupportVersions ?? (_tlsSupportVersions = new InputList()); + set => _tlsSupportVersions = value; + } + public Layer7ListenerState() { } diff --git a/sdk/dotnet/Tencentcloud/Gaap/Outputs/GetHttpDomainsDomainResult.cs b/sdk/dotnet/Tencentcloud/Gaap/Outputs/GetHttpDomainsDomainResult.cs index f11f567fe..596d3f79a 100644 --- a/sdk/dotnet/Tencentcloud/Gaap/Outputs/GetHttpDomainsDomainResult.cs +++ b/sdk/dotnet/Tencentcloud/Gaap/Outputs/GetHttpDomainsDomainResult.cs @@ -47,6 +47,10 @@ public sealed class GetHttpDomainsDomainResult /// public readonly string GaapAuthId; /// + /// Whether to use as the default domain name. + /// + public readonly bool IsDefaultServer; + /// /// Indicates whether realserver authentication is enable. /// public readonly bool RealserverAuth; @@ -81,6 +85,8 @@ private GetHttpDomainsDomainResult( string gaapAuthId, + bool isDefaultServer, + bool realserverAuth, string realserverCertificateDomain, @@ -97,6 +103,7 @@ private GetHttpDomainsDomainResult( Domain = domain; GaapAuth = gaapAuth; GaapAuthId = gaapAuthId; + IsDefaultServer = isDefaultServer; RealserverAuth = realserverAuth; RealserverCertificateDomain = realserverCertificateDomain; RealserverCertificateId = realserverCertificateId; diff --git a/sdk/dotnet/Tencentcloud/Gaap/Outputs/GetLayer7ListenersListenerResult.cs b/sdk/dotnet/Tencentcloud/Gaap/Outputs/GetLayer7ListenersListenerResult.cs index b8690548a..8efdc790b 100644 --- a/sdk/dotnet/Tencentcloud/Gaap/Outputs/GetLayer7ListenersListenerResult.cs +++ b/sdk/dotnet/Tencentcloud/Gaap/Outputs/GetLayer7ListenersListenerResult.cs @@ -62,6 +62,14 @@ public sealed class GetLayer7ListenersListenerResult /// Status of the layer7 listener. /// public readonly int Status; + /// + /// Password Suite, optional GAAP_TLS_CIPHERS_STRICT, GAAP_TLS_CIPHERS_GENERAL, GAAP_TLS_CIPHERS_WIDE(default). + /// + public readonly string TlsCiphers; + /// + /// TLS version, optional TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. + /// + public readonly ImmutableArray TlsSupportVersions; [OutputConstructor] private GetLayer7ListenersListenerResult( @@ -87,7 +95,11 @@ private GetLayer7ListenersListenerResult( string proxyId, - int status) + int status, + + string tlsCiphers, + + ImmutableArray tlsSupportVersions) { AuthType = authType; CertificateId = certificateId; @@ -101,6 +113,8 @@ private GetLayer7ListenersListenerResult( Protocol = protocol; ProxyId = proxyId; Status = status; + TlsCiphers = tlsCiphers; + TlsSupportVersions = tlsSupportVersions; } } } diff --git a/sdk/dotnet/Tencentcloud/Gaap/Outputs/GetProxyDetailProxyDetailResult.cs b/sdk/dotnet/Tencentcloud/Gaap/Outputs/GetProxyDetailProxyDetailResult.cs index 2b6b42848..b39fa7239 100644 --- a/sdk/dotnet/Tencentcloud/Gaap/Outputs/GetProxyDetailProxyDetailResult.cs +++ b/sdk/dotnet/Tencentcloud/Gaap/Outputs/GetProxyDetailProxyDetailResult.cs @@ -87,6 +87,10 @@ public sealed class GetProxyDetailProxyDetailResult /// public readonly ImmutableArray IpLists; /// + /// Whether to allow TLS configuration.0-no support, 1-expressed support. + /// + public readonly int IsSupportTlsChoice; + /// /// Configuration change timeNote: This field may return null, indicating that a valid value cannot be obtained. /// public readonly int ModifyConfigTime; @@ -193,6 +197,8 @@ private GetProxyDetailProxyDetailResult( ImmutableArray ipLists, + int isSupportTlsChoice, + int modifyConfigTime, string networkType, @@ -245,6 +251,7 @@ private GetProxyDetailProxyDetailResult( Ip = ip; IpAddressVersion = ipAddressVersion; IpLists = ipLists; + IsSupportTlsChoice = isSupportTlsChoice; ModifyConfigTime = modifyConfigTime; NetworkType = networkType; PackageType = packageType; 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/CenterRoleConfigurationPermissionCustomPoliciesAttachment.cs b/sdk/dotnet/Tencentcloud/Identity/CenterRoleConfigurationPermissionCustomPoliciesAttachment.cs new file mode 100644 index 000000000..0d6963070 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Identity/CenterRoleConfigurationPermissionCustomPoliciesAttachment.cs @@ -0,0 +1,215 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are 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 tencentcloud.Identity.CenterRoleConfigurationPermissionCustomPoliciesAttachment + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var identityCenterRoleConfigurationPermissionCustomPoliciesAttachment = new Tencentcloud.Identity.CenterRoleConfigurationPermissionCustomPoliciesAttachment("identityCenterRoleConfigurationPermissionCustomPoliciesAttachment", new() + /// { + /// ZoneId = "z-xxxxxx", + /// RoleConfigurationId = "rc-xxxxxx", + /// Policies = new[] + /// { + /// new Tencentcloud.Identity.Inputs.CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs + /// { + /// RolePolicyName = "CustomPolicy2", + /// RolePolicyDocument = @"{ + /// ""version"": ""2.0"", + /// ""statement"": [ + /// { + /// ""effect"": ""allow"", + /// ""action"": [ + /// ""vpc:AcceptAttachCcnInstances"" + /// ], + /// ""resource"": [ + /// ""*"" + /// ] + /// } + /// ] + /// } + /// ", + /// }, + /// new Tencentcloud.Identity.Inputs.CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs + /// { + /// RolePolicyName = "CustomPolicy1", + /// RolePolicyDocument = @"{ + /// ""version"": ""2.0"", + /// ""statement"": [ + /// { + /// ""effect"": ""allow"", + /// ""action"": [ + /// ""vpc:AcceptAttachCcnInstances"" + /// ], + /// ""resource"": [ + /// ""*"" + /// ] + /// } + /// ] + /// } + /// ", + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// organization tencentcloud_identity_center_role_configuration_permission_custom_policies_attachment can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Identity/centerRoleConfigurationPermissionCustomPoliciesAttachment:CenterRoleConfigurationPermissionCustomPoliciesAttachment identity_center_role_configuration_permission_custom_policies_attachment ${zoneId}#${roleConfigurationId}#${rolePolicyName1},...${rolePolicyNameN} + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Identity/centerRoleConfigurationPermissionCustomPoliciesAttachment:CenterRoleConfigurationPermissionCustomPoliciesAttachment")] + public partial class CenterRoleConfigurationPermissionCustomPoliciesAttachment : global::Pulumi.CustomResource + { + /// + /// Policies. + /// + [Output("policies")] + public Output> Policies { get; private set; } = null!; + + /// + /// Permission configuration ID. + /// + [Output("roleConfigurationId")] + public Output RoleConfigurationId { get; private set; } = null!; + + /// + /// Space ID. + /// + [Output("zoneId")] + public Output ZoneId { get; private set; } = null!; + + + /// + /// Create a CenterRoleConfigurationPermissionCustomPoliciesAttachment 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 CenterRoleConfigurationPermissionCustomPoliciesAttachment(string name, CenterRoleConfigurationPermissionCustomPoliciesAttachmentArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Identity/centerRoleConfigurationPermissionCustomPoliciesAttachment:CenterRoleConfigurationPermissionCustomPoliciesAttachment", name, args ?? new CenterRoleConfigurationPermissionCustomPoliciesAttachmentArgs(), MakeResourceOptions(options, "")) + { + } + + private CenterRoleConfigurationPermissionCustomPoliciesAttachment(string name, Input id, CenterRoleConfigurationPermissionCustomPoliciesAttachmentState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Identity/centerRoleConfigurationPermissionCustomPoliciesAttachment:CenterRoleConfigurationPermissionCustomPoliciesAttachment", 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 CenterRoleConfigurationPermissionCustomPoliciesAttachment 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 CenterRoleConfigurationPermissionCustomPoliciesAttachment Get(string name, Input id, CenterRoleConfigurationPermissionCustomPoliciesAttachmentState? state = null, CustomResourceOptions? options = null) + { + return new CenterRoleConfigurationPermissionCustomPoliciesAttachment(name, id, state, options); + } + } + + public sealed class CenterRoleConfigurationPermissionCustomPoliciesAttachmentArgs : global::Pulumi.ResourceArgs + { + [Input("policies", required: true)] + private InputList? _policies; + + /// + /// Policies. + /// + public InputList Policies + { + get => _policies ?? (_policies = new InputList()); + set => _policies = value; + } + + /// + /// Permission configuration ID. + /// + [Input("roleConfigurationId", required: true)] + public Input RoleConfigurationId { get; set; } = null!; + + /// + /// Space ID. + /// + [Input("zoneId", required: true)] + public Input ZoneId { get; set; } = null!; + + public CenterRoleConfigurationPermissionCustomPoliciesAttachmentArgs() + { + } + public static new CenterRoleConfigurationPermissionCustomPoliciesAttachmentArgs Empty => new CenterRoleConfigurationPermissionCustomPoliciesAttachmentArgs(); + } + + public sealed class CenterRoleConfigurationPermissionCustomPoliciesAttachmentState : global::Pulumi.ResourceArgs + { + [Input("policies")] + private InputList? _policies; + + /// + /// Policies. + /// + public InputList Policies + { + get => _policies ?? (_policies = new InputList()); + set => _policies = value; + } + + /// + /// Permission configuration ID. + /// + [Input("roleConfigurationId")] + public Input? RoleConfigurationId { get; set; } + + /// + /// Space ID. + /// + [Input("zoneId")] + public Input? ZoneId { get; set; } + + public CenterRoleConfigurationPermissionCustomPoliciesAttachmentState() + { + } + public static new CenterRoleConfigurationPermissionCustomPoliciesAttachmentState Empty => new CenterRoleConfigurationPermissionCustomPoliciesAttachmentState(); + } +} 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/CenterScimCredential.cs b/sdk/dotnet/Tencentcloud/Identity/CenterScimCredential.cs new file mode 100644 index 000000000..bdeab8078 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Identity/CenterScimCredential.cs @@ -0,0 +1,185 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are 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 scim credential + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var identityCenterScimCredential = new Tencentcloud.Identity.CenterScimCredential("identityCenterScimCredential", new() + /// { + /// ZoneId = "z-xxxxxx", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// organization identity_center_scim_credential can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Identity/centerScimCredential:CenterScimCredential identity_center_scim_credential ${zone_id}#${credential_id} + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Identity/centerScimCredential:CenterScimCredential")] + public partial class CenterScimCredential : global::Pulumi.CustomResource + { + /// + /// SCIM create time. + /// + [Output("createTime")] + public Output CreateTime { get; private set; } = null!; + + /// + /// SCIM key ID. scimcred-prefix and followed by 12 random digits/lowercase letters. + /// + [Output("credentialId")] + public Output CredentialId { get; private set; } = null!; + + /// + /// SCIM credential type. + /// + [Output("credentialType")] + public Output CredentialType { get; private set; } = null!; + + /// + /// SCIM expire time. + /// + [Output("expireTime")] + public Output ExpireTime { get; private set; } = null!; + + /// + /// SCIM key status, Enabled-On, Disabled-Closed. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// Space ID. z-prefix starts with 12 random digits/lowercase letters. + /// + [Output("zoneId")] + public Output ZoneId { get; private set; } = null!; + + + /// + /// Create a CenterScimCredential 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 CenterScimCredential(string name, CenterScimCredentialArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Identity/centerScimCredential:CenterScimCredential", name, args ?? new CenterScimCredentialArgs(), MakeResourceOptions(options, "")) + { + } + + private CenterScimCredential(string name, Input id, CenterScimCredentialState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Identity/centerScimCredential:CenterScimCredential", 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 CenterScimCredential 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 CenterScimCredential Get(string name, Input id, CenterScimCredentialState? state = null, CustomResourceOptions? options = null) + { + return new CenterScimCredential(name, id, state, options); + } + } + + public sealed class CenterScimCredentialArgs : global::Pulumi.ResourceArgs + { + /// + /// Space ID. z-prefix starts with 12 random digits/lowercase letters. + /// + [Input("zoneId", required: true)] + public Input ZoneId { get; set; } = null!; + + public CenterScimCredentialArgs() + { + } + public static new CenterScimCredentialArgs Empty => new CenterScimCredentialArgs(); + } + + public sealed class CenterScimCredentialState : global::Pulumi.ResourceArgs + { + /// + /// SCIM create time. + /// + [Input("createTime")] + public Input? CreateTime { get; set; } + + /// + /// SCIM key ID. scimcred-prefix and followed by 12 random digits/lowercase letters. + /// + [Input("credentialId")] + public Input? CredentialId { get; set; } + + /// + /// SCIM credential type. + /// + [Input("credentialType")] + public Input? CredentialType { get; set; } + + /// + /// SCIM expire time. + /// + [Input("expireTime")] + public Input? ExpireTime { get; set; } + + /// + /// SCIM key status, Enabled-On, Disabled-Closed. + /// + [Input("status")] + public Input? Status { get; set; } + + /// + /// Space ID. z-prefix starts with 12 random digits/lowercase letters. + /// + [Input("zoneId")] + public Input? ZoneId { get; set; } + + public CenterScimCredentialState() + { + } + public static new CenterScimCredentialState Empty => new CenterScimCredentialState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Identity/CenterScimCredentialStatus.cs b/sdk/dotnet/Tencentcloud/Identity/CenterScimCredentialStatus.cs new file mode 100644 index 000000000..b17e87235 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Identity/CenterScimCredentialStatus.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 manage identity center scim credential status + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var identityCenterScimCredentialStatus = new Tencentcloud.Identity.CenterScimCredentialStatus("identityCenterScimCredentialStatus", new() + /// { + /// CredentialId = "scimcred-xxxxxx", + /// Status = "Enabled", + /// ZoneId = "z-xxxxxx", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// organization identity_center_scim_credential_status can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Identity/centerScimCredentialStatus:CenterScimCredentialStatus identity_center_scim_credential_status ${zone_id}#${credential_id} + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Identity/centerScimCredentialStatus:CenterScimCredentialStatus")] + public partial class CenterScimCredentialStatus : global::Pulumi.CustomResource + { + /// + /// SCIM key ID. scimcred-prefix and followed by 12 random digits/lowercase letters. + /// + [Output("credentialId")] + public Output CredentialId { get; private set; } = null!; + + /// + /// SCIM key status. Enabled-enabled. Disabled-disabled. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// Space ID. z-prefix starts with 12 random digits/lowercase letters. + /// + [Output("zoneId")] + public Output ZoneId { get; private set; } = null!; + + + /// + /// Create a CenterScimCredentialStatus 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 CenterScimCredentialStatus(string name, CenterScimCredentialStatusArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Identity/centerScimCredentialStatus:CenterScimCredentialStatus", name, args ?? new CenterScimCredentialStatusArgs(), MakeResourceOptions(options, "")) + { + } + + private CenterScimCredentialStatus(string name, Input id, CenterScimCredentialStatusState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Identity/centerScimCredentialStatus:CenterScimCredentialStatus", 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 CenterScimCredentialStatus 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 CenterScimCredentialStatus Get(string name, Input id, CenterScimCredentialStatusState? state = null, CustomResourceOptions? options = null) + { + return new CenterScimCredentialStatus(name, id, state, options); + } + } + + public sealed class CenterScimCredentialStatusArgs : global::Pulumi.ResourceArgs + { + /// + /// SCIM key ID. scimcred-prefix and followed by 12 random digits/lowercase letters. + /// + [Input("credentialId", required: true)] + public Input CredentialId { get; set; } = null!; + + /// + /// SCIM key status. Enabled-enabled. Disabled-disabled. + /// + [Input("status", required: true)] + public Input Status { get; set; } = null!; + + /// + /// Space ID. z-prefix starts with 12 random digits/lowercase letters. + /// + [Input("zoneId", required: true)] + public Input ZoneId { get; set; } = null!; + + public CenterScimCredentialStatusArgs() + { + } + public static new CenterScimCredentialStatusArgs Empty => new CenterScimCredentialStatusArgs(); + } + + public sealed class CenterScimCredentialStatusState : global::Pulumi.ResourceArgs + { + /// + /// SCIM key ID. scimcred-prefix and followed by 12 random digits/lowercase letters. + /// + [Input("credentialId")] + public Input? CredentialId { get; set; } + + /// + /// SCIM key status. Enabled-enabled. Disabled-disabled. + /// + [Input("status")] + public Input? Status { get; set; } + + /// + /// Space ID. z-prefix starts with 12 random digits/lowercase letters. + /// + [Input("zoneId")] + public Input? ZoneId { get; set; } + + public CenterScimCredentialStatusState() + { + } + public static new CenterScimCredentialStatusState Empty => new CenterScimCredentialStatusState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Identity/CenterScimSynchronizationStatus.cs b/sdk/dotnet/Tencentcloud/Identity/CenterScimSynchronizationStatus.cs new file mode 100644 index 000000000..a9274a696 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Identity/CenterScimSynchronizationStatus.cs @@ -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! *** + +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 manage identity center scim synchronization status + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var identityCenterScimSynchronizationStatus = new Tencentcloud.Identity.CenterScimSynchronizationStatus("identityCenterScimSynchronizationStatus", new() + /// { + /// ScimSynchronizationStatus = "Enabled", + /// ZoneId = "z-xxxxxx", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// organization identity_center_scim_synchronization_status can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Identity/centerScimSynchronizationStatus:CenterScimSynchronizationStatus identity_center_scim_synchronization_status ${zone_id} + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Identity/centerScimSynchronizationStatus:CenterScimSynchronizationStatus")] + public partial class CenterScimSynchronizationStatus : global::Pulumi.CustomResource + { + /// + /// SCIM synchronization status. Enabled-enabled. Disabled-disables. + /// + [Output("scimSynchronizationStatus")] + public Output ScimSynchronizationStatus { get; private set; } = null!; + + /// + /// Space ID. z-prefix starts with 12 random digits/lowercase letters. + /// + [Output("zoneId")] + public Output ZoneId { get; private set; } = null!; + + + /// + /// Create a CenterScimSynchronizationStatus 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 CenterScimSynchronizationStatus(string name, CenterScimSynchronizationStatusArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Identity/centerScimSynchronizationStatus:CenterScimSynchronizationStatus", name, args ?? new CenterScimSynchronizationStatusArgs(), MakeResourceOptions(options, "")) + { + } + + private CenterScimSynchronizationStatus(string name, Input id, CenterScimSynchronizationStatusState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Identity/centerScimSynchronizationStatus:CenterScimSynchronizationStatus", 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 CenterScimSynchronizationStatus 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 CenterScimSynchronizationStatus Get(string name, Input id, CenterScimSynchronizationStatusState? state = null, CustomResourceOptions? options = null) + { + return new CenterScimSynchronizationStatus(name, id, state, options); + } + } + + public sealed class CenterScimSynchronizationStatusArgs : global::Pulumi.ResourceArgs + { + /// + /// SCIM synchronization status. Enabled-enabled. Disabled-disables. + /// + [Input("scimSynchronizationStatus", required: true)] + public Input ScimSynchronizationStatus { get; set; } = null!; + + /// + /// Space ID. z-prefix starts with 12 random digits/lowercase letters. + /// + [Input("zoneId", required: true)] + public Input ZoneId { get; set; } = null!; + + public CenterScimSynchronizationStatusArgs() + { + } + public static new CenterScimSynchronizationStatusArgs Empty => new CenterScimSynchronizationStatusArgs(); + } + + public sealed class CenterScimSynchronizationStatusState : global::Pulumi.ResourceArgs + { + /// + /// SCIM synchronization status. Enabled-enabled. Disabled-disables. + /// + [Input("scimSynchronizationStatus")] + public Input? ScimSynchronizationStatus { get; set; } + + /// + /// Space ID. z-prefix starts with 12 random digits/lowercase letters. + /// + [Input("zoneId")] + public Input? ZoneId { get; set; } + + public CenterScimSynchronizationStatusState() + { + } + public static new CenterScimSynchronizationStatusState Empty => new CenterScimSynchronizationStatusState(); + } +} 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/GetCenterGroups.cs b/sdk/dotnet/Tencentcloud/Identity/GetCenterGroups.cs new file mode 100644 index 000000000..4b2891ab9 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Identity/GetCenterGroups.cs @@ -0,0 +1,232 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are 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 +{ + public static class GetCenterGroups + { + /// + /// Use this data source to query detailed information of identity center groups + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var identityCenterGroups = Tencentcloud.Identity.GetCenterGroups.Invoke(new() + /// { + /// ZoneId = "z-xxxxxx", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Task InvokeAsync(GetCenterGroupsArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("tencentcloud:Identity/getCenterGroups:getCenterGroups", args ?? new GetCenterGroupsArgs(), options.WithDefaults()); + + /// + /// Use this data source to query detailed information of identity center groups + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var identityCenterGroups = Tencentcloud.Identity.GetCenterGroups.Invoke(new() + /// { + /// ZoneId = "z-xxxxxx", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Output Invoke(GetCenterGroupsInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("tencentcloud:Identity/getCenterGroups:getCenterGroups", args ?? new GetCenterGroupsInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetCenterGroupsArgs : global::Pulumi.InvokeArgs + { + /// + /// Filter criterion. Format: <Attribute> <Operator> <Value>, case-insensitive. Currently, <Attribute> supports only GroupName, and <Operator> supports only eq (Equals) and sw (Start With). For example, Filter = "GroupName sw test" indicates querying all user groups with names starting with test; Filter = "GroupName eq testgroup" indicates querying the user group with the name testgroup. + /// + [Input("filter")] + public string? Filter { get; set; } + + [Input("filterUsers")] + private List? _filterUsers; + + /// + /// Filtered user. IsSelected=1 will be returned for the user group associated with this user. + /// + public List FilterUsers + { + get => _filterUsers ?? (_filterUsers = new List()); + set => _filterUsers = value; + } + + /// + /// User group type. Manual: manually created; Synchronized: externally imported. + /// + [Input("groupType")] + public string? GroupType { get; set; } + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public string? ResultOutputFile { get; set; } + + /// + /// Sorting field, which currently only supports CreateTime. The default is the CreateTime field. + /// + [Input("sortField")] + public string? SortField { get; set; } + + /// + /// Sorting type. Desc: descending order; Asc: ascending order. It should be set along with SortField. + /// + [Input("sortType")] + public string? SortType { get; set; } + + /// + /// Space ID. + /// + [Input("zoneId", required: true)] + public string ZoneId { get; set; } = null!; + + public GetCenterGroupsArgs() + { + } + public static new GetCenterGroupsArgs Empty => new GetCenterGroupsArgs(); + } + + public sealed class GetCenterGroupsInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Filter criterion. Format: <Attribute> <Operator> <Value>, case-insensitive. Currently, <Attribute> supports only GroupName, and <Operator> supports only eq (Equals) and sw (Start With). For example, Filter = "GroupName sw test" indicates querying all user groups with names starting with test; Filter = "GroupName eq testgroup" indicates querying the user group with the name testgroup. + /// + [Input("filter")] + public Input? Filter { get; set; } + + [Input("filterUsers")] + private InputList? _filterUsers; + + /// + /// Filtered user. IsSelected=1 will be returned for the user group associated with this user. + /// + public InputList FilterUsers + { + get => _filterUsers ?? (_filterUsers = new InputList()); + set => _filterUsers = value; + } + + /// + /// User group type. Manual: manually created; Synchronized: externally imported. + /// + [Input("groupType")] + public Input? GroupType { get; set; } + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public Input? ResultOutputFile { get; set; } + + /// + /// Sorting field, which currently only supports CreateTime. The default is the CreateTime field. + /// + [Input("sortField")] + public Input? SortField { get; set; } + + /// + /// Sorting type. Desc: descending order; Asc: ascending order. It should be set along with SortField. + /// + [Input("sortType")] + public Input? SortType { get; set; } + + /// + /// Space ID. + /// + [Input("zoneId", required: true)] + public Input ZoneId { get; set; } = null!; + + public GetCenterGroupsInvokeArgs() + { + } + public static new GetCenterGroupsInvokeArgs Empty => new GetCenterGroupsInvokeArgs(); + } + + + [OutputType] + public sealed class GetCenterGroupsResult + { + public readonly string? Filter; + public readonly ImmutableArray FilterUsers; + public readonly string? GroupType; + /// + /// User group list. + /// + public readonly ImmutableArray Groups; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + public readonly string? ResultOutputFile; + public readonly string? SortField; + public readonly string? SortType; + public readonly string ZoneId; + + [OutputConstructor] + private GetCenterGroupsResult( + string? filter, + + ImmutableArray filterUsers, + + string? groupType, + + ImmutableArray groups, + + string id, + + string? resultOutputFile, + + string? sortField, + + string? sortType, + + string zoneId) + { + Filter = filter; + FilterUsers = filterUsers; + GroupType = groupType; + Groups = groups; + Id = id; + ResultOutputFile = resultOutputFile; + SortField = sortField; + SortType = sortType; + ZoneId = zoneId; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Identity/GetCenterRoleConfigurations.cs b/sdk/dotnet/Tencentcloud/Identity/GetCenterRoleConfigurations.cs new file mode 100644 index 000000000..f11f58e1c --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Identity/GetCenterRoleConfigurations.cs @@ -0,0 +1,200 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are 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 +{ + public static class GetCenterRoleConfigurations + { + /// + /// Use this data source to query detailed information of identity center role configurations + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var identityCenterRoleConfigurations = Tencentcloud.Identity.GetCenterRoleConfigurations.Invoke(new() + /// { + /// ZoneId = "z-xxxxxx", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Task InvokeAsync(GetCenterRoleConfigurationsArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("tencentcloud:Identity/getCenterRoleConfigurations:getCenterRoleConfigurations", args ?? new GetCenterRoleConfigurationsArgs(), options.WithDefaults()); + + /// + /// Use this data source to query detailed information of identity center role configurations + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var identityCenterRoleConfigurations = Tencentcloud.Identity.GetCenterRoleConfigurations.Invoke(new() + /// { + /// ZoneId = "z-xxxxxx", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Output Invoke(GetCenterRoleConfigurationsInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("tencentcloud:Identity/getCenterRoleConfigurations:getCenterRoleConfigurations", args ?? new GetCenterRoleConfigurationsInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetCenterRoleConfigurationsArgs : global::Pulumi.InvokeArgs + { + /// + /// Filter criteria, which are case insensitive. Currently, only RoleConfigurationName is supported and only eq (Equals) and sw (Start With) are supported. Example: Filter = "RoleConfigurationName, only sw test" means querying all permission configurations starting with test. Filter = "RoleConfigurationName, only eq TestRoleConfiguration" means querying the permission configuration named TestRoleConfiguration. + /// + [Input("filter")] + public string? Filter { get; set; } + + [Input("filterTargets")] + private List? _filterTargets; + + /// + /// Check whether the member account has been configured with permissions. If configured, return IsSelected: true; otherwise, return false. + /// + public List FilterTargets + { + get => _filterTargets ?? (_filterTargets = new List()); + set => _filterTargets = value; + } + + /// + /// UserId of the authorized user or GroupId of the authorized user group, which must be set together with the input parameter FilterTargets. + /// + [Input("principalId")] + public string? PrincipalId { get; set; } + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public string? ResultOutputFile { get; set; } + + /// + /// Space ID. + /// + [Input("zoneId", required: true)] + public string ZoneId { get; set; } = null!; + + public GetCenterRoleConfigurationsArgs() + { + } + public static new GetCenterRoleConfigurationsArgs Empty => new GetCenterRoleConfigurationsArgs(); + } + + public sealed class GetCenterRoleConfigurationsInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Filter criteria, which are case insensitive. Currently, only RoleConfigurationName is supported and only eq (Equals) and sw (Start With) are supported. Example: Filter = "RoleConfigurationName, only sw test" means querying all permission configurations starting with test. Filter = "RoleConfigurationName, only eq TestRoleConfiguration" means querying the permission configuration named TestRoleConfiguration. + /// + [Input("filter")] + public Input? Filter { get; set; } + + [Input("filterTargets")] + private InputList? _filterTargets; + + /// + /// Check whether the member account has been configured with permissions. If configured, return IsSelected: true; otherwise, return false. + /// + public InputList FilterTargets + { + get => _filterTargets ?? (_filterTargets = new InputList()); + set => _filterTargets = value; + } + + /// + /// UserId of the authorized user or GroupId of the authorized user group, which must be set together with the input parameter FilterTargets. + /// + [Input("principalId")] + public Input? PrincipalId { get; set; } + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public Input? ResultOutputFile { get; set; } + + /// + /// Space ID. + /// + [Input("zoneId", required: true)] + public Input ZoneId { get; set; } = null!; + + public GetCenterRoleConfigurationsInvokeArgs() + { + } + public static new GetCenterRoleConfigurationsInvokeArgs Empty => new GetCenterRoleConfigurationsInvokeArgs(); + } + + + [OutputType] + public sealed class GetCenterRoleConfigurationsResult + { + public readonly string? Filter; + public readonly ImmutableArray FilterTargets; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + public readonly string? PrincipalId; + public readonly string? ResultOutputFile; + /// + /// Permission configuration list. + /// + public readonly ImmutableArray RoleConfigurations; + public readonly string ZoneId; + + [OutputConstructor] + private GetCenterRoleConfigurationsResult( + string? filter, + + ImmutableArray filterTargets, + + string id, + + string? principalId, + + string? resultOutputFile, + + ImmutableArray roleConfigurations, + + string zoneId) + { + Filter = filter; + FilterTargets = filterTargets; + Id = id; + PrincipalId = principalId; + ResultOutputFile = resultOutputFile; + RoleConfigurations = roleConfigurations; + ZoneId = zoneId; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Identity/GetCenterUsers.cs b/sdk/dotnet/Tencentcloud/Identity/GetCenterUsers.cs new file mode 100644 index 000000000..c71d1e3d7 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Identity/GetCenterUsers.cs @@ -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! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Identity +{ + public static class GetCenterUsers + { + /// + /// Use this data source to query detailed information of identity center users + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var identityCenterUsers = Tencentcloud.Identity.GetCenterUsers.Invoke(new() + /// { + /// ZoneId = "z-xxxxxx", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Task InvokeAsync(GetCenterUsersArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("tencentcloud:Identity/getCenterUsers:getCenterUsers", args ?? new GetCenterUsersArgs(), options.WithDefaults()); + + /// + /// Use this data source to query detailed information of identity center users + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var identityCenterUsers = Tencentcloud.Identity.GetCenterUsers.Invoke(new() + /// { + /// ZoneId = "z-xxxxxx", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Output Invoke(GetCenterUsersInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("tencentcloud:Identity/getCenterUsers:getCenterUsers", args ?? new GetCenterUsersInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetCenterUsersArgs : global::Pulumi.InvokeArgs + { + /// + /// Filter criterion, which currently only supports username, email address, userId, and description. + /// + [Input("filter")] + public string? Filter { get; set; } + + [Input("filterGroups")] + private List? _filterGroups; + + /// + /// Filtered user group. IsSelected=1 will be returned for the sub-user associated with this user group. + /// + public List FilterGroups + { + get => _filterGroups ?? (_filterGroups = new List()); + set => _filterGroups = value; + } + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public string? ResultOutputFile { get; set; } + + /// + /// Sorting field, which currently only supports CreateTime. The default is the CreateTime field. + /// + [Input("sortField")] + public string? SortField { get; set; } + + /// + /// Sorting type. Desc: descending order; Asc: ascending order. It should be set along with SortField. + /// + [Input("sortType")] + public string? SortType { get; set; } + + /// + /// User status: Enabled, Disabled. + /// + [Input("userStatus")] + public string? UserStatus { get; set; } + + /// + /// User type. Manual: manually created; Synchronized: externally imported. + /// + [Input("userType")] + public string? UserType { get; set; } + + /// + /// Space ID. + /// + [Input("zoneId", required: true)] + public string ZoneId { get; set; } = null!; + + public GetCenterUsersArgs() + { + } + public static new GetCenterUsersArgs Empty => new GetCenterUsersArgs(); + } + + public sealed class GetCenterUsersInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Filter criterion, which currently only supports username, email address, userId, and description. + /// + [Input("filter")] + public Input? Filter { get; set; } + + [Input("filterGroups")] + private InputList? _filterGroups; + + /// + /// Filtered user group. IsSelected=1 will be returned for the sub-user associated with this user group. + /// + public InputList FilterGroups + { + get => _filterGroups ?? (_filterGroups = new InputList()); + set => _filterGroups = value; + } + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public Input? ResultOutputFile { get; set; } + + /// + /// Sorting field, which currently only supports CreateTime. The default is the CreateTime field. + /// + [Input("sortField")] + public Input? SortField { get; set; } + + /// + /// Sorting type. Desc: descending order; Asc: ascending order. It should be set along with SortField. + /// + [Input("sortType")] + public Input? SortType { get; set; } + + /// + /// User status: Enabled, Disabled. + /// + [Input("userStatus")] + public Input? UserStatus { get; set; } + + /// + /// User type. Manual: manually created; Synchronized: externally imported. + /// + [Input("userType")] + public Input? UserType { get; set; } + + /// + /// Space ID. + /// + [Input("zoneId", required: true)] + public Input ZoneId { get; set; } = null!; + + public GetCenterUsersInvokeArgs() + { + } + public static new GetCenterUsersInvokeArgs Empty => new GetCenterUsersInvokeArgs(); + } + + + [OutputType] + public sealed class GetCenterUsersResult + { + public readonly string? Filter; + public readonly ImmutableArray FilterGroups; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + public readonly string? ResultOutputFile; + public readonly string? SortField; + public readonly string? SortType; + public readonly string? UserStatus; + public readonly string? UserType; + /// + /// User list. + /// + public readonly ImmutableArray Users; + public readonly string ZoneId; + + [OutputConstructor] + private GetCenterUsersResult( + string? filter, + + ImmutableArray filterGroups, + + string id, + + string? resultOutputFile, + + string? sortField, + + string? sortType, + + string? userStatus, + + string? userType, + + ImmutableArray users, + + string zoneId) + { + Filter = filter; + FilterGroups = filterGroups; + Id = id; + ResultOutputFile = resultOutputFile; + SortField = sortField; + SortType = sortType; + UserStatus = userStatus; + UserType = userType; + Users = users; + ZoneId = zoneId; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Identity/Inputs/CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs.cs b/sdk/dotnet/Tencentcloud/Identity/Inputs/CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs.cs new file mode 100644 index 000000000..76c52d2dd --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Identity/Inputs/CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs.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.Identity.Inputs +{ + + public sealed class CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs : global::Pulumi.ResourceArgs + { + /// + /// Role policy add time. + /// + [Input("addTime")] + public Input? AddTime { get; set; } + + /// + /// 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!; + + /// + /// Role policy type. + /// + [Input("rolePolicyType")] + public Input? RolePolicyType { get; set; } + + public CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs() + { + } + public static new CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs Empty => new CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Identity/Inputs/CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyGetArgs.cs b/sdk/dotnet/Tencentcloud/Identity/Inputs/CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyGetArgs.cs new file mode 100644 index 000000000..bf5b12a23 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Identity/Inputs/CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyGetArgs.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.Identity.Inputs +{ + + public sealed class CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Role policy add time. + /// + [Input("addTime")] + public Input? AddTime { get; set; } + + /// + /// 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!; + + /// + /// Role policy type. + /// + [Input("rolePolicyType")] + public Input? RolePolicyType { get; set; } + + public CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyGetArgs() + { + } + public static new CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyGetArgs Empty => new CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Identity/Outputs/CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicy.cs b/sdk/dotnet/Tencentcloud/Identity/Outputs/CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicy.cs new file mode 100644 index 000000000..437081c38 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Identity/Outputs/CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicy.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.Identity.Outputs +{ + + [OutputType] + public sealed class CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicy + { + /// + /// Role policy add time. + /// + public readonly string? AddTime; + /// + /// Role policy document. + /// + public readonly string RolePolicyDocument; + /// + /// Role policy name. + /// + public readonly string RolePolicyName; + /// + /// Role policy type. + /// + public readonly string? RolePolicyType; + + [OutputConstructor] + private CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicy( + string? addTime, + + string rolePolicyDocument, + + string rolePolicyName, + + string? rolePolicyType) + { + AddTime = addTime; + RolePolicyDocument = rolePolicyDocument; + RolePolicyName = rolePolicyName; + RolePolicyType = rolePolicyType; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Identity/Outputs/GetCenterGroupsGroupResult.cs b/sdk/dotnet/Tencentcloud/Identity/Outputs/GetCenterGroupsGroupResult.cs new file mode 100644 index 000000000..e31405d5c --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Identity/Outputs/GetCenterGroupsGroupResult.cs @@ -0,0 +1,78 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are 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.Outputs +{ + + [OutputType] + public sealed class GetCenterGroupsGroupResult + { + /// + /// Creation time of the user group. + /// + public readonly string? CreateTime; + /// + /// User group description. + /// + public readonly string? Description; + /// + /// User group ID. + /// + public readonly string? GroupId; + /// + /// User group name. + /// + public readonly string? GroupName; + /// + /// User group type. Manual: manually created; Synchronized: externally imported. + /// + public readonly string? GroupType; + /// + /// If the input parameter FilterUsers is provided, return true when the user is in the user group; otherwise, return false. + /// + public readonly bool? IsSelected; + /// + /// Number of group members. + /// + public readonly int? MemberCount; + /// + /// Modification time of the user group. + /// + public readonly string? UpdateTime; + + [OutputConstructor] + private GetCenterGroupsGroupResult( + string? createTime, + + string? description, + + string? groupId, + + string? groupName, + + string? groupType, + + bool? isSelected, + + int? memberCount, + + string? updateTime) + { + CreateTime = createTime; + Description = description; + GroupId = groupId; + GroupName = groupName; + GroupType = groupType; + IsSelected = isSelected; + MemberCount = memberCount; + UpdateTime = updateTime; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Identity/Outputs/GetCenterRoleConfigurationsRoleConfigurationResult.cs b/sdk/dotnet/Tencentcloud/Identity/Outputs/GetCenterRoleConfigurationsRoleConfigurationResult.cs new file mode 100644 index 000000000..4fc76f8ae --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Identity/Outputs/GetCenterRoleConfigurationsRoleConfigurationResult.cs @@ -0,0 +1,79 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are 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.Outputs +{ + + [OutputType] + public sealed class GetCenterRoleConfigurationsRoleConfigurationResult + { + /// + /// Creation time of the permission configuration. + /// + public readonly string? CreateTime; + /// + /// Permission configuration description. + /// + public readonly string? Description; + /// + /// If the input parameter FilterTargets is provided, check whether the member account has been configured with permissions. If configured, return true; otherwise, return false. + /// + public readonly bool? IsSelected; + /// + /// Initial access page. It indicates the initial access page URL when CIC users use the access configuration to access member accounts. + /// + public readonly string? RelayState; + /// + /// Permission configuration ID. + /// + public readonly string? RoleConfigurationId; + /// + /// Permission configuration name. + /// + public readonly string? RoleConfigurationName; + /// + /// Session duration. It indicates the maximum session duration when CIC users use the access configuration to access member accounts. + /// Unit: seconds. + /// + public readonly int? SessionDuration; + /// + /// Update time of the permission configuration. + /// + public readonly string? UpdateTime; + + [OutputConstructor] + private GetCenterRoleConfigurationsRoleConfigurationResult( + string? createTime, + + string? description, + + bool? isSelected, + + string? relayState, + + string? roleConfigurationId, + + string? roleConfigurationName, + + int? sessionDuration, + + string? updateTime) + { + CreateTime = createTime; + Description = description; + IsSelected = isSelected; + RelayState = relayState; + RoleConfigurationId = roleConfigurationId; + RoleConfigurationName = roleConfigurationName; + SessionDuration = sessionDuration; + UpdateTime = updateTime; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Identity/Outputs/GetCenterUsersUserResult.cs b/sdk/dotnet/Tencentcloud/Identity/Outputs/GetCenterUsersUserResult.cs new file mode 100644 index 000000000..992fda967 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Identity/Outputs/GetCenterUsersUserResult.cs @@ -0,0 +1,106 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are 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.Outputs +{ + + [OutputType] + public sealed class GetCenterUsersUserResult + { + /// + /// Creation time of the user. + /// + public readonly string? CreateTime; + /// + /// User description. + /// + public readonly string? Description; + /// + /// Display name of the user. + /// + public readonly string? DisplayName; + /// + /// Email address of the user, which must be unique within the directory. + /// + public readonly string? Email; + /// + /// First name of the user. + /// + public readonly string? FirstName; + /// + /// Whether selected. + /// + public readonly bool? IsSelected; + /// + /// Last name of the user. + /// + public readonly string? LastName; + /// + /// Modification time of the user. + /// + public readonly string? UpdateTime; + /// + /// User ID. + /// + public readonly string? UserId; + /// + /// Queried username. + /// + public readonly string? UserName; + /// + /// User status: Enabled, Disabled. + /// + public readonly string? UserStatus; + /// + /// User type. Manual: manually created; Synchronized: externally imported. + /// + public readonly string? UserType; + + [OutputConstructor] + private GetCenterUsersUserResult( + string? createTime, + + string? description, + + string? displayName, + + string? email, + + string? firstName, + + bool? isSelected, + + string? lastName, + + string? updateTime, + + string? userId, + + string? userName, + + string? userStatus, + + string? userType) + { + CreateTime = createTime; + Description = description; + DisplayName = displayName; + Email = email; + FirstName = firstName; + IsSelected = isSelected; + LastName = lastName; + UpdateTime = updateTime; + UserId = userId; + UserName = userName; + UserStatus = userStatus; + UserType = userType; + } + } +} 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/Image/GetFromFamily.cs b/sdk/dotnet/Tencentcloud/Image/GetFromFamily.cs new file mode 100644 index 000000000..0a87c6e26 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Image/GetFromFamily.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.Image +{ + public static class GetFromFamily + { + /// + /// Provides query image from family. + /// + /// ## 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.Image.GetFromFamily.Invoke(new() + /// { + /// ImageFamily = "business-daily-update", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Task InvokeAsync(GetFromFamilyArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("tencentcloud:Image/getFromFamily:getFromFamily", args ?? new GetFromFamilyArgs(), options.WithDefaults()); + + /// + /// Provides query image from family. + /// + /// ## 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.Image.GetFromFamily.Invoke(new() + /// { + /// ImageFamily = "business-daily-update", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Output Invoke(GetFromFamilyInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("tencentcloud:Image/getFromFamily:getFromFamily", args ?? new GetFromFamilyInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetFromFamilyArgs : global::Pulumi.InvokeArgs + { + /// + /// Image family name. + /// + [Input("imageFamily", required: true)] + public string ImageFamily { get; set; } = null!; + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public string? ResultOutputFile { get; set; } + + public GetFromFamilyArgs() + { + } + public static new GetFromFamilyArgs Empty => new GetFromFamilyArgs(); + } + + public sealed class GetFromFamilyInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Image family name. + /// + [Input("imageFamily", required: true)] + public Input ImageFamily { get; set; } = null!; + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public Input? ResultOutputFile { get; set; } + + public GetFromFamilyInvokeArgs() + { + } + public static new GetFromFamilyInvokeArgs Empty => new GetFromFamilyInvokeArgs(); + } + + + [OutputType] + public sealed class GetFromFamilyResult + { + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + public readonly string ImageFamily; + /// + /// Information of Image. + /// + public readonly ImmutableArray Images; + public readonly string? ResultOutputFile; + + [OutputConstructor] + private GetFromFamilyResult( + string id, + + string imageFamily, + + ImmutableArray images, + + string? resultOutputFile) + { + Id = id; + ImageFamily = imageFamily; + Images = images; + ResultOutputFile = resultOutputFile; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Image/Instance.cs b/sdk/dotnet/Tencentcloud/Image/Instance.cs index a4c9203ce..9a4ea87b4 100644 --- a/sdk/dotnet/Tencentcloud/Image/Instance.cs +++ b/sdk/dotnet/Tencentcloud/Image/Instance.cs @@ -40,6 +40,33 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Image /// ``` /// <!--End PulumiCodeChooser --> /// + /// ### Use image family + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var imageFamily = new Tencentcloud.Image.Instance("imageFamily", new() + /// { + /// DataDiskIds = new[] {}, + /// ImageDescription = "create image with snapshot 12323", + /// ImageFamily = "business-daily-update", + /// ImageName = "image-family-test123", + /// SnapshotIds = new[] + /// { + /// "snap-7uuvrcoj", + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// /// ## Import /// /// image instance can be imported using the id, e.g. @@ -69,6 +96,12 @@ public partial class Instance : global::Pulumi.CustomResource [Output("imageDescription")] public Output ImageDescription { get; private set; } = null!; + /// + /// Set image family. Example value: `business-daily-update`. + /// + [Output("imageFamily")] + public Output ImageFamily { get; private set; } = null!; + /// /// Image name. /// @@ -170,6 +203,12 @@ public InputList DataDiskIds [Input("imageDescription")] public Input? ImageDescription { get; set; } + /// + /// Set image family. Example value: `business-daily-update`. + /// + [Input("imageFamily")] + public Input? ImageFamily { get; set; } + /// /// Image name. /// @@ -244,6 +283,12 @@ public InputList DataDiskIds [Input("imageDescription")] public Input? ImageDescription { get; set; } + /// + /// Set image family. Example value: `business-daily-update`. + /// + [Input("imageFamily")] + public Input? ImageFamily { get; set; } + /// /// Image name. /// diff --git a/sdk/dotnet/Tencentcloud/Image/Outputs/GetFromFamilyImageResult.cs b/sdk/dotnet/Tencentcloud/Image/Outputs/GetFromFamilyImageResult.cs new file mode 100644 index 000000000..c1bfe640d --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Image/Outputs/GetFromFamilyImageResult.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.Image.Outputs +{ + + [OutputType] + public sealed class GetFromFamilyImageResult + { + /// + /// Image architecture. + /// + public readonly string Architecture; + /// + /// Creation time of the image. + /// + public readonly string CreatedTime; + /// + /// Image creator. + /// + public readonly string ImageCreator; + /// + /// If Image Deprecated. + /// + public readonly bool ImageDeprecated; + /// + /// Image description. + /// + public readonly string ImageDescription; + /// + /// Image family name. + /// + public readonly string ImageFamily; + /// + /// Image ID. + /// + public readonly string ImageId; + /// + /// Image name. + /// + public readonly string ImageName; + /// + /// Image size. + /// + public readonly int ImageSize; + /// + /// Image source. + /// + public readonly string ImageSource; + /// + /// Image state. + /// + public readonly string ImageState; + /// + /// Image type. + /// + public readonly string ImageType; + /// + /// Whether the image supports cloud-init. + /// + public readonly bool IsSupportCloudinit; + /// + /// Image license type. + /// + public readonly string LicenseType; + /// + /// Operating system of the image. + /// + public readonly string OsName; + /// + /// Source platform of the image. + /// + public readonly string Platform; + /// + /// Information on the snapshots associated with the image. + /// + public readonly ImmutableArray SnapshotSets; + /// + /// Synchronization percentage. + /// + public readonly int SyncPercent; + /// + /// The list of tags bound to the image. + /// + public readonly ImmutableArray Tags; + + [OutputConstructor] + private GetFromFamilyImageResult( + string architecture, + + string createdTime, + + string imageCreator, + + bool imageDeprecated, + + string imageDescription, + + string imageFamily, + + string imageId, + + string imageName, + + int imageSize, + + string imageSource, + + string imageState, + + string imageType, + + bool isSupportCloudinit, + + string licenseType, + + string osName, + + string platform, + + ImmutableArray snapshotSets, + + int syncPercent, + + ImmutableArray tags) + { + Architecture = architecture; + CreatedTime = createdTime; + ImageCreator = imageCreator; + ImageDeprecated = imageDeprecated; + ImageDescription = imageDescription; + ImageFamily = imageFamily; + ImageId = imageId; + ImageName = imageName; + ImageSize = imageSize; + ImageSource = imageSource; + ImageState = imageState; + ImageType = imageType; + IsSupportCloudinit = isSupportCloudinit; + LicenseType = licenseType; + OsName = osName; + Platform = platform; + SnapshotSets = snapshotSets; + SyncPercent = syncPercent; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Image/Outputs/GetFromFamilyImageSnapshotSetResult.cs b/sdk/dotnet/Tencentcloud/Image/Outputs/GetFromFamilyImageSnapshotSetResult.cs new file mode 100644 index 000000000..d29efa700 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Image/Outputs/GetFromFamilyImageSnapshotSetResult.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.Image.Outputs +{ + + [OutputType] + public sealed class GetFromFamilyImageSnapshotSetResult + { + /// + /// Size of the cloud disk used to create the snapshot, unit(GB). + /// + public readonly int DiskSize; + /// + /// Type of the cloud disk used to create the snapshot. Valid values: YSTEM_DISK: system disk, DATA_DISK: data disk. + /// + public readonly string DiskUsage; + /// + /// Snapshot ID. + /// + public readonly string SnapshotId; + + [OutputConstructor] + private GetFromFamilyImageSnapshotSetResult( + int diskSize, + + string diskUsage, + + string snapshotId) + { + DiskSize = diskSize; + DiskUsage = diskUsage; + SnapshotId = snapshotId; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Image/Outputs/GetFromFamilyImageTagResult.cs b/sdk/dotnet/Tencentcloud/Image/Outputs/GetFromFamilyImageTagResult.cs new file mode 100644 index 000000000..35e8fbecc --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Image/Outputs/GetFromFamilyImageTagResult.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.Image.Outputs +{ + + [OutputType] + public sealed class GetFromFamilyImageTagResult + { + /// + /// Key. + /// + public readonly string Key; + /// + /// Vaule. + /// + public readonly string Value; + + [OutputConstructor] + private GetFromFamilyImageTagResult( + string key, + + string value) + { + Key = key; + Value = value; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Inputs/ProviderAssumeRoleArgs.cs b/sdk/dotnet/Tencentcloud/Inputs/ProviderAssumeRoleArgs.cs index 4ce601be6..7554f89bb 100644 --- a/sdk/dotnet/Tencentcloud/Inputs/ProviderAssumeRoleArgs.cs +++ b/sdk/dotnet/Tencentcloud/Inputs/ProviderAssumeRoleArgs.cs @@ -13,6 +13,12 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Inputs public sealed class ProviderAssumeRoleArgs : global::Pulumi.ResourceArgs { + /// + /// External role ID, which can be obtained by clicking the role name in the CAM console. It can contain 2-128 letters, digits, and symbols (=,.@:/-). Regex: [\w+=,.@:/-]*. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_EXTERNAL_ID`. + /// + [Input("externalId")] + public Input? ExternalId { get; set; } + /// /// A more restrictive policy when making the AssumeRole call. Its content must not contains `principal` elements. Notice: more syntax references, please refer to: [policies syntax logic](https://intl.cloud.tencent.com/document/product/598/10603). /// 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..fde2ea79f 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,12 +268,24 @@ 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. /// [Output("disableApiTermination")] public Output DisableApiTermination { get; private set; } = null!; + /// + /// Disable enhance service for automation, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset. + /// + [Output("disableAutomationService")] + public Output DisableAutomationService { get; private set; } = null!; + /// /// 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. /// @@ -286,6 +484,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,12 +631,24 @@ 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. /// [Input("disableApiTermination")] public Input? DisableApiTermination { get; set; } + /// + /// Disable enhance service for automation, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset. + /// + [Input("disableAutomationService")] + public Input? DisableAutomationService { get; set; } + /// /// 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. /// @@ -630,6 +846,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,12 +962,24 @@ 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. /// [Input("disableApiTermination")] public Input? DisableApiTermination { get; set; } + /// + /// Disable enhance service for automation, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset. + /// + [Input("disableAutomationService")] + public Input? DisableAutomationService { get; set; } + /// /// 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. /// @@ -973,6 +1207,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/AuthAttachment.cs b/sdk/dotnet/Tencentcloud/Kubernetes/AuthAttachment.cs index 6994709c7..c7a49042c 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/AuthAttachment.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/AuthAttachment.cs @@ -85,7 +85,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes /// ClusterDeployType = "MANAGED_CLUSTER", /// }); /// - /// var testAuthAttach = new Tencentcloud.Kubernetes.AuthAttachment("testAuthAttach", new() + /// var example = new Tencentcloud.Kubernetes.AuthAttachment("example", new() /// { /// ClusterId = managedCluster.Id, /// JwksUri = managedCluster.Id.Apply(id => $"https://{id}.ccs.tencent-cloud.com/openid/v1/jwks"), @@ -168,7 +168,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes /// }); /// /// // if you want to use tke default issuer and jwks_uri, please set use_tke_default to true and set issuer to empty string. - /// var testUseTkeDefaultAuthAttach = new Tencentcloud.Kubernetes.AuthAttachment("testUseTkeDefaultAuthAttach", new() + /// var example = new Tencentcloud.Kubernetes.AuthAttachment("example", new() /// { /// ClusterId = managedCluster.Id, /// AutoCreateDiscoveryAnonymousAuth = true, @@ -191,7 +191,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes /// /// return await Deployment.RunAsync(() => /// { - /// var testAuthAttach = new Tencentcloud.Kubernetes.AuthAttachment("testAuthAttach", new() + /// var example = new Tencentcloud.Kubernetes.AuthAttachment("example", new() /// { /// ClusterId = tencentcloud_kubernetes_cluster.Managed_cluster.Id, /// UseTkeDefault = true, @@ -219,7 +219,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes /// tke cluster authentication can be imported, e.g. /// /// ```sh - /// $ pulumi import tencentcloud:Kubernetes/authAttachment:AuthAttachment test cls-xxx + /// $ pulumi import tencentcloud:Kubernetes/authAttachment:AuthAttachment example cls-fp5o961e /// ``` /// [TencentcloudResourceType("tencentcloud:Kubernetes/authAttachment:AuthAttachment")] diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Cluster.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Cluster.cs index e109f82b7..9fe0387ff 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/Cluster.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Cluster.cs @@ -11,13 +11,6 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes { /// - /// Provide a resource to create a kubernetes cluster. - /// - /// > **NOTE:** To use the custom Kubernetes component startup parameter function (parameter `extra_args`), you need to submit a ticket for application. - /// - /// > **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. - /// It'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`. - /// /// ## Example Usage /// /// ### Use node pool global config @@ -203,12 +196,88 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes /// ``` /// <!--End PulumiCodeChooser --> /// + /// ### Use delete options to delete CBS when deleting the Cluster + /// + /// <!--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.Kubernetes.Cluster("example", new() + /// { + /// VpcId = local.First_vpc_id, + /// ClusterCidr = @var.Example_cluster_cidr, + /// ClusterMaxPodNum = 32, + /// ClusterName = "example", + /// ClusterDesc = "example for tke cluster", + /// ClusterMaxServiceNum = 32, + /// ClusterLevel = "L50", + /// AutoUpgradeClusterLevel = true, + /// ClusterInternet = false, + /// ClusterVersion = "1.30.0", + /// ClusterOs = "tlinux2.2(tkernel3)x86_64", + /// ClusterDeployType = "MANAGED_CLUSTER", + /// ContainerRuntime = "containerd", + /// DockerGraphPath = "/var/lib/containerd", + /// Tags = + /// { + /// { "demo", "test" }, + /// }, + /// WorkerConfigs = new[] + /// { + /// new Tencentcloud.Kubernetes.Inputs.ClusterWorkerConfigArgs + /// { + /// Count = 1, + /// AvailabilityZone = @var.Availability_zone_first, + /// InstanceType = "SA2.MEDIUM2", + /// SystemDiskType = "CLOUD_SSD", + /// SystemDiskSize = 60, + /// InternetChargeType = "TRAFFIC_POSTPAID_BY_HOUR", + /// InternetMaxBandwidthOut = 100, + /// PublicIpAssigned = true, + /// SubnetId = local.First_subnet_id, + /// DataDisks = new[] + /// { + /// new Tencentcloud.Kubernetes.Inputs.ClusterWorkerConfigDataDiskArgs + /// { + /// DiskType = "CLOUD_PREMIUM", + /// DiskSize = 50, + /// }, + /// }, + /// EnhancedSecurityService = false, + /// EnhancedMonitorService = false, + /// UserData = "dGVzdA==", + /// DisasterRecoverGroupIds = new() { }, + /// SecurityGroupIds = new() { }, + /// KeyIds = new() { }, + /// CamRoleName = "CVM_QcsRole", + /// Password = "ZZXXccvv1212", + /// }, + /// }, + /// ResourceDeleteOptions = new[] + /// { + /// new Tencentcloud.Kubernetes.Inputs.ClusterResourceDeleteOptionArgs + /// { + /// ResourceType = "CBS", + /// DeleteMode = "terminate", + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// /// ## Import /// /// tke cluster can be imported, e.g. /// /// ```sh - /// $ pulumi import tencentcloud:Kubernetes/cluster:Cluster test cls-xxx + /// $ pulumi import tencentcloud:Kubernetes/cluster:Cluster example cls-n2h4jbtk /// ``` /// [TencentcloudResourceType("tencentcloud:Kubernetes/cluster:Cluster")] @@ -238,6 +307,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 +535,18 @@ 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!; + + /// + /// The strategy for deleting cluster instances: terminate (destroy instances, only support pay as you go cloud host instances) retain (remove only, keep instances), Default is terminate. + /// + [Output("instanceDeleteMode")] + public Output InstanceDeleteMode { get; private set; } = null!; + /// /// Indicates whether non-static ip mode is enabled. Default is false. /// @@ -544,12 +631,24 @@ 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. /// [Output("projectId")] public Output ProjectId { get; private set; } = null!; + /// + /// The resource deletion policy when the cluster is deleted. Currently, CBS is supported (CBS is retained by default). Only valid when deleting cluster. + /// + [Output("resourceDeleteOptions")] + public Output> ResourceDeleteOptions { get; private set; } = null!; + /// /// Container Runtime version. /// @@ -687,6 +786,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 +1008,18 @@ 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; } + + /// + /// The strategy for deleting cluster instances: terminate (destroy instances, only support pay as you go cloud host instances) retain (remove only, keep instances), Default is terminate. + /// + [Input("instanceDeleteMode")] + public Input? InstanceDeleteMode { get; set; } + /// /// Indicates whether non-static ip mode is enabled. Default is false. /// @@ -988,12 +1105,30 @@ 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. /// [Input("projectId")] public Input? ProjectId { get; set; } + [Input("resourceDeleteOptions")] + private InputList? _resourceDeleteOptions; + + /// + /// The resource deletion policy when the cluster is deleted. Currently, CBS is supported (CBS is retained by default). Only valid when deleting cluster. + /// + public InputList ResourceDeleteOptions + { + get => _resourceDeleteOptions ?? (_resourceDeleteOptions = new InputList()); + set => _resourceDeleteOptions = value; + } + /// /// Container Runtime version. /// @@ -1086,6 +1221,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 +1473,18 @@ 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; } + + /// + /// The strategy for deleting cluster instances: terminate (destroy instances, only support pay as you go cloud host instances) retain (remove only, keep instances), Default is terminate. + /// + [Input("instanceDeleteMode")] + public Input? InstanceDeleteMode { get; set; } + /// /// Indicates whether non-static ip mode is enabled. Default is false. /// @@ -1441,12 +1594,30 @@ 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. /// [Input("projectId")] public Input? ProjectId { get; set; } + [Input("resourceDeleteOptions")] + private InputList? _resourceDeleteOptions; + + /// + /// The resource deletion policy when the cluster is deleted. Currently, CBS is supported (CBS is retained by default). Only valid when deleting cluster. + /// + public InputList ResourceDeleteOptions + { + get => _resourceDeleteOptions ?? (_resourceDeleteOptions = new InputList()); + set => _resourceDeleteOptions = value; + } + /// /// Container Runtime version. /// diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/ClusterAttachment.cs b/sdk/dotnet/Tencentcloud/Kubernetes/ClusterAttachment.cs index 879aff4d4..74644ffea 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. /// @@ -301,8 +315,20 @@ public Input? Password } } + [Input("securityGroups")] + private InputList? _securityGroups; + + /// + /// A list of security group IDs after attach to cluster. + /// + public InputList SecurityGroups + { + get => _securityGroups ?? (_securityGroups = new InputList()); + set => _securityGroups = value; + } + /// - /// 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 +365,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 +430,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/ClusterMasterAttachment.cs b/sdk/dotnet/Tencentcloud/Kubernetes/ClusterMasterAttachment.cs new file mode 100644 index 000000000..5a4e4be09 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/ClusterMasterAttachment.cs @@ -0,0 +1,361 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are 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 cluster master attachment + /// + [TencentcloudResourceType("tencentcloud:Kubernetes/clusterMasterAttachment:ClusterMasterAttachment")] + public partial class ClusterMasterAttachment : global::Pulumi.CustomResource + { + /// + /// ID of the cluster. + /// + [Output("clusterId")] + public Output ClusterId { get; private set; } = null!; + + /// + /// When the node belongs to the podCIDR size customization mode, the maximum number of pods running on the node can be specified. + /// + [Output("desiredPodNumbers")] + public Output> DesiredPodNumbers { get; private set; } = null!; + + /// + /// Activate TencentCloud Automation Tools (TAT) service. If this parameter is not specified, the public image will default to enabling the Cloud Automation Assistant service, while other images will default to not enabling the Cloud Automation Assistant service. + /// + [Output("enhancedAutomationService")] + public Output EnhancedAutomationService { get; private set; } = null!; + + /// + /// To specify whether to enable cloud monitor service. Default is TRUE. + /// + [Output("enhancedMonitorService")] + public Output EnhancedMonitorService { get; private set; } = null!; + + /// + /// To specify whether to enable cloud security service. Default is TRUE. + /// + [Output("enhancedSecurityService")] + public Output EnhancedSecurityService { get; private set; } = null!; + + /// + /// Custom parameters for cluster master component. + /// + [Output("extraArgs")] + public Output ExtraArgs { get; private set; } = null!; + + /// + /// When reinstalling the system, you can specify the HostName of the instance to be modified (this parameter must be passed when the cluster is in HostName mode, and the rule name should be consistent with the HostName of the CVM instance creation interface except that uppercase characters are not supported). + /// + [Output("hostName")] + public Output HostName { get; private set; } = null!; + + /// + /// ID of the CVM instance, this cvm will reinstall the system. + /// + [Output("instanceId")] + public Output InstanceId { get; private set; } = null!; + + /// + /// The key pair to use for the instance, it looks like skey-16jig7tx, it should be set if `password` not set. + /// + [Output("keyIds")] + public Output KeyIds { get; private set; } = null!; + + /// + /// Advanced Node Settings. commonly used to attach existing instances. + /// + [Output("masterConfig")] + public Output MasterConfig { get; private set; } = null!; + + /// + /// Node role, values: MASTER_ETCD, WORKER. MASTER_ETCD needs to be specified only when creating an INDEPENDENT_CLUSTER independent cluster. The number of MASTER_ETCD nodes is 3-7, and it is recommended to have an odd number. The minimum configuration for MASTER_ETCD is 4C8G. + /// + [Output("nodeRole")] + public Output NodeRole { get; private set; } = null!; + + /// + /// Password to access, should be set if `key_ids` not set. + /// + [Output("password")] + public Output Password { get; private set; } = null!; + + /// + /// The security group to which the instance belongs. This parameter can be obtained by calling the sgId field in the return value of DescribeSecureGroups. If this parameter is not specified, the default security group will be bound. + /// + [Output("securityGroupIds")] + public Output> SecurityGroupIds { get; private set; } = null!; + + + /// + /// Create a ClusterMasterAttachment 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 ClusterMasterAttachment(string name, ClusterMasterAttachmentArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Kubernetes/clusterMasterAttachment:ClusterMasterAttachment", name, args ?? new ClusterMasterAttachmentArgs(), MakeResourceOptions(options, "")) + { + } + + private ClusterMasterAttachment(string name, Input id, ClusterMasterAttachmentState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Kubernetes/clusterMasterAttachment:ClusterMasterAttachment", 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 ClusterMasterAttachment 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 ClusterMasterAttachment Get(string name, Input id, ClusterMasterAttachmentState? state = null, CustomResourceOptions? options = null) + { + return new ClusterMasterAttachment(name, id, state, options); + } + } + + public sealed class ClusterMasterAttachmentArgs : global::Pulumi.ResourceArgs + { + /// + /// ID of the cluster. + /// + [Input("clusterId", required: true)] + public Input ClusterId { get; set; } = null!; + + [Input("desiredPodNumbers")] + private InputList? _desiredPodNumbers; + + /// + /// When the node belongs to the podCIDR size customization mode, the maximum number of pods running on the node can be specified. + /// + public InputList DesiredPodNumbers + { + get => _desiredPodNumbers ?? (_desiredPodNumbers = new InputList()); + set => _desiredPodNumbers = value; + } + + /// + /// Activate TencentCloud Automation Tools (TAT) service. If this parameter is not specified, the public image will default to enabling the Cloud Automation Assistant service, while other images will default to not enabling the Cloud Automation Assistant service. + /// + [Input("enhancedAutomationService")] + public Input? EnhancedAutomationService { get; set; } + + /// + /// To specify whether to enable cloud monitor service. Default is TRUE. + /// + [Input("enhancedMonitorService")] + public Input? EnhancedMonitorService { get; set; } + + /// + /// To specify whether to enable cloud security service. Default is TRUE. + /// + [Input("enhancedSecurityService")] + public Input? EnhancedSecurityService { get; set; } + + /// + /// Custom parameters for cluster master component. + /// + [Input("extraArgs")] + public Input? ExtraArgs { get; set; } + + /// + /// When reinstalling the system, you can specify the HostName of the instance to be modified (this parameter must be passed when the cluster is in HostName mode, and the rule name should be consistent with the HostName of the CVM instance creation interface except that uppercase characters are not supported). + /// + [Input("hostName")] + public Input? HostName { get; set; } + + /// + /// ID of the CVM instance, this cvm will reinstall the system. + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; + + /// + /// The key pair to use for the instance, it looks like skey-16jig7tx, it should be set if `password` not set. + /// + [Input("keyIds")] + public Input? KeyIds { get; set; } + + /// + /// Advanced Node Settings. commonly used to attach existing instances. + /// + [Input("masterConfig")] + public Input? MasterConfig { get; set; } + + /// + /// Node role, values: MASTER_ETCD, WORKER. MASTER_ETCD needs to be specified only when creating an INDEPENDENT_CLUSTER independent cluster. The number of MASTER_ETCD nodes is 3-7, and it is recommended to have an odd number. The minimum configuration for MASTER_ETCD is 4C8G. + /// + [Input("nodeRole", required: true)] + public Input NodeRole { get; set; } = null!; + + [Input("password")] + private Input? _password; + + /// + /// Password to access, should be set if `key_ids` not set. + /// + public Input? Password + { + get => _password; + set + { + var emptySecret = Output.CreateSecret(0); + _password = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("securityGroupIds")] + private InputList? _securityGroupIds; + + /// + /// The security group to which the instance belongs. This parameter can be obtained by calling the sgId field in the return value of DescribeSecureGroups. If this parameter is not specified, the default security group will be bound. + /// + public InputList SecurityGroupIds + { + get => _securityGroupIds ?? (_securityGroupIds = new InputList()); + set => _securityGroupIds = value; + } + + public ClusterMasterAttachmentArgs() + { + } + public static new ClusterMasterAttachmentArgs Empty => new ClusterMasterAttachmentArgs(); + } + + public sealed class ClusterMasterAttachmentState : global::Pulumi.ResourceArgs + { + /// + /// ID of the cluster. + /// + [Input("clusterId")] + public Input? ClusterId { get; set; } + + [Input("desiredPodNumbers")] + private InputList? _desiredPodNumbers; + + /// + /// When the node belongs to the podCIDR size customization mode, the maximum number of pods running on the node can be specified. + /// + public InputList DesiredPodNumbers + { + get => _desiredPodNumbers ?? (_desiredPodNumbers = new InputList()); + set => _desiredPodNumbers = value; + } + + /// + /// Activate TencentCloud Automation Tools (TAT) service. If this parameter is not specified, the public image will default to enabling the Cloud Automation Assistant service, while other images will default to not enabling the Cloud Automation Assistant service. + /// + [Input("enhancedAutomationService")] + public Input? EnhancedAutomationService { get; set; } + + /// + /// To specify whether to enable cloud monitor service. Default is TRUE. + /// + [Input("enhancedMonitorService")] + public Input? EnhancedMonitorService { get; set; } + + /// + /// To specify whether to enable cloud security service. Default is TRUE. + /// + [Input("enhancedSecurityService")] + public Input? EnhancedSecurityService { get; set; } + + /// + /// Custom parameters for cluster master component. + /// + [Input("extraArgs")] + public Input? ExtraArgs { get; set; } + + /// + /// When reinstalling the system, you can specify the HostName of the instance to be modified (this parameter must be passed when the cluster is in HostName mode, and the rule name should be consistent with the HostName of the CVM instance creation interface except that uppercase characters are not supported). + /// + [Input("hostName")] + public Input? HostName { get; set; } + + /// + /// ID of the CVM instance, this cvm will reinstall the system. + /// + [Input("instanceId")] + public Input? InstanceId { get; set; } + + /// + /// The key pair to use for the instance, it looks like skey-16jig7tx, it should be set if `password` not set. + /// + [Input("keyIds")] + public Input? KeyIds { get; set; } + + /// + /// Advanced Node Settings. commonly used to attach existing instances. + /// + [Input("masterConfig")] + public Input? MasterConfig { get; set; } + + /// + /// Node role, values: MASTER_ETCD, WORKER. MASTER_ETCD needs to be specified only when creating an INDEPENDENT_CLUSTER independent cluster. The number of MASTER_ETCD nodes is 3-7, and it is recommended to have an odd number. The minimum configuration for MASTER_ETCD is 4C8G. + /// + [Input("nodeRole")] + public Input? NodeRole { get; set; } + + [Input("password")] + private Input? _password; + + /// + /// Password to access, should be set if `key_ids` not set. + /// + public Input? Password + { + get => _password; + set + { + var emptySecret = Output.CreateSecret(0); + _password = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("securityGroupIds")] + private InputList? _securityGroupIds; + + /// + /// The security group to which the instance belongs. This parameter can be obtained by calling the sgId field in the return value of DescribeSecureGroups. If this parameter is not specified, the default security group will be bound. + /// + public InputList SecurityGroupIds + { + get => _securityGroupIds ?? (_securityGroupIds = new InputList()); + set => _securityGroupIds = value; + } + + public ClusterMasterAttachmentState() + { + } + public static new ClusterMasterAttachmentState Empty => new ClusterMasterAttachmentState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/GetClusterCommonNames.cs b/sdk/dotnet/Tencentcloud/Kubernetes/GetClusterCommonNames.cs index 86f055924..fe66f6269 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/GetClusterCommonNames.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/GetClusterCommonNames.cs @@ -17,6 +17,8 @@ public static class GetClusterCommonNames /// /// ## Example Usage /// + /// ### Query common names by subaccount uins + /// /// <!--Start PulumiCodeChooser --> /// ```csharp /// using System.Collections.Generic; @@ -26,13 +28,37 @@ public static class GetClusterCommonNames /// /// return await Deployment.RunAsync(() => /// { - /// var foo = Tencentcloud.Kubernetes.GetClusterCommonNames.Invoke(new() + /// var example = Tencentcloud.Kubernetes.GetClusterCommonNames.Invoke(new() /// { - /// ClusterId = "cls-12345678", + /// ClusterId = "cls-fdy7hm1q", /// SubaccountUins = new[] /// { - /// "1234567890", - /// "0987654321", + /// "100037718139", + /// "100031340176", + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Query common names by role ids + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Tencentcloud.Kubernetes.GetClusterCommonNames.Invoke(new() + /// { + /// ClusterId = "cls-fdy7hm1q", + /// RoleIds = new[] + /// { + /// "4611686018441060141", /// }, /// }); /// @@ -48,6 +74,8 @@ public static Task InvokeAsync(GetClusterCommonName /// /// ## Example Usage /// + /// ### Query common names by subaccount uins + /// /// <!--Start PulumiCodeChooser --> /// ```csharp /// using System.Collections.Generic; @@ -57,13 +85,37 @@ public static Task InvokeAsync(GetClusterCommonName /// /// return await Deployment.RunAsync(() => /// { - /// var foo = Tencentcloud.Kubernetes.GetClusterCommonNames.Invoke(new() + /// var example = Tencentcloud.Kubernetes.GetClusterCommonNames.Invoke(new() /// { - /// ClusterId = "cls-12345678", + /// ClusterId = "cls-fdy7hm1q", /// SubaccountUins = new[] /// { - /// "1234567890", - /// "0987654321", + /// "100037718139", + /// "100031340176", + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Query common names by role ids + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Tencentcloud.Kubernetes.GetClusterCommonNames.Invoke(new() + /// { + /// ClusterId = "cls-fdy7hm1q", + /// RoleIds = new[] + /// { + /// "4611686018441060141", /// }, /// }); /// 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..e1199241b 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; } @@ -73,6 +73,18 @@ public InputList ExtraArgs [Input("preStartUserScript")] public Input? PreStartUserScript { get; set; } + [Input("taints")] + private InputList? _taints; + + /// + /// Node taint. + /// + public InputList Taints + { + get => _taints ?? (_taints = new InputList()); + set => _taints = value; + } + /// /// Base64-encoded User Data text, the length limit is 16KB. /// diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterAttachmentWorkerConfigGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterAttachmentWorkerConfigGetArgs.cs index a3854f3cd..5cc15ce08 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; } @@ -73,6 +73,18 @@ public InputList ExtraArgs [Input("preStartUserScript")] public Input? PreStartUserScript { get; set; } + [Input("taints")] + private InputList? _taints; + + /// + /// Node taint. + /// + public InputList Taints + { + get => _taints ?? (_taints = new InputList()); + set => _taints = value; + } + /// /// Base64-encoded User Data text, the length limit is 16KB. /// 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/ClusterAttachmentWorkerConfigTaintArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterAttachmentWorkerConfigTaintArgs.cs new file mode 100644 index 000000000..43efc6f21 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterAttachmentWorkerConfigTaintArgs.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 ClusterAttachmentWorkerConfigTaintArgs : global::Pulumi.ResourceArgs + { + /// + /// Effect of the taint. + /// + [Input("effect")] + public Input? Effect { get; set; } + + /// + /// Key of the taint. + /// + [Input("key")] + public Input? Key { get; set; } + + /// + /// Value of the taint. + /// + [Input("value")] + public Input? Value { get; set; } + + public ClusterAttachmentWorkerConfigTaintArgs() + { + } + public static new ClusterAttachmentWorkerConfigTaintArgs Empty => new ClusterAttachmentWorkerConfigTaintArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterAttachmentWorkerConfigTaintGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterAttachmentWorkerConfigTaintGetArgs.cs new file mode 100644 index 000000000..42fdcf24d --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterAttachmentWorkerConfigTaintGetArgs.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 ClusterAttachmentWorkerConfigTaintGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Effect of the taint. + /// + [Input("effect")] + public Input? Effect { get; set; } + + /// + /// Key of the taint. + /// + [Input("key")] + public Input? Key { get; set; } + + /// + /// Value of the taint. + /// + [Input("value")] + public Input? Value { get; set; } + + public ClusterAttachmentWorkerConfigTaintGetArgs() + { + } + public static new ClusterAttachmentWorkerConfigTaintGetArgs Empty => new ClusterAttachmentWorkerConfigTaintGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaArgs.cs index 0fb757b8c..3b1f906cb 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaArgs.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaArgs.cs @@ -13,6 +13,18 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs public sealed class ClusterExistInstanceInstancesParaArgs : global::Pulumi.ResourceArgs { + /// + /// To specify whether to enable cloud monitor service. Default is TRUE. + /// + [Input("enhancedMonitorService")] + public Input? EnhancedMonitorService { get; set; } + + /// + /// To specify whether to enable cloud security service. Default is TRUE. + /// + [Input("enhancedSecurityService")] + public Input? EnhancedSecurityService { get; set; } + [Input("instanceIds", required: true)] private InputList? _instanceIds; @@ -25,6 +37,52 @@ public InputList InstanceIds set => _instanceIds = value; } + [Input("keyIds")] + private InputList? _keyIds; + + /// + /// ID list of keys, should be set if `password` not set. + /// + public InputList KeyIds + { + get => _keyIds ?? (_keyIds = new InputList()); + set => _keyIds = value; + } + + /// + /// Advanced Node Settings. commonly used to attach existing instances. + /// + [Input("masterConfig")] + public Input? MasterConfig { get; set; } + + [Input("password")] + private Input? _password; + + /// + /// Password to access, should be set if `key_ids` not set. + /// + public Input? Password + { + get => _password; + set + { + var emptySecret = Output.CreateSecret(0); + _password = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("securityGroupIds")] + private InputList? _securityGroupIds; + + /// + /// Security groups to which a CVM instance belongs. + /// + public InputList SecurityGroupIds + { + get => _securityGroupIds ?? (_securityGroupIds = new InputList()); + set => _securityGroupIds = value; + } + public ClusterExistInstanceInstancesParaArgs() { } diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaGetArgs.cs index 48f6b71c9..ce99abc9c 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaGetArgs.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaGetArgs.cs @@ -13,6 +13,18 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs public sealed class ClusterExistInstanceInstancesParaGetArgs : global::Pulumi.ResourceArgs { + /// + /// To specify whether to enable cloud monitor service. Default is TRUE. + /// + [Input("enhancedMonitorService")] + public Input? EnhancedMonitorService { get; set; } + + /// + /// To specify whether to enable cloud security service. Default is TRUE. + /// + [Input("enhancedSecurityService")] + public Input? EnhancedSecurityService { get; set; } + [Input("instanceIds", required: true)] private InputList? _instanceIds; @@ -25,6 +37,52 @@ public InputList InstanceIds set => _instanceIds = value; } + [Input("keyIds")] + private InputList? _keyIds; + + /// + /// ID list of keys, should be set if `password` not set. + /// + public InputList KeyIds + { + get => _keyIds ?? (_keyIds = new InputList()); + set => _keyIds = value; + } + + /// + /// Advanced Node Settings. commonly used to attach existing instances. + /// + [Input("masterConfig")] + public Input? MasterConfig { get; set; } + + [Input("password")] + private Input? _password; + + /// + /// Password to access, should be set if `key_ids` not set. + /// + public Input? Password + { + get => _password; + set + { + var emptySecret = Output.CreateSecret(0); + _password = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("securityGroupIds")] + private InputList? _securityGroupIds; + + /// + /// Security groups to which a CVM instance belongs. + /// + public InputList SecurityGroupIds + { + get => _securityGroupIds ?? (_securityGroupIds = new InputList()); + set => _securityGroupIds = value; + } + public ClusterExistInstanceInstancesParaGetArgs() { } diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigArgs.cs new file mode 100644 index 000000000..532d22560 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigArgs.cs @@ -0,0 +1,93 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are 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 ClusterExistInstanceInstancesParaMasterConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// Configurations of data disk. + /// + [Input("dataDisk")] + public Input? DataDisk { get; set; } + + /// + /// Indicate to set desired pod number in node. valid when the cluster is podCIDR. + /// + [Input("desiredPodNumber")] + public Input? DesiredPodNumber { get; set; } + + /// + /// Docker graph path. Default is `/var/lib/docker`. + /// + [Input("dockerGraphPath")] + public Input? DockerGraphPath { get; set; } + + /// + /// Custom parameter information related to the node. This is a white-list parameter. + /// + [Input("extraArgs")] + public Input? ExtraArgs { get; set; } + + /// + /// GPU driver parameters. + /// + [Input("gpuArgs")] + public Input? GpuArgs { get; set; } + + [Input("labels")] + private InputList? _labels; + + /// + /// Node label list. + /// + public InputList Labels + { + get => _labels ?? (_labels = new InputList()); + set => _labels = value; + } + + /// + /// Mount target. Default is not mounting. + /// + [Input("mountTarget")] + public Input? MountTarget { get; set; } + + [Input("taints")] + private InputList? _taints; + + /// + /// Node taint. + /// + public InputList Taints + { + get => _taints ?? (_taints = new InputList()); + set => _taints = value; + } + + /// + /// Set whether the joined nodes participate in scheduling, with a default value of 0, indicating participation in scheduling; Non 0 means not participating in scheduling. + /// + [Input("unschedulable")] + public Input? Unschedulable { get; set; } + + /// + /// User script encoded in base64, which will be executed after the k8s component runs. The user needs to ensure the script's reentrant and retry logic. The script and its generated log files can be viewed in the node path /data/ccs_userscript/. If the node needs to be initialized before joining the schedule, it can be used in conjunction with the `unschedulable` parameter. After the final initialization of the userScript is completed, add the command "kubectl uncordon nodename --kubeconfig=/root/.kube/config" to add the node to the schedule. + /// + [Input("userScript")] + public Input? UserScript { get; set; } + + public ClusterExistInstanceInstancesParaMasterConfigArgs() + { + } + public static new ClusterExistInstanceInstancesParaMasterConfigArgs Empty => new ClusterExistInstanceInstancesParaMasterConfigArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigDataDiskArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigDataDiskArgs.cs new file mode 100644 index 000000000..c10248592 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigDataDiskArgs.cs @@ -0,0 +1,57 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class ClusterExistInstanceInstancesParaMasterConfigDataDiskArgs : global::Pulumi.ResourceArgs + { + /// + /// Indicate whether to auto format and mount or not. Default is `false`. + /// + [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`. + /// + [Input("diskSize")] + public Input? DiskSize { get; set; } + + /// + /// Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD` and `CLOUD_HSSD` and `CLOUD_TSSD`. + /// + [Input("diskType")] + public Input? DiskType { get; set; } + + /// + /// File system, e.g. `ext3/ext4/xfs`. + /// + [Input("fileSystem")] + public Input? FileSystem { get; set; } + + /// + /// Mount target. + /// + [Input("mountTarget")] + public Input? MountTarget { get; set; } + + public ClusterExistInstanceInstancesParaMasterConfigDataDiskArgs() + { + } + public static new ClusterExistInstanceInstancesParaMasterConfigDataDiskArgs Empty => new ClusterExistInstanceInstancesParaMasterConfigDataDiskArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigDataDiskGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigDataDiskGetArgs.cs new file mode 100644 index 000000000..690e26f14 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigDataDiskGetArgs.cs @@ -0,0 +1,57 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class ClusterExistInstanceInstancesParaMasterConfigDataDiskGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Indicate whether to auto format and mount or not. Default is `false`. + /// + [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`. + /// + [Input("diskSize")] + public Input? DiskSize { get; set; } + + /// + /// Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD` and `CLOUD_HSSD` and `CLOUD_TSSD`. + /// + [Input("diskType")] + public Input? DiskType { get; set; } + + /// + /// File system, e.g. `ext3/ext4/xfs`. + /// + [Input("fileSystem")] + public Input? FileSystem { get; set; } + + /// + /// Mount target. + /// + [Input("mountTarget")] + public Input? MountTarget { get; set; } + + public ClusterExistInstanceInstancesParaMasterConfigDataDiskGetArgs() + { + } + public static new ClusterExistInstanceInstancesParaMasterConfigDataDiskGetArgs Empty => new ClusterExistInstanceInstancesParaMasterConfigDataDiskGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigExtraArgsArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigExtraArgsArgs.cs new file mode 100644 index 000000000..10e85caf2 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigExtraArgsArgs.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class ClusterExistInstanceInstancesParaMasterConfigExtraArgsArgs : global::Pulumi.ResourceArgs + { + [Input("kubelets")] + private InputList? _kubelets; + + /// + /// Kubelet custom parameter. The parameter format is ["k1=v1", "k1=v2"]. + /// + public InputList Kubelets + { + get => _kubelets ?? (_kubelets = new InputList()); + set => _kubelets = value; + } + + public ClusterExistInstanceInstancesParaMasterConfigExtraArgsArgs() + { + } + public static new ClusterExistInstanceInstancesParaMasterConfigExtraArgsArgs Empty => new ClusterExistInstanceInstancesParaMasterConfigExtraArgsArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigExtraArgsGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigExtraArgsGetArgs.cs new file mode 100644 index 000000000..1b75fb967 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigExtraArgsGetArgs.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class ClusterExistInstanceInstancesParaMasterConfigExtraArgsGetArgs : global::Pulumi.ResourceArgs + { + [Input("kubelets")] + private InputList? _kubelets; + + /// + /// Kubelet custom parameter. The parameter format is ["k1=v1", "k1=v2"]. + /// + public InputList Kubelets + { + get => _kubelets ?? (_kubelets = new InputList()); + set => _kubelets = value; + } + + public ClusterExistInstanceInstancesParaMasterConfigExtraArgsGetArgs() + { + } + public static new ClusterExistInstanceInstancesParaMasterConfigExtraArgsGetArgs Empty => new ClusterExistInstanceInstancesParaMasterConfigExtraArgsGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigGetArgs.cs new file mode 100644 index 000000000..9350ae5b8 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigGetArgs.cs @@ -0,0 +1,93 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are 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 ClusterExistInstanceInstancesParaMasterConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Configurations of data disk. + /// + [Input("dataDisk")] + public Input? DataDisk { get; set; } + + /// + /// Indicate to set desired pod number in node. valid when the cluster is podCIDR. + /// + [Input("desiredPodNumber")] + public Input? DesiredPodNumber { get; set; } + + /// + /// Docker graph path. Default is `/var/lib/docker`. + /// + [Input("dockerGraphPath")] + public Input? DockerGraphPath { get; set; } + + /// + /// Custom parameter information related to the node. This is a white-list parameter. + /// + [Input("extraArgs")] + public Input? ExtraArgs { get; set; } + + /// + /// GPU driver parameters. + /// + [Input("gpuArgs")] + public Input? GpuArgs { get; set; } + + [Input("labels")] + private InputList? _labels; + + /// + /// Node label list. + /// + public InputList Labels + { + get => _labels ?? (_labels = new InputList()); + set => _labels = value; + } + + /// + /// Mount target. Default is not mounting. + /// + [Input("mountTarget")] + public Input? MountTarget { get; set; } + + [Input("taints")] + private InputList? _taints; + + /// + /// Node taint. + /// + public InputList Taints + { + get => _taints ?? (_taints = new InputList()); + set => _taints = value; + } + + /// + /// Set whether the joined nodes participate in scheduling, with a default value of 0, indicating participation in scheduling; Non 0 means not participating in scheduling. + /// + [Input("unschedulable")] + public Input? Unschedulable { get; set; } + + /// + /// User script encoded in base64, which will be executed after the k8s component runs. The user needs to ensure the script's reentrant and retry logic. The script and its generated log files can be viewed in the node path /data/ccs_userscript/. If the node needs to be initialized before joining the schedule, it can be used in conjunction with the `unschedulable` parameter. After the final initialization of the userScript is completed, add the command "kubectl uncordon nodename --kubeconfig=/root/.kube/config" to add the node to the schedule. + /// + [Input("userScript")] + public Input? UserScript { get; set; } + + public ClusterExistInstanceInstancesParaMasterConfigGetArgs() + { + } + public static new ClusterExistInstanceInstancesParaMasterConfigGetArgs Empty => new ClusterExistInstanceInstancesParaMasterConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigGpuArgsArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigGpuArgsArgs.cs new file mode 100644 index 000000000..bc2f4e117 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigGpuArgsArgs.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.Kubernetes.Inputs +{ + + public sealed class ClusterExistInstanceInstancesParaMasterConfigGpuArgsArgs : global::Pulumi.ResourceArgs + { + [Input("cuda")] + private InputMap? _cuda; + + /// + /// CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + /// + public InputMap Cuda + { + get => _cuda ?? (_cuda = new InputMap()); + set => _cuda = value; + } + + [Input("cudnn")] + private InputMap? _cudnn; + + /// + /// cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `doc_name`: Doc name of cuDNN; `dev_name`: Dev name of cuDNN. + /// + public InputMap Cudnn + { + get => _cudnn ?? (_cudnn = new InputMap()); + set => _cudnn = value; + } + + [Input("customDriver")] + private InputMap? _customDriver; + + /// + /// Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. + /// + public InputMap CustomDriver + { + get => _customDriver ?? (_customDriver = new InputMap()); + set => _customDriver = value; + } + + [Input("driver")] + private InputMap? _driver; + + /// + /// GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + /// + public InputMap Driver + { + get => _driver ?? (_driver = new InputMap()); + set => _driver = value; + } + + /// + /// Whether to enable MIG. + /// + [Input("migEnable")] + public Input? MigEnable { get; set; } + + public ClusterExistInstanceInstancesParaMasterConfigGpuArgsArgs() + { + } + public static new ClusterExistInstanceInstancesParaMasterConfigGpuArgsArgs Empty => new ClusterExistInstanceInstancesParaMasterConfigGpuArgsArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigGpuArgsGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigGpuArgsGetArgs.cs new file mode 100644 index 000000000..76a4767df --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigGpuArgsGetArgs.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.Kubernetes.Inputs +{ + + public sealed class ClusterExistInstanceInstancesParaMasterConfigGpuArgsGetArgs : global::Pulumi.ResourceArgs + { + [Input("cuda")] + private InputMap? _cuda; + + /// + /// CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + /// + public InputMap Cuda + { + get => _cuda ?? (_cuda = new InputMap()); + set => _cuda = value; + } + + [Input("cudnn")] + private InputMap? _cudnn; + + /// + /// cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `doc_name`: Doc name of cuDNN; `dev_name`: Dev name of cuDNN. + /// + public InputMap Cudnn + { + get => _cudnn ?? (_cudnn = new InputMap()); + set => _cudnn = value; + } + + [Input("customDriver")] + private InputMap? _customDriver; + + /// + /// Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. + /// + public InputMap CustomDriver + { + get => _customDriver ?? (_customDriver = new InputMap()); + set => _customDriver = value; + } + + [Input("driver")] + private InputMap? _driver; + + /// + /// GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + /// + public InputMap Driver + { + get => _driver ?? (_driver = new InputMap()); + set => _driver = value; + } + + /// + /// Whether to enable MIG. + /// + [Input("migEnable")] + public Input? MigEnable { get; set; } + + public ClusterExistInstanceInstancesParaMasterConfigGpuArgsGetArgs() + { + } + public static new ClusterExistInstanceInstancesParaMasterConfigGpuArgsGetArgs Empty => new ClusterExistInstanceInstancesParaMasterConfigGpuArgsGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigLabelArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigLabelArgs.cs new file mode 100644 index 000000000..61f9cf8be --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigLabelArgs.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class ClusterExistInstanceInstancesParaMasterConfigLabelArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of map. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Value of map. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public ClusterExistInstanceInstancesParaMasterConfigLabelArgs() + { + } + public static new ClusterExistInstanceInstancesParaMasterConfigLabelArgs Empty => new ClusterExistInstanceInstancesParaMasterConfigLabelArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigLabelGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigLabelGetArgs.cs new file mode 100644 index 000000000..863fb8e6d --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigLabelGetArgs.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class ClusterExistInstanceInstancesParaMasterConfigLabelGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of map. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Value of map. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public ClusterExistInstanceInstancesParaMasterConfigLabelGetArgs() + { + } + public static new ClusterExistInstanceInstancesParaMasterConfigLabelGetArgs Empty => new ClusterExistInstanceInstancesParaMasterConfigLabelGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigTaintArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigTaintArgs.cs new file mode 100644 index 000000000..d1402b4a9 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigTaintArgs.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 ClusterExistInstanceInstancesParaMasterConfigTaintArgs : global::Pulumi.ResourceArgs + { + /// + /// Effect of the taint. + /// + [Input("effect")] + public Input? Effect { get; set; } + + /// + /// Key of the taint. + /// + [Input("key")] + public Input? Key { get; set; } + + /// + /// Value of the taint. + /// + [Input("value")] + public Input? Value { get; set; } + + public ClusterExistInstanceInstancesParaMasterConfigTaintArgs() + { + } + public static new ClusterExistInstanceInstancesParaMasterConfigTaintArgs Empty => new ClusterExistInstanceInstancesParaMasterConfigTaintArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigTaintGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigTaintGetArgs.cs new file mode 100644 index 000000000..05020ac9f --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterExistInstanceInstancesParaMasterConfigTaintGetArgs.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 ClusterExistInstanceInstancesParaMasterConfigTaintGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Effect of the taint. + /// + [Input("effect")] + public Input? Effect { get; set; } + + /// + /// Key of the taint. + /// + [Input("key")] + public Input? Key { get; set; } + + /// + /// Value of the taint. + /// + [Input("value")] + public Input? Value { get; set; } + + public ClusterExistInstanceInstancesParaMasterConfigTaintGetArgs() + { + } + public static new ClusterExistInstanceInstancesParaMasterConfigTaintGetArgs Empty => new ClusterExistInstanceInstancesParaMasterConfigTaintGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentExtraArgsArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentExtraArgsArgs.cs new file mode 100644 index 000000000..3bc31966e --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentExtraArgsArgs.cs @@ -0,0 +1,69 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are 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 ClusterMasterAttachmentExtraArgsArgs : global::Pulumi.ResourceArgs + { + [Input("etcds")] + private InputList? _etcds; + + /// + /// etcd custom parameters. Only supports independent clusters. + /// + public InputList Etcds + { + get => _etcds ?? (_etcds = new InputList()); + set => _etcds = value; + } + + [Input("kubeApiServers")] + private InputList? _kubeApiServers; + + /// + /// Kube apiserver custom parameters. The parameter format is ["k1=v1", "k1=v2"]. + /// + public InputList KubeApiServers + { + get => _kubeApiServers ?? (_kubeApiServers = new InputList()); + set => _kubeApiServers = value; + } + + [Input("kubeControllerManagers")] + private InputList? _kubeControllerManagers; + + /// + /// Kube controller manager custom parameters. + /// + public InputList KubeControllerManagers + { + get => _kubeControllerManagers ?? (_kubeControllerManagers = new InputList()); + set => _kubeControllerManagers = value; + } + + [Input("kubeSchedulers")] + private InputList? _kubeSchedulers; + + /// + /// kube scheduler custom parameters. + /// + public InputList KubeSchedulers + { + get => _kubeSchedulers ?? (_kubeSchedulers = new InputList()); + set => _kubeSchedulers = value; + } + + public ClusterMasterAttachmentExtraArgsArgs() + { + } + public static new ClusterMasterAttachmentExtraArgsArgs Empty => new ClusterMasterAttachmentExtraArgsArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentExtraArgsGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentExtraArgsGetArgs.cs new file mode 100644 index 000000000..68cb14a8f --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentExtraArgsGetArgs.cs @@ -0,0 +1,69 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are 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 ClusterMasterAttachmentExtraArgsGetArgs : global::Pulumi.ResourceArgs + { + [Input("etcds")] + private InputList? _etcds; + + /// + /// etcd custom parameters. Only supports independent clusters. + /// + public InputList Etcds + { + get => _etcds ?? (_etcds = new InputList()); + set => _etcds = value; + } + + [Input("kubeApiServers")] + private InputList? _kubeApiServers; + + /// + /// Kube apiserver custom parameters. The parameter format is ["k1=v1", "k1=v2"]. + /// + public InputList KubeApiServers + { + get => _kubeApiServers ?? (_kubeApiServers = new InputList()); + set => _kubeApiServers = value; + } + + [Input("kubeControllerManagers")] + private InputList? _kubeControllerManagers; + + /// + /// Kube controller manager custom parameters. + /// + public InputList KubeControllerManagers + { + get => _kubeControllerManagers ?? (_kubeControllerManagers = new InputList()); + set => _kubeControllerManagers = value; + } + + [Input("kubeSchedulers")] + private InputList? _kubeSchedulers; + + /// + /// kube scheduler custom parameters. + /// + public InputList KubeSchedulers + { + get => _kubeSchedulers ?? (_kubeSchedulers = new InputList()); + set => _kubeSchedulers = value; + } + + public ClusterMasterAttachmentExtraArgsGetArgs() + { + } + public static new ClusterMasterAttachmentExtraArgsGetArgs Empty => new ClusterMasterAttachmentExtraArgsGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigArgs.cs new file mode 100644 index 000000000..4c72f6eb4 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigArgs.cs @@ -0,0 +1,93 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are 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 ClusterMasterAttachmentMasterConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// Configurations of data disk. + /// + [Input("dataDisk")] + public Input? DataDisk { get; set; } + + /// + /// Indicate to set desired pod number in node. valid when the cluster is podCIDR. + /// + [Input("desiredPodNumber")] + public Input? DesiredPodNumber { get; set; } + + /// + /// Docker graph path. Default is `/var/lib/docker`. + /// + [Input("dockerGraphPath")] + public Input? DockerGraphPath { get; set; } + + /// + /// Custom parameter information related to the node. This is a white-list parameter. + /// + [Input("extraArgs")] + public Input? ExtraArgs { get; set; } + + /// + /// GPU driver parameters. + /// + [Input("gpuArgs")] + public Input? GpuArgs { get; set; } + + [Input("labels")] + private InputList? _labels; + + /// + /// Node label list. + /// + public InputList Labels + { + get => _labels ?? (_labels = new InputList()); + set => _labels = value; + } + + /// + /// Mount target. Default is not mounting. + /// + [Input("mountTarget")] + public Input? MountTarget { get; set; } + + [Input("taints")] + private InputList? _taints; + + /// + /// Node taint. + /// + public InputList Taints + { + get => _taints ?? (_taints = new InputList()); + set => _taints = value; + } + + /// + /// Set whether the joined nodes participate in scheduling, with a default value of 0, indicating participation in scheduling; Non 0 means not participating in scheduling. + /// + [Input("unschedulable")] + public Input? Unschedulable { get; set; } + + /// + /// User script encoded in base64, which will be executed after the k8s component runs. The user needs to ensure the script's reentrant and retry logic. The script and its generated log files can be viewed in the node path /data/ccs_userscript/. If the node needs to be initialized before joining the schedule, it can be used in conjunction with the `unschedulable` parameter. After the final initialization of the userScript is completed, add the command "kubectl uncordon nodename --kubeconfig=/root/.kube/config" to add the node to the schedule. + /// + [Input("userScript")] + public Input? UserScript { get; set; } + + public ClusterMasterAttachmentMasterConfigArgs() + { + } + public static new ClusterMasterAttachmentMasterConfigArgs Empty => new ClusterMasterAttachmentMasterConfigArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigDataDiskArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigDataDiskArgs.cs new file mode 100644 index 000000000..a29e3e23e --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigDataDiskArgs.cs @@ -0,0 +1,57 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class ClusterMasterAttachmentMasterConfigDataDiskArgs : global::Pulumi.ResourceArgs + { + /// + /// Indicate whether to auto format and mount or not. Default is `false`. + /// + [Input("autoFormatAndMount")] + public Input? AutoFormatAndMount { get; set; } + + /// + /// The name of the device or partition to mount. NOTE: this argument doesn't support setting in node pool, or will leads to mount error. + /// + [Input("diskPartition")] + public Input? DiskPartition { get; set; } + + /// + /// Volume of disk in GB. Default is `0`. + /// + [Input("diskSize")] + public Input? DiskSize { get; set; } + + /// + /// Types of disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. + /// + [Input("diskType")] + public Input? DiskType { get; set; } + + /// + /// File system, e.g. `ext3/ext4/xfs`. + /// + [Input("fileSystem")] + public Input? FileSystem { get; set; } + + /// + /// Mount target. + /// + [Input("mountTarget")] + public Input? MountTarget { get; set; } + + public ClusterMasterAttachmentMasterConfigDataDiskArgs() + { + } + public static new ClusterMasterAttachmentMasterConfigDataDiskArgs Empty => new ClusterMasterAttachmentMasterConfigDataDiskArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigDataDiskGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigDataDiskGetArgs.cs new file mode 100644 index 000000000..410130bea --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigDataDiskGetArgs.cs @@ -0,0 +1,57 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class ClusterMasterAttachmentMasterConfigDataDiskGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Indicate whether to auto format and mount or not. Default is `false`. + /// + [Input("autoFormatAndMount")] + public Input? AutoFormatAndMount { get; set; } + + /// + /// The name of the device or partition to mount. NOTE: this argument doesn't support setting in node pool, or will leads to mount error. + /// + [Input("diskPartition")] + public Input? DiskPartition { get; set; } + + /// + /// Volume of disk in GB. Default is `0`. + /// + [Input("diskSize")] + public Input? DiskSize { get; set; } + + /// + /// Types of disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. + /// + [Input("diskType")] + public Input? DiskType { get; set; } + + /// + /// File system, e.g. `ext3/ext4/xfs`. + /// + [Input("fileSystem")] + public Input? FileSystem { get; set; } + + /// + /// Mount target. + /// + [Input("mountTarget")] + public Input? MountTarget { get; set; } + + public ClusterMasterAttachmentMasterConfigDataDiskGetArgs() + { + } + public static new ClusterMasterAttachmentMasterConfigDataDiskGetArgs Empty => new ClusterMasterAttachmentMasterConfigDataDiskGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigExtraArgsArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigExtraArgsArgs.cs new file mode 100644 index 000000000..a2ee1093f --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigExtraArgsArgs.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class ClusterMasterAttachmentMasterConfigExtraArgsArgs : global::Pulumi.ResourceArgs + { + [Input("kubelets")] + private InputList? _kubelets; + + /// + /// Kubelet custom parameter. The parameter format is ["k1=v1", "k1=v2"]. + /// + public InputList Kubelets + { + get => _kubelets ?? (_kubelets = new InputList()); + set => _kubelets = value; + } + + public ClusterMasterAttachmentMasterConfigExtraArgsArgs() + { + } + public static new ClusterMasterAttachmentMasterConfigExtraArgsArgs Empty => new ClusterMasterAttachmentMasterConfigExtraArgsArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigExtraArgsGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigExtraArgsGetArgs.cs new file mode 100644 index 000000000..c7fc85df6 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigExtraArgsGetArgs.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class ClusterMasterAttachmentMasterConfigExtraArgsGetArgs : global::Pulumi.ResourceArgs + { + [Input("kubelets")] + private InputList? _kubelets; + + /// + /// Kubelet custom parameter. The parameter format is ["k1=v1", "k1=v2"]. + /// + public InputList Kubelets + { + get => _kubelets ?? (_kubelets = new InputList()); + set => _kubelets = value; + } + + public ClusterMasterAttachmentMasterConfigExtraArgsGetArgs() + { + } + public static new ClusterMasterAttachmentMasterConfigExtraArgsGetArgs Empty => new ClusterMasterAttachmentMasterConfigExtraArgsGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigGetArgs.cs new file mode 100644 index 000000000..ae5a4551d --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigGetArgs.cs @@ -0,0 +1,93 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are 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 ClusterMasterAttachmentMasterConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Configurations of data disk. + /// + [Input("dataDisk")] + public Input? DataDisk { get; set; } + + /// + /// Indicate to set desired pod number in node. valid when the cluster is podCIDR. + /// + [Input("desiredPodNumber")] + public Input? DesiredPodNumber { get; set; } + + /// + /// Docker graph path. Default is `/var/lib/docker`. + /// + [Input("dockerGraphPath")] + public Input? DockerGraphPath { get; set; } + + /// + /// Custom parameter information related to the node. This is a white-list parameter. + /// + [Input("extraArgs")] + public Input? ExtraArgs { get; set; } + + /// + /// GPU driver parameters. + /// + [Input("gpuArgs")] + public Input? GpuArgs { get; set; } + + [Input("labels")] + private InputList? _labels; + + /// + /// Node label list. + /// + public InputList Labels + { + get => _labels ?? (_labels = new InputList()); + set => _labels = value; + } + + /// + /// Mount target. Default is not mounting. + /// + [Input("mountTarget")] + public Input? MountTarget { get; set; } + + [Input("taints")] + private InputList? _taints; + + /// + /// Node taint. + /// + public InputList Taints + { + get => _taints ?? (_taints = new InputList()); + set => _taints = value; + } + + /// + /// Set whether the joined nodes participate in scheduling, with a default value of 0, indicating participation in scheduling; Non 0 means not participating in scheduling. + /// + [Input("unschedulable")] + public Input? Unschedulable { get; set; } + + /// + /// User script encoded in base64, which will be executed after the k8s component runs. The user needs to ensure the script's reentrant and retry logic. The script and its generated log files can be viewed in the node path /data/ccs_userscript/. If the node needs to be initialized before joining the schedule, it can be used in conjunction with the `unschedulable` parameter. After the final initialization of the userScript is completed, add the command "kubectl uncordon nodename --kubeconfig=/root/.kube/config" to add the node to the schedule. + /// + [Input("userScript")] + public Input? UserScript { get; set; } + + public ClusterMasterAttachmentMasterConfigGetArgs() + { + } + public static new ClusterMasterAttachmentMasterConfigGetArgs Empty => new ClusterMasterAttachmentMasterConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigGpuArgsArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigGpuArgsArgs.cs new file mode 100644 index 000000000..b269f8a9b --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigGpuArgsArgs.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.Kubernetes.Inputs +{ + + public sealed class ClusterMasterAttachmentMasterConfigGpuArgsArgs : global::Pulumi.ResourceArgs + { + [Input("cuda")] + private InputMap? _cuda; + + /// + /// CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + /// + public InputMap Cuda + { + get => _cuda ?? (_cuda = new InputMap()); + set => _cuda = value; + } + + [Input("cudnn")] + private InputMap? _cudnn; + + /// + /// cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `doc_name`: Doc name of cuDNN; `dev_name`: Dev name of cuDNN. + /// + public InputMap Cudnn + { + get => _cudnn ?? (_cudnn = new InputMap()); + set => _cudnn = value; + } + + [Input("customDriver")] + private InputMap? _customDriver; + + /// + /// Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. + /// + public InputMap CustomDriver + { + get => _customDriver ?? (_customDriver = new InputMap()); + set => _customDriver = value; + } + + [Input("driver")] + private InputMap? _driver; + + /// + /// GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + /// + public InputMap Driver + { + get => _driver ?? (_driver = new InputMap()); + set => _driver = value; + } + + /// + /// Whether to enable MIG. + /// + [Input("migEnable")] + public Input? MigEnable { get; set; } + + public ClusterMasterAttachmentMasterConfigGpuArgsArgs() + { + } + public static new ClusterMasterAttachmentMasterConfigGpuArgsArgs Empty => new ClusterMasterAttachmentMasterConfigGpuArgsArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigGpuArgsGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigGpuArgsGetArgs.cs new file mode 100644 index 000000000..23964ef81 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigGpuArgsGetArgs.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.Kubernetes.Inputs +{ + + public sealed class ClusterMasterAttachmentMasterConfigGpuArgsGetArgs : global::Pulumi.ResourceArgs + { + [Input("cuda")] + private InputMap? _cuda; + + /// + /// CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + /// + public InputMap Cuda + { + get => _cuda ?? (_cuda = new InputMap()); + set => _cuda = value; + } + + [Input("cudnn")] + private InputMap? _cudnn; + + /// + /// cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `doc_name`: Doc name of cuDNN; `dev_name`: Dev name of cuDNN. + /// + public InputMap Cudnn + { + get => _cudnn ?? (_cudnn = new InputMap()); + set => _cudnn = value; + } + + [Input("customDriver")] + private InputMap? _customDriver; + + /// + /// Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. + /// + public InputMap CustomDriver + { + get => _customDriver ?? (_customDriver = new InputMap()); + set => _customDriver = value; + } + + [Input("driver")] + private InputMap? _driver; + + /// + /// GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + /// + public InputMap Driver + { + get => _driver ?? (_driver = new InputMap()); + set => _driver = value; + } + + /// + /// Whether to enable MIG. + /// + [Input("migEnable")] + public Input? MigEnable { get; set; } + + public ClusterMasterAttachmentMasterConfigGpuArgsGetArgs() + { + } + public static new ClusterMasterAttachmentMasterConfigGpuArgsGetArgs Empty => new ClusterMasterAttachmentMasterConfigGpuArgsGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigLabelArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigLabelArgs.cs new file mode 100644 index 000000000..2e541d1ab --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigLabelArgs.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class ClusterMasterAttachmentMasterConfigLabelArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of map. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Value of map. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public ClusterMasterAttachmentMasterConfigLabelArgs() + { + } + public static new ClusterMasterAttachmentMasterConfigLabelArgs Empty => new ClusterMasterAttachmentMasterConfigLabelArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigLabelGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigLabelGetArgs.cs new file mode 100644 index 000000000..b85a6e714 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigLabelGetArgs.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class ClusterMasterAttachmentMasterConfigLabelGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of map. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Value of map. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public ClusterMasterAttachmentMasterConfigLabelGetArgs() + { + } + public static new ClusterMasterAttachmentMasterConfigLabelGetArgs Empty => new ClusterMasterAttachmentMasterConfigLabelGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigTaintArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigTaintArgs.cs new file mode 100644 index 000000000..bf1794fe7 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigTaintArgs.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 ClusterMasterAttachmentMasterConfigTaintArgs : global::Pulumi.ResourceArgs + { + /// + /// Effect of the taint. + /// + [Input("effect")] + public Input? Effect { get; set; } + + /// + /// Key of the taint. + /// + [Input("key")] + public Input? Key { get; set; } + + /// + /// Value of the taint. + /// + [Input("value")] + public Input? Value { get; set; } + + public ClusterMasterAttachmentMasterConfigTaintArgs() + { + } + public static new ClusterMasterAttachmentMasterConfigTaintArgs Empty => new ClusterMasterAttachmentMasterConfigTaintArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigTaintGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigTaintGetArgs.cs new file mode 100644 index 000000000..7c6fd5c39 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterAttachmentMasterConfigTaintGetArgs.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 ClusterMasterAttachmentMasterConfigTaintGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Effect of the taint. + /// + [Input("effect")] + public Input? Effect { get; set; } + + /// + /// Key of the taint. + /// + [Input("key")] + public Input? Key { get; set; } + + /// + /// Value of the taint. + /// + [Input("value")] + public Input? Value { get; set; } + + public ClusterMasterAttachmentMasterConfigTaintGetArgs() + { + } + public static new ClusterMasterAttachmentMasterConfigTaintGetArgs Empty => new ClusterMasterAttachmentMasterConfigTaintGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterResourceDeleteOptionArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterResourceDeleteOptionArgs.cs new file mode 100644 index 000000000..e9088c384 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterResourceDeleteOptionArgs.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 ClusterResourceDeleteOptionArgs : global::Pulumi.ResourceArgs + { + /// + /// The deletion mode of CBS resources when the cluster is deleted, `terminate` (destroy), `retain` (retain). Other resources are deleted by default. + /// + [Input("deleteMode", required: true)] + public Input DeleteMode { get; set; } = null!; + + /// + /// Resource type, valid values are `CBS`, `CLB`, and `CVM`. + /// + [Input("resourceType", required: true)] + public Input ResourceType { get; set; } = null!; + + /// + /// Whether to skip resources with deletion protection enabled, the default is false. + /// + [Input("skipDeletionProtection")] + public Input? SkipDeletionProtection { get; set; } + + public ClusterResourceDeleteOptionArgs() + { + } + public static new ClusterResourceDeleteOptionArgs Empty => new ClusterResourceDeleteOptionArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterResourceDeleteOptionGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterResourceDeleteOptionGetArgs.cs new file mode 100644 index 000000000..f04011f82 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterResourceDeleteOptionGetArgs.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 ClusterResourceDeleteOptionGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The deletion mode of CBS resources when the cluster is deleted, `terminate` (destroy), `retain` (retain). Other resources are deleted by default. + /// + [Input("deleteMode", required: true)] + public Input DeleteMode { get; set; } = null!; + + /// + /// Resource type, valid values are `CBS`, `CLB`, and `CVM`. + /// + [Input("resourceType", required: true)] + public Input ResourceType { get; set; } = null!; + + /// + /// Whether to skip resources with deletion protection enabled, the default is false. + /// + [Input("skipDeletionProtection")] + public Input? SkipDeletionProtection { get; set; } + + public ClusterResourceDeleteOptionGetArgs() + { + } + public static new ClusterResourceDeleteOptionGetArgs Empty => new ClusterResourceDeleteOptionGetArgs(); + } +} 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/NativeNodePoolNativeArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeArgs.cs index 4c81f6c5a..bc6dc123e 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeArgs.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeArgs.cs @@ -109,6 +109,12 @@ public InputList KubeletArgs [Input("lifecycle")] public Input? Lifecycle { get; set; } + /// + /// Node pool type. Example value: `NativeCVM` or `Native`. Default is `Native`. + /// + [Input("machineType")] + public Input? MachineType { get; set; } + /// /// Node pool management parameter settings. /// diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeGetArgs.cs index ba8fa76e4..50af2e664 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeGetArgs.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeGetArgs.cs @@ -109,6 +109,12 @@ public InputList KubeletArgs [Input("lifecycle")] public Input? Lifecycle { get; set; } + /// + /// Node pool type. Example value: `NativeCVM` or `Native`. Default is `Native`. + /// + [Input("machineType")] + public Input? MachineType { get; set; } + /// /// Node pool management parameter settings. /// diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NodePoolAnnotationArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NodePoolAnnotationArgs.cs new file mode 100644 index 000000000..5b8e1906e --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NodePoolAnnotationArgs.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class NodePoolAnnotationArgs : global::Pulumi.ResourceArgs + { + /// + /// Name in the map table. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Value in the map table. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public NodePoolAnnotationArgs() + { + } + public static new NodePoolAnnotationArgs Empty => new NodePoolAnnotationArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NodePoolAnnotationGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NodePoolAnnotationGetArgs.cs new file mode 100644 index 000000000..0877b1793 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NodePoolAnnotationGetArgs.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class NodePoolAnnotationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Name in the map table. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Value in the map table. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public NodePoolAnnotationGetArgs() + { + } + public static new NodePoolAnnotationGetArgs Empty => new NodePoolAnnotationGetArgs(); + } +} 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/ScaleWorkerTaintArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ScaleWorkerTaintArgs.cs new file mode 100644 index 000000000..06733723b --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ScaleWorkerTaintArgs.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 ScaleWorkerTaintArgs : global::Pulumi.ResourceArgs + { + /// + /// Effect of the taint. + /// + [Input("effect")] + public Input? Effect { get; set; } + + /// + /// Key of the taint. + /// + [Input("key")] + public Input? Key { get; set; } + + /// + /// Value of the taint. + /// + [Input("value")] + public Input? Value { get; set; } + + public ScaleWorkerTaintArgs() + { + } + public static new ScaleWorkerTaintArgs Empty => new ScaleWorkerTaintArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ScaleWorkerTaintGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ScaleWorkerTaintGetArgs.cs new file mode 100644 index 000000000..7ea814a04 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ScaleWorkerTaintGetArgs.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 ScaleWorkerTaintGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Effect of the taint. + /// + [Input("effect")] + public Input? Effect { get; set; } + + /// + /// Key of the taint. + /// + [Input("key")] + public Input? Key { get; set; } + + /// + /// Value of the taint. + /// + [Input("value")] + public Input? Value { get; set; } + + public ScaleWorkerTaintGetArgs() + { + } + public static new ScaleWorkerTaintGetArgs Empty => new ScaleWorkerTaintGetArgs(); + } +} 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..84e6327d7 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/NodePool.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/NodePool.cs @@ -42,7 +42,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes /// /// var defaultInstanceType = config.Get("defaultInstanceType") ?? "S1.SMALL1"; /// //this is the cluster with empty worker config - /// var managedCluster = new Tencentcloud.Kubernetes.Cluster("managedCluster", new() + /// var exampleCluster = new Tencentcloud.Kubernetes.Cluster("exampleCluster", new() /// { /// VpcId = vpc.Apply(getSubnetsResult => getSubnetsResult.InstanceLists[0]?.VpcId), /// ClusterCidr = clusterCidr, @@ -55,9 +55,9 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes /// }); /// /// //this is one example of managing node using node pool - /// var mynodepool = new Tencentcloud.Kubernetes.NodePool("mynodepool", new() + /// var exampleNodePool = new Tencentcloud.Kubernetes.NodePool("exampleNodePool", new() /// { - /// ClusterId = managedCluster.Id, + /// ClusterId = exampleCluster.Id, /// MaxSize = 6, /// MinSize = 1, /// VpcId = vpc.Apply(getSubnetsResult => getSubnetsResult.InstanceLists[0]?.VpcId), @@ -69,6 +69,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes /// DesiredCapacity = 4, /// EnableAutoScale = true, /// MultiZoneSubnetPolicy = "EQUALITY", + /// NodeOs = "img-9qrfy1xt", /// AutoScalingConfig = new Tencentcloud.Kubernetes.Inputs.NodePoolAutoScalingConfigArgs /// { /// InstanceType = defaultInstanceType, @@ -117,6 +118,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes /// }, /// NodeConfig = new Tencentcloud.Kubernetes.Inputs.NodePoolNodeConfigArgs /// { + /// DockerGraphPath = "/var/lib/docker", /// ExtraArgs = new[] /// { /// "root-dir=/var/lib/kubelet", @@ -139,7 +141,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes /// /// return await Deployment.RunAsync(() => /// { - /// var mynodepool = new Tencentcloud.Kubernetes.NodePool("mynodepool", new() + /// var example = new Tencentcloud.Kubernetes.NodePool("example", new() /// { /// ClusterId = tencentcloud_kubernetes_cluster.Managed_cluster.Id, /// MaxSize = 6, @@ -198,12 +200,18 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes /// tke node pool can be imported, e.g. /// /// ```sh - /// $ pulumi import tencentcloud:Kubernetes/nodePool:NodePool test cls-xxx#np-xxx + /// $ pulumi import tencentcloud:Kubernetes/nodePool:NodePool example cls-d2xdg3io#np-380ay1o8 /// ``` /// [TencentcloudResourceType("tencentcloud:Kubernetes/nodePool:NodePool")] public partial class NodePool : global::Pulumi.CustomResource { + /// + /// Node Annotation List. + /// + [Output("annotations")] + public Output> Annotations { get; private set; } = null!; + /// /// Auto scaling config parameters. /// @@ -364,7 +372,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. @@ -443,6 +451,18 @@ public static NodePool Get(string name, Input id, NodePoolState? state = public sealed class NodePoolArgs : global::Pulumi.ResourceArgs { + [Input("annotations")] + private InputList? _annotations; + + /// + /// Node Annotation List. + /// + public InputList Annotations + { + get => _annotations ?? (_annotations = new InputList()); + set => _annotations = value; + } + /// /// Auto scaling config parameters. /// @@ -637,6 +657,18 @@ public NodePoolArgs() public sealed class NodePoolState : global::Pulumi.ResourceArgs { + [Input("annotations")] + private InputList? _annotations; + + /// + /// Node Annotation List. + /// + public InputList Annotations + { + get => _annotations ?? (_annotations = new InputList()); + set => _annotations = value; + } + /// /// Auto scaling config parameters. /// diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterAttachmentWorkerConfig.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterAttachmentWorkerConfig.cs index 7e1d38e89..8d644508b 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; /// @@ -47,6 +47,10 @@ public sealed class ClusterAttachmentWorkerConfig /// public readonly string? PreStartUserScript; /// + /// Node taint. + /// + public readonly ImmutableArray Taints; + /// /// Base64-encoded User Data text, the length limit is 16KB. /// public readonly string? UserData; @@ -69,6 +73,8 @@ private ClusterAttachmentWorkerConfig( string? preStartUserScript, + ImmutableArray taints, + string? userData) { DataDisks = dataDisks; @@ -79,6 +85,7 @@ private ClusterAttachmentWorkerConfig( IsSchedule = isSchedule; MountTarget = mountTarget; PreStartUserScript = preStartUserScript; + Taints = taints; UserData = userData; } } 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/ClusterAttachmentWorkerConfigTaint.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterAttachmentWorkerConfigTaint.cs new file mode 100644 index 000000000..cf864c9a5 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterAttachmentWorkerConfigTaint.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 ClusterAttachmentWorkerConfigTaint + { + /// + /// Effect of the taint. + /// + public readonly string? Effect; + /// + /// Key of the taint. + /// + public readonly string? Key; + /// + /// Value of the taint. + /// + public readonly string? Value; + + [OutputConstructor] + private ClusterAttachmentWorkerConfigTaint( + string? effect, + + string? key, + + string? value) + { + Effect = effect; + Key = key; + Value = value; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterExistInstanceInstancesPara.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterExistInstanceInstancesPara.cs index 07f8662ca..68d4fd0e5 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterExistInstanceInstancesPara.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterExistInstanceInstancesPara.cs @@ -14,15 +14,58 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs [OutputType] public sealed class ClusterExistInstanceInstancesPara { + /// + /// To specify whether to enable cloud monitor service. Default is TRUE. + /// + public readonly bool? EnhancedMonitorService; + /// + /// To specify whether to enable cloud security service. Default is TRUE. + /// + public readonly bool? EnhancedSecurityService; /// /// Cluster IDs. /// public readonly ImmutableArray InstanceIds; + /// + /// ID list of keys, should be set if `password` not set. + /// + public readonly ImmutableArray KeyIds; + /// + /// Advanced Node Settings. commonly used to attach existing instances. + /// + public readonly Outputs.ClusterExistInstanceInstancesParaMasterConfig? MasterConfig; + /// + /// Password to access, should be set if `key_ids` not set. + /// + public readonly string? Password; + /// + /// Security groups to which a CVM instance belongs. + /// + public readonly ImmutableArray SecurityGroupIds; [OutputConstructor] - private ClusterExistInstanceInstancesPara(ImmutableArray instanceIds) + private ClusterExistInstanceInstancesPara( + bool? enhancedMonitorService, + + bool? enhancedSecurityService, + + ImmutableArray instanceIds, + + ImmutableArray keyIds, + + Outputs.ClusterExistInstanceInstancesParaMasterConfig? masterConfig, + + string? password, + + ImmutableArray securityGroupIds) { + EnhancedMonitorService = enhancedMonitorService; + EnhancedSecurityService = enhancedSecurityService; InstanceIds = instanceIds; + KeyIds = keyIds; + MasterConfig = masterConfig; + Password = password; + SecurityGroupIds = securityGroupIds; } } } diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterExistInstanceInstancesParaMasterConfig.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterExistInstanceInstancesParaMasterConfig.cs new file mode 100644 index 000000000..f8cdf06f0 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterExistInstanceInstancesParaMasterConfig.cs @@ -0,0 +1,92 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs +{ + + [OutputType] + public sealed class ClusterExistInstanceInstancesParaMasterConfig + { + /// + /// Configurations of data disk. + /// + public readonly Outputs.ClusterExistInstanceInstancesParaMasterConfigDataDisk? DataDisk; + /// + /// Indicate to set desired pod number in node. valid when the cluster is podCIDR. + /// + public readonly int? DesiredPodNumber; + /// + /// 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. + /// + public readonly Outputs.ClusterExistInstanceInstancesParaMasterConfigExtraArgs? ExtraArgs; + /// + /// GPU driver parameters. + /// + public readonly Outputs.ClusterExistInstanceInstancesParaMasterConfigGpuArgs? GpuArgs; + /// + /// Node label list. + /// + public readonly ImmutableArray Labels; + /// + /// Mount target. Default is not mounting. + /// + public readonly string? MountTarget; + /// + /// Node taint. + /// + public readonly ImmutableArray Taints; + /// + /// Set whether the joined nodes participate in scheduling, with a default value of 0, indicating participation in scheduling; Non 0 means not participating in scheduling. + /// + public readonly int? Unschedulable; + /// + /// User script encoded in base64, which will be executed after the k8s component runs. The user needs to ensure the script's reentrant and retry logic. The script and its generated log files can be viewed in the node path /data/ccs_userscript/. If the node needs to be initialized before joining the schedule, it can be used in conjunction with the `unschedulable` parameter. After the final initialization of the userScript is completed, add the command "kubectl uncordon nodename --kubeconfig=/root/.kube/config" to add the node to the schedule. + /// + public readonly string? UserScript; + + [OutputConstructor] + private ClusterExistInstanceInstancesParaMasterConfig( + Outputs.ClusterExistInstanceInstancesParaMasterConfigDataDisk? dataDisk, + + int? desiredPodNumber, + + string? dockerGraphPath, + + Outputs.ClusterExistInstanceInstancesParaMasterConfigExtraArgs? extraArgs, + + Outputs.ClusterExistInstanceInstancesParaMasterConfigGpuArgs? gpuArgs, + + ImmutableArray labels, + + string? mountTarget, + + ImmutableArray taints, + + int? unschedulable, + + string? userScript) + { + DataDisk = dataDisk; + DesiredPodNumber = desiredPodNumber; + DockerGraphPath = dockerGraphPath; + ExtraArgs = extraArgs; + GpuArgs = gpuArgs; + Labels = labels; + MountTarget = mountTarget; + Taints = taints; + Unschedulable = unschedulable; + UserScript = userScript; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterExistInstanceInstancesParaMasterConfigDataDisk.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterExistInstanceInstancesParaMasterConfigDataDisk.cs new file mode 100644 index 000000000..3d2c9c887 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterExistInstanceInstancesParaMasterConfigDataDisk.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.Kubernetes.Outputs +{ + + [OutputType] + public sealed class ClusterExistInstanceInstancesParaMasterConfigDataDisk + { + /// + /// Indicate whether to auto format and mount or not. Default is `false`. + /// + 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; + /// + /// Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD` and `CLOUD_HSSD` and `CLOUD_TSSD`. + /// + public readonly string? DiskType; + /// + /// File system, e.g. `ext3/ext4/xfs`. + /// + public readonly string? FileSystem; + /// + /// Mount target. + /// + public readonly string? MountTarget; + + [OutputConstructor] + private ClusterExistInstanceInstancesParaMasterConfigDataDisk( + bool? autoFormatAndMount, + + string? diskPartition, + + int? diskSize, + + string? diskType, + + string? fileSystem, + + string? mountTarget) + { + AutoFormatAndMount = autoFormatAndMount; + DiskPartition = diskPartition; + DiskSize = diskSize; + DiskType = diskType; + FileSystem = fileSystem; + MountTarget = mountTarget; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterExistInstanceInstancesParaMasterConfigExtraArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterExistInstanceInstancesParaMasterConfigExtraArgs.cs new file mode 100644 index 000000000..32d842bcc --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterExistInstanceInstancesParaMasterConfigExtraArgs.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.Kubernetes.Outputs +{ + + [OutputType] + public sealed class ClusterExistInstanceInstancesParaMasterConfigExtraArgs + { + /// + /// Kubelet custom parameter. The parameter format is ["k1=v1", "k1=v2"]. + /// + public readonly ImmutableArray Kubelets; + + [OutputConstructor] + private ClusterExistInstanceInstancesParaMasterConfigExtraArgs(ImmutableArray kubelets) + { + Kubelets = kubelets; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterExistInstanceInstancesParaMasterConfigGpuArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterExistInstanceInstancesParaMasterConfigGpuArgs.cs new file mode 100644 index 000000000..1b2ea8c68 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterExistInstanceInstancesParaMasterConfigGpuArgs.cs @@ -0,0 +1,57 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs +{ + + [OutputType] + public sealed class ClusterExistInstanceInstancesParaMasterConfigGpuArgs + { + /// + /// CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + /// + public readonly ImmutableDictionary? Cuda; + /// + /// cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `doc_name`: Doc name of cuDNN; `dev_name`: Dev name of cuDNN. + /// + public readonly ImmutableDictionary? Cudnn; + /// + /// Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. + /// + public readonly ImmutableDictionary? CustomDriver; + /// + /// GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + /// + public readonly ImmutableDictionary? Driver; + /// + /// Whether to enable MIG. + /// + public readonly bool? MigEnable; + + [OutputConstructor] + private ClusterExistInstanceInstancesParaMasterConfigGpuArgs( + ImmutableDictionary? cuda, + + ImmutableDictionary? cudnn, + + ImmutableDictionary? customDriver, + + ImmutableDictionary? driver, + + bool? migEnable) + { + Cuda = cuda; + Cudnn = cudnn; + CustomDriver = customDriver; + Driver = driver; + MigEnable = migEnable; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterExistInstanceInstancesParaMasterConfigLabel.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterExistInstanceInstancesParaMasterConfigLabel.cs new file mode 100644 index 000000000..e8aa69e8c --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterExistInstanceInstancesParaMasterConfigLabel.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs +{ + + [OutputType] + public sealed class ClusterExistInstanceInstancesParaMasterConfigLabel + { + /// + /// Name of map. + /// + public readonly string Name; + /// + /// Value of map. + /// + public readonly string Value; + + [OutputConstructor] + private ClusterExistInstanceInstancesParaMasterConfigLabel( + string name, + + string value) + { + Name = name; + Value = value; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterExistInstanceInstancesParaMasterConfigTaint.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterExistInstanceInstancesParaMasterConfigTaint.cs new file mode 100644 index 000000000..049ec64d7 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterExistInstanceInstancesParaMasterConfigTaint.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 ClusterExistInstanceInstancesParaMasterConfigTaint + { + /// + /// Effect of the taint. + /// + public readonly string? Effect; + /// + /// Key of the taint. + /// + public readonly string? Key; + /// + /// Value of the taint. + /// + public readonly string? Value; + + [OutputConstructor] + private ClusterExistInstanceInstancesParaMasterConfigTaint( + string? effect, + + string? key, + + string? value) + { + Effect = effect; + Key = key; + Value = value; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterMasterAttachmentExtraArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterMasterAttachmentExtraArgs.cs new file mode 100644 index 000000000..4a52abd32 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterMasterAttachmentExtraArgs.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.Kubernetes.Outputs +{ + + [OutputType] + public sealed class ClusterMasterAttachmentExtraArgs + { + /// + /// etcd custom parameters. Only supports independent clusters. + /// + public readonly ImmutableArray Etcds; + /// + /// Kube apiserver custom parameters. The parameter format is ["k1=v1", "k1=v2"]. + /// + public readonly ImmutableArray KubeApiServers; + /// + /// Kube controller manager custom parameters. + /// + public readonly ImmutableArray KubeControllerManagers; + /// + /// kube scheduler custom parameters. + /// + public readonly ImmutableArray KubeSchedulers; + + [OutputConstructor] + private ClusterMasterAttachmentExtraArgs( + ImmutableArray etcds, + + ImmutableArray kubeApiServers, + + ImmutableArray kubeControllerManagers, + + ImmutableArray kubeSchedulers) + { + Etcds = etcds; + KubeApiServers = kubeApiServers; + KubeControllerManagers = kubeControllerManagers; + KubeSchedulers = kubeSchedulers; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterMasterAttachmentMasterConfig.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterMasterAttachmentMasterConfig.cs new file mode 100644 index 000000000..b4fcca8c1 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterMasterAttachmentMasterConfig.cs @@ -0,0 +1,92 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs +{ + + [OutputType] + public sealed class ClusterMasterAttachmentMasterConfig + { + /// + /// Configurations of data disk. + /// + public readonly Outputs.ClusterMasterAttachmentMasterConfigDataDisk? DataDisk; + /// + /// Indicate to set desired pod number in node. valid when the cluster is podCIDR. + /// + public readonly int? DesiredPodNumber; + /// + /// 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. + /// + public readonly Outputs.ClusterMasterAttachmentMasterConfigExtraArgs? ExtraArgs; + /// + /// GPU driver parameters. + /// + public readonly Outputs.ClusterMasterAttachmentMasterConfigGpuArgs? GpuArgs; + /// + /// Node label list. + /// + public readonly ImmutableArray Labels; + /// + /// Mount target. Default is not mounting. + /// + public readonly string? MountTarget; + /// + /// Node taint. + /// + public readonly ImmutableArray Taints; + /// + /// Set whether the joined nodes participate in scheduling, with a default value of 0, indicating participation in scheduling; Non 0 means not participating in scheduling. + /// + public readonly int? Unschedulable; + /// + /// User script encoded in base64, which will be executed after the k8s component runs. The user needs to ensure the script's reentrant and retry logic. The script and its generated log files can be viewed in the node path /data/ccs_userscript/. If the node needs to be initialized before joining the schedule, it can be used in conjunction with the `unschedulable` parameter. After the final initialization of the userScript is completed, add the command "kubectl uncordon nodename --kubeconfig=/root/.kube/config" to add the node to the schedule. + /// + public readonly string? UserScript; + + [OutputConstructor] + private ClusterMasterAttachmentMasterConfig( + Outputs.ClusterMasterAttachmentMasterConfigDataDisk? dataDisk, + + int? desiredPodNumber, + + string? dockerGraphPath, + + Outputs.ClusterMasterAttachmentMasterConfigExtraArgs? extraArgs, + + Outputs.ClusterMasterAttachmentMasterConfigGpuArgs? gpuArgs, + + ImmutableArray labels, + + string? mountTarget, + + ImmutableArray taints, + + int? unschedulable, + + string? userScript) + { + DataDisk = dataDisk; + DesiredPodNumber = desiredPodNumber; + DockerGraphPath = dockerGraphPath; + ExtraArgs = extraArgs; + GpuArgs = gpuArgs; + Labels = labels; + MountTarget = mountTarget; + Taints = taints; + Unschedulable = unschedulable; + UserScript = userScript; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterMasterAttachmentMasterConfigDataDisk.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterMasterAttachmentMasterConfigDataDisk.cs new file mode 100644 index 000000000..5c17972f2 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterMasterAttachmentMasterConfigDataDisk.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.Kubernetes.Outputs +{ + + [OutputType] + public sealed class ClusterMasterAttachmentMasterConfigDataDisk + { + /// + /// Indicate whether to auto format and mount or not. Default is `false`. + /// + public readonly bool? AutoFormatAndMount; + /// + /// The name of the device or partition to mount. NOTE: this argument doesn't support setting in node pool, or will leads to mount error. + /// + public readonly string? DiskPartition; + /// + /// Volume of disk in GB. Default is `0`. + /// + public readonly int? DiskSize; + /// + /// Types of disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. + /// + public readonly string? DiskType; + /// + /// File system, e.g. `ext3/ext4/xfs`. + /// + public readonly string? FileSystem; + /// + /// Mount target. + /// + public readonly string? MountTarget; + + [OutputConstructor] + private ClusterMasterAttachmentMasterConfigDataDisk( + bool? autoFormatAndMount, + + string? diskPartition, + + int? diskSize, + + string? diskType, + + string? fileSystem, + + string? mountTarget) + { + AutoFormatAndMount = autoFormatAndMount; + DiskPartition = diskPartition; + DiskSize = diskSize; + DiskType = diskType; + FileSystem = fileSystem; + MountTarget = mountTarget; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterMasterAttachmentMasterConfigExtraArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterMasterAttachmentMasterConfigExtraArgs.cs new file mode 100644 index 000000000..157fda8df --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterMasterAttachmentMasterConfigExtraArgs.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.Kubernetes.Outputs +{ + + [OutputType] + public sealed class ClusterMasterAttachmentMasterConfigExtraArgs + { + /// + /// Kubelet custom parameter. The parameter format is ["k1=v1", "k1=v2"]. + /// + public readonly ImmutableArray Kubelets; + + [OutputConstructor] + private ClusterMasterAttachmentMasterConfigExtraArgs(ImmutableArray kubelets) + { + Kubelets = kubelets; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterMasterAttachmentMasterConfigGpuArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterMasterAttachmentMasterConfigGpuArgs.cs new file mode 100644 index 000000000..dcd64c498 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterMasterAttachmentMasterConfigGpuArgs.cs @@ -0,0 +1,57 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs +{ + + [OutputType] + public sealed class ClusterMasterAttachmentMasterConfigGpuArgs + { + /// + /// CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + /// + public readonly ImmutableDictionary? Cuda; + /// + /// cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `doc_name`: Doc name of cuDNN; `dev_name`: Dev name of cuDNN. + /// + public readonly ImmutableDictionary? Cudnn; + /// + /// Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. + /// + public readonly ImmutableDictionary? CustomDriver; + /// + /// GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + /// + public readonly ImmutableDictionary? Driver; + /// + /// Whether to enable MIG. + /// + public readonly bool? MigEnable; + + [OutputConstructor] + private ClusterMasterAttachmentMasterConfigGpuArgs( + ImmutableDictionary? cuda, + + ImmutableDictionary? cudnn, + + ImmutableDictionary? customDriver, + + ImmutableDictionary? driver, + + bool? migEnable) + { + Cuda = cuda; + Cudnn = cudnn; + CustomDriver = customDriver; + Driver = driver; + MigEnable = migEnable; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterMasterAttachmentMasterConfigLabel.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterMasterAttachmentMasterConfigLabel.cs new file mode 100644 index 000000000..08743da66 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterMasterAttachmentMasterConfigLabel.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs +{ + + [OutputType] + public sealed class ClusterMasterAttachmentMasterConfigLabel + { + /// + /// Name of map. + /// + public readonly string Name; + /// + /// Value of map. + /// + public readonly string Value; + + [OutputConstructor] + private ClusterMasterAttachmentMasterConfigLabel( + string name, + + string value) + { + Name = name; + Value = value; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterMasterAttachmentMasterConfigTaint.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterMasterAttachmentMasterConfigTaint.cs new file mode 100644 index 000000000..d2b0f2c76 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterMasterAttachmentMasterConfigTaint.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 ClusterMasterAttachmentMasterConfigTaint + { + /// + /// Effect of the taint. + /// + public readonly string? Effect; + /// + /// Key of the taint. + /// + public readonly string? Key; + /// + /// Value of the taint. + /// + public readonly string? Value; + + [OutputConstructor] + private ClusterMasterAttachmentMasterConfigTaint( + string? effect, + + string? key, + + string? value) + { + Effect = effect; + Key = key; + Value = value; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterResourceDeleteOption.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterResourceDeleteOption.cs new file mode 100644 index 000000000..f37bcf046 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterResourceDeleteOption.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 ClusterResourceDeleteOption + { + /// + /// The deletion mode of CBS resources when the cluster is deleted, `terminate` (destroy), `retain` (retain). Other resources are deleted by default. + /// + public readonly string DeleteMode; + /// + /// Resource type, valid values are `CBS`, `CLB`, and `CVM`. + /// + public readonly string ResourceType; + /// + /// Whether to skip resources with deletion protection enabled, the default is false. + /// + public readonly bool? SkipDeletionProtection; + + [OutputConstructor] + private ClusterResourceDeleteOption( + string deleteMode, + + string resourceType, + + bool? skipDeletionProtection) + { + DeleteMode = deleteMode; + ResourceType = resourceType; + SkipDeletionProtection = skipDeletionProtection; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterCommonNamesListResult.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterCommonNamesListResult.cs index 27cce4cfb..a7f404e20 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterCommonNamesListResult.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterCommonNamesListResult.cs @@ -17,6 +17,10 @@ public sealed class GetClusterCommonNamesListResult /// /// The CommonName in the certificate of the client corresponding to the sub-account. /// + public readonly string CommonName; + /// + /// (**Deprecated**) It has been deprecated from version 1.81.140. Please use `common_name`. The CommonName in the certificate of the client corresponding to the sub-account. + /// public readonly string CommonNames; /// /// User UIN. @@ -25,10 +29,13 @@ public sealed class GetClusterCommonNamesListResult [OutputConstructor] private GetClusterCommonNamesListResult( + string commonName, + string commonNames, string subaccountUin) { + CommonName = commonName; CommonNames = commonNames; SubaccountUin = subaccountUin; } 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/NativeNodePoolNative.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolNative.cs index 3c9ede756..c3b81ec34 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolNative.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolNative.cs @@ -63,6 +63,10 @@ public sealed class NativeNodePoolNative /// public readonly Outputs.NativeNodePoolNativeLifecycle? Lifecycle; /// + /// Node pool type. Example value: `NativeCVM` or `Native`. Default is `Native`. + /// + public readonly string? MachineType; + /// /// Node pool management parameter settings. /// public readonly Outputs.NativeNodePoolNativeManagement? Management; @@ -117,6 +121,8 @@ private NativeNodePoolNative( Outputs.NativeNodePoolNativeLifecycle? lifecycle, + string? machineType, + Outputs.NativeNodePoolNativeManagement? management, int? replicas, @@ -143,6 +149,7 @@ private NativeNodePoolNative( KeyIds = keyIds; KubeletArgs = kubeletArgs; Lifecycle = lifecycle; + MachineType = machineType; Management = management; Replicas = replicas; RuntimeRootDir = runtimeRootDir; diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NodePoolAnnotation.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NodePoolAnnotation.cs new file mode 100644 index 000000000..fe2c04763 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NodePoolAnnotation.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs +{ + + [OutputType] + public sealed class NodePoolAnnotation + { + /// + /// Name in the map table. + /// + public readonly string Name; + /// + /// Value in the map table. + /// + public readonly string Value; + + [OutputConstructor] + private NodePoolAnnotation( + string name, + + string value) + { + Name = name; + Value = value; + } + } +} 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/ScaleWorkerTaint.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ScaleWorkerTaint.cs new file mode 100644 index 000000000..20ec75194 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ScaleWorkerTaint.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 ScaleWorkerTaint + { + /// + /// Effect of the taint. + /// + public readonly string? Effect; + /// + /// Key of the taint. + /// + public readonly string? Key; + /// + /// Value of the taint. + /// + public readonly string? Value; + + [OutputConstructor] + private ScaleWorkerTaint( + string? effect, + + string? key, + + string? value) + { + Effect = effect; + Key = key; + Value = value; + } + } +} 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..b6058eb31 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/ScaleWorker.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/ScaleWorker.cs @@ -17,6 +17,8 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes /// /// > **NOTE:** Import Node: Currently, only one node can be imported at a time. /// + /// > **NOTE:** If you need to view error messages during instance creation, you can use parameter `create_result_output_file` to set the file save path + /// /// ## Example Usage /// /// <!--Start PulumiCodeChooser --> @@ -32,7 +34,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, @@ -65,6 +67,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes /// UserData = "dGVzdA==", /// Password = "AABBccdd1122", /// }, + /// CreateResultOutputFile = "my_output_file_path", /// }); /// /// }); @@ -86,7 +89,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 +136,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 /// ``` /// [TencentcloudResourceType("tencentcloud:Kubernetes/scaleWorker:ScaleWorker")] @@ -146,7 +149,13 @@ public partial class ScaleWorker : global::Pulumi.CustomResource public Output ClusterId { get; private set; } = null!; /// - /// Configurations of data disk. + /// Used to save results of CVMs creation error messages. + /// + [Output("createResultOutputFile")] + public Output CreateResultOutputFile { get; private set; } = null!; + + /// + /// Configurations of tke data disk. /// [Output("dataDisks")] public Output> DataDisks { get; private set; } = null!; @@ -193,6 +202,12 @@ public partial class ScaleWorker : global::Pulumi.CustomResource [Output("preStartUserScript")] public Output PreStartUserScript { get; private set; } = null!; + /// + /// Node taint. + /// + [Output("taints")] + public Output> Taints { get; private set; } = null!; + /// /// Set whether the added node participates in scheduling. The default value is 0, which means participating in scheduling; non-0 means not participating in scheduling. After the node initialization is completed, you can execute kubectl uncordon nodename to join the node in scheduling. /// @@ -270,11 +285,17 @@ public sealed class ScaleWorkerArgs : global::Pulumi.ResourceArgs [Input("clusterId", required: true)] public Input ClusterId { get; set; } = null!; + /// + /// Used to save results of CVMs creation error messages. + /// + [Input("createResultOutputFile")] + public Input? CreateResultOutputFile { get; set; } + [Input("dataDisks")] private InputList? _dataDisks; /// - /// Configurations of data disk. + /// Configurations of tke data disk. /// public InputList DataDisks { @@ -336,6 +357,18 @@ public InputMap Labels [Input("preStartUserScript")] public Input? PreStartUserScript { get; set; } + [Input("taints")] + private InputList? _taints; + + /// + /// Node taint. + /// + public InputList Taints + { + get => _taints ?? (_taints = new InputList()); + set => _taints = value; + } + /// /// Set whether the added node participates in scheduling. The default value is 0, which means participating in scheduling; non-0 means not participating in scheduling. After the node initialization is completed, you can execute kubectl uncordon nodename to join the node in scheduling. /// @@ -368,11 +401,17 @@ public sealed class ScaleWorkerState : global::Pulumi.ResourceArgs [Input("clusterId")] public Input? ClusterId { get; set; } + /// + /// Used to save results of CVMs creation error messages. + /// + [Input("createResultOutputFile")] + public Input? CreateResultOutputFile { get; set; } + [Input("dataDisks")] private InputList? _dataDisks; /// - /// Configurations of data disk. + /// Configurations of tke data disk. /// public InputList DataDisks { @@ -434,6 +473,18 @@ public InputMap Labels [Input("preStartUserScript")] public Input? PreStartUserScript { get; set; } + [Input("taints")] + private InputList? _taints; + + /// + /// Node taint. + /// + public InputList Taints + { + get => _taints ?? (_taints = new InputList()); + set => _taints = value; + } + /// /// Set whether the added node participates in scheduling. The default value is 0, which means participating in scheduling; non-0 means not participating in scheduling. After the node initialization is completed, you can execute kubectl uncordon nodename to join the node in scheduling. /// 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..c82211c60 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Mysql/ClsLogAttachment.cs @@ -0,0 +1,385 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are 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 --> + /// + [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..670a7f762 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. Cross-region query requires master instance permission. + /// + [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. Cross-region query requires master instance permission. + /// + [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. Cross-region query requires master instance permission. + /// + [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/Nat/Gateway.cs b/sdk/dotnet/Tencentcloud/Nat/Gateway.cs index ca52c4aec..ce1ae7a78 100644 --- a/sdk/dotnet/Tencentcloud/Nat/Gateway.cs +++ b/sdk/dotnet/Tencentcloud/Nat/Gateway.cs @@ -13,6 +13,10 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Nat /// /// Provides a resource to create a NAT gateway. /// + /// > **NOTE:** If `nat_product_version` is `1`, `max_concurrent` valid values is `1000000`, `3000000`, `10000000`. + /// + /// > **NOTE:** If set `stock_public_ip_addresses_bandwidth_out`, do not set the `internet_max_bandwidth_out` parameter of resource `tencentcloud.Eip.Instance` at the same time, otherwise conflicts may occur. + /// /// ## Example Usage /// /// ### Create a traditional NAT gateway. @@ -38,6 +42,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Nat /// var example = new Tencentcloud.Nat.Gateway("example", new() /// { /// VpcId = vpc.Id, + /// NatProductVersion = 1, /// Bandwidth = 100, /// MaxConcurrent = 1000000, /// AssignedEipSets = new[] @@ -47,7 +52,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Nat /// }, /// Tags = /// { - /// { "tf_tag_key", "tf_tag_value" }, + /// { "createBy", "terraform" }, /// }, /// }); /// @@ -78,15 +83,55 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Nat /// var example = new Tencentcloud.Nat.Gateway("example", new() /// { /// VpcId = vpc.Id, + /// NatProductVersion = 2, /// AssignedEipSets = new[] /// { /// eipExample1.PublicIp, /// eipExample2.PublicIp, /// }, + /// Tags = + /// { + /// { "createBy", "terraform" }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Or set stock public ip addresses bandwidth out + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() + /// { + /// CidrBlock = "10.0.0.0/16", + /// }); + /// + /// var eipExample1 = new Tencentcloud.Eip.Instance("eipExample1"); + /// + /// var eipExample2 = new Tencentcloud.Eip.Instance("eipExample2"); + /// + /// var example = new Tencentcloud.Nat.Gateway("example", new() + /// { + /// VpcId = vpc.Id, /// NatProductVersion = 2, + /// StockPublicIpAddressesBandwidthOut = 100, + /// AssignedEipSets = new[] + /// { + /// eipExample1.PublicIp, + /// eipExample2.PublicIp, + /// }, /// Tags = /// { - /// { "tf_tag_key", "tf_tag_value" }, + /// { "createBy", "terraform" }, /// }, /// }); /// @@ -99,7 +144,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Nat /// NAT gateway can be imported using the id, e.g. /// /// ```sh - /// $ pulumi import tencentcloud:Nat/gateway:Gateway foo nat-1asg3t63 + /// $ pulumi import tencentcloud:Nat/gateway:Gateway example nat-1asg3t63 /// ``` /// [TencentcloudResourceType("tencentcloud:Nat/gateway:Gateway")] @@ -112,10 +157,10 @@ public partial class Gateway : global::Pulumi.CustomResource public Output> AssignedEipSets { get; private set; } = null!; /// - /// The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is 100. + /// The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is `100`. When the value of parameter `nat_product_version` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `5000`. /// [Output("bandwidth")] - public Output Bandwidth { get; private set; } = null!; + public Output Bandwidth { get; private set; } = null!; /// /// Create time of the NAT gateway. @@ -124,10 +169,10 @@ public partial class Gateway : global::Pulumi.CustomResource public Output CreatedTime { get; private set; } = null!; /// - /// The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. + /// The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. When the value of parameter `nat_product_version` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `2000000`. /// [Output("maxConcurrent")] - public Output MaxConcurrent { get; private set; } = null!; + public Output MaxConcurrent { get; private set; } = null!; /// /// Name of the NAT gateway. @@ -141,6 +186,12 @@ public partial class Gateway : global::Pulumi.CustomResource [Output("natProductVersion")] public Output NatProductVersion { get; private set; } = null!; + /// + /// The elastic public IP bandwidth value (unit: Mbps) for binding NAT gateway. When this parameter is not filled in, it defaults to the bandwidth value of the elastic public IP, and for some users, it defaults to the bandwidth limit of the elastic public IP of that user type. + /// + [Output("stockPublicIpAddressesBandwidthOut")] + public Output StockPublicIpAddressesBandwidthOut { get; private set; } = null!; + /// /// Subnet of NAT. /// @@ -225,13 +276,13 @@ public InputList AssignedEipSets } /// - /// The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is 100. + /// The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is `100`. When the value of parameter `nat_product_version` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `5000`. /// [Input("bandwidth")] public Input? Bandwidth { get; set; } /// - /// The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. + /// The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. When the value of parameter `nat_product_version` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `2000000`. /// [Input("maxConcurrent")] public Input? MaxConcurrent { get; set; } @@ -248,6 +299,12 @@ public InputList AssignedEipSets [Input("natProductVersion")] public Input? NatProductVersion { get; set; } + /// + /// The elastic public IP bandwidth value (unit: Mbps) for binding NAT gateway. When this parameter is not filled in, it defaults to the bandwidth value of the elastic public IP, and for some users, it defaults to the bandwidth limit of the elastic public IP of that user type. + /// + [Input("stockPublicIpAddressesBandwidthOut")] + public Input? StockPublicIpAddressesBandwidthOut { get; set; } + /// /// Subnet of NAT. /// @@ -299,7 +356,7 @@ public InputList AssignedEipSets } /// - /// The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is 100. + /// The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is `100`. When the value of parameter `nat_product_version` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `5000`. /// [Input("bandwidth")] public Input? Bandwidth { get; set; } @@ -311,7 +368,7 @@ public InputList AssignedEipSets public Input? CreatedTime { get; set; } /// - /// The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. + /// The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. When the value of parameter `nat_product_version` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `2000000`. /// [Input("maxConcurrent")] public Input? MaxConcurrent { get; set; } @@ -328,6 +385,12 @@ public InputList AssignedEipSets [Input("natProductVersion")] public Input? NatProductVersion { get; set; } + /// + /// The elastic public IP bandwidth value (unit: Mbps) for binding NAT gateway. When this parameter is not filled in, it defaults to the bandwidth value of the elastic public IP, and for some users, it defaults to the bandwidth limit of the elastic public IP of that user type. + /// + [Input("stockPublicIpAddressesBandwidthOut")] + public Input? StockPublicIpAddressesBandwidthOut { get; set; } + /// /// Subnet of NAT. /// diff --git a/sdk/dotnet/Tencentcloud/Open/IdentityCenterOperation.cs b/sdk/dotnet/Tencentcloud/Open/IdentityCenterOperation.cs new file mode 100644 index 000000000..9ec346f9b --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Open/IdentityCenterOperation.cs @@ -0,0 +1,129 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Open +{ + /// + /// Provides a resource to open identity center + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var openIdentityCenterOperation = new Tencentcloud.Open.IdentityCenterOperation("openIdentityCenterOperation", new() + /// { + /// ZoneName = "test", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + [TencentcloudResourceType("tencentcloud:Open/identityCenterOperation:IdentityCenterOperation")] + public partial class IdentityCenterOperation : global::Pulumi.CustomResource + { + /// + /// Space ID. z-Prefix starts with 12 random numbers/lowercase letters followed by. + /// + [Output("zoneId")] + public Output ZoneId { get; private set; } = null!; + + /// + /// Space name, which must be globally unique and contain 2-64 characters including lowercase letters, digits, and hyphens (-). It can neither start or end with a hyphen (-) nor contain two consecutive hyphens (-). + /// + [Output("zoneName")] + public Output ZoneName { get; private set; } = null!; + + + /// + /// Create a IdentityCenterOperation 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 IdentityCenterOperation(string name, IdentityCenterOperationArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Open/identityCenterOperation:IdentityCenterOperation", name, args ?? new IdentityCenterOperationArgs(), MakeResourceOptions(options, "")) + { + } + + private IdentityCenterOperation(string name, Input id, IdentityCenterOperationState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Open/identityCenterOperation:IdentityCenterOperation", 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 IdentityCenterOperation 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 IdentityCenterOperation Get(string name, Input id, IdentityCenterOperationState? state = null, CustomResourceOptions? options = null) + { + return new IdentityCenterOperation(name, id, state, options); + } + } + + public sealed class IdentityCenterOperationArgs : global::Pulumi.ResourceArgs + { + /// + /// Space name, which must be globally unique and contain 2-64 characters including lowercase letters, digits, and hyphens (-). It can neither start or end with a hyphen (-) nor contain two consecutive hyphens (-). + /// + [Input("zoneName", required: true)] + public Input ZoneName { get; set; } = null!; + + public IdentityCenterOperationArgs() + { + } + public static new IdentityCenterOperationArgs Empty => new IdentityCenterOperationArgs(); + } + + public sealed class IdentityCenterOperationState : global::Pulumi.ResourceArgs + { + /// + /// Space ID. z-Prefix starts with 12 random numbers/lowercase letters followed by. + /// + [Input("zoneId")] + public Input? ZoneId { get; set; } + + /// + /// Space name, which must be globally unique and contain 2-64 characters including lowercase letters, digits, and hyphens (-). It can neither start or end with a hyphen (-) nor contain two consecutive hyphens (-). + /// + [Input("zoneName")] + public Input? ZoneName { get; set; } + + public IdentityCenterOperationState() + { + } + public static new IdentityCenterOperationState Empty => new IdentityCenterOperationState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Open/README.md b/sdk/dotnet/Tencentcloud/Open/README.md new file mode 100644 index 000000000..d8b61905c --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Open/README.md @@ -0,0 +1 @@ +A Pulumi package for creating and managing Tencent Cloud resources. diff --git a/sdk/dotnet/Tencentcloud/Organization/GetNodes.cs b/sdk/dotnet/Tencentcloud/Organization/GetNodes.cs new file mode 100644 index 000000000..38bca489e --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Organization/GetNodes.cs @@ -0,0 +1,166 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are 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 GetNodes + { + /// + /// Use this data source to query detailed information of organization nodes + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var organizationNodes = Tencentcloud.Organization.GetNodes.Invoke(new() + /// { + /// Tags = new[] + /// { + /// new Tencentcloud.Organization.Inputs.GetNodesTagInputArgs + /// { + /// TagKey = "createBy", + /// TagValue = "terraform", + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Task InvokeAsync(GetNodesArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("tencentcloud:Organization/getNodes:getNodes", args ?? new GetNodesArgs(), options.WithDefaults()); + + /// + /// Use this data source to query detailed information of organization nodes + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var organizationNodes = Tencentcloud.Organization.GetNodes.Invoke(new() + /// { + /// Tags = new[] + /// { + /// new Tencentcloud.Organization.Inputs.GetNodesTagInputArgs + /// { + /// TagKey = "createBy", + /// TagValue = "terraform", + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Output Invoke(GetNodesInvokeArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("tencentcloud:Organization/getNodes:getNodes", args ?? new GetNodesInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetNodesArgs : global::Pulumi.InvokeArgs + { + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public string? ResultOutputFile { get; set; } + + [Input("tags")] + private List? _tags; + + /// + /// Department tag search list, with a maximum of 10. + /// + public List Tags + { + get => _tags ?? (_tags = new List()); + set => _tags = value; + } + + public GetNodesArgs() + { + } + public static new GetNodesArgs Empty => new GetNodesArgs(); + } + + public sealed class GetNodesInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public Input? ResultOutputFile { get; set; } + + [Input("tags")] + private InputList? _tags; + + /// + /// Department tag search list, with a maximum of 10. + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + public GetNodesInvokeArgs() + { + } + public static new GetNodesInvokeArgs Empty => new GetNodesInvokeArgs(); + } + + + [OutputType] + public sealed class GetNodesResult + { + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + /// + /// List details. + /// + public readonly ImmutableArray Items; + public readonly string? ResultOutputFile; + public readonly ImmutableArray Tags; + + [OutputConstructor] + private GetNodesResult( + string id, + + ImmutableArray items, + + string? resultOutputFile, + + ImmutableArray tags) + { + Id = id; + Items = items; + ResultOutputFile = resultOutputFile; + Tags = tags; + } + } +} 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/Inputs/GetNodesTag.cs b/sdk/dotnet/Tencentcloud/Organization/Inputs/GetNodesTag.cs new file mode 100644 index 000000000..d777e42d8 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Organization/Inputs/GetNodesTag.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.Organization.Inputs +{ + + public sealed class GetNodesTagArgs : global::Pulumi.InvokeArgs + { + /// + /// Tag key. + /// + [Input("tagKey", required: true)] + public string TagKey { get; set; } = null!; + + /// + /// Tag value. + /// + [Input("tagValue", required: true)] + public string TagValue { get; set; } = null!; + + public GetNodesTagArgs() + { + } + public static new GetNodesTagArgs Empty => new GetNodesTagArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Organization/Inputs/GetNodesTagArgs.cs b/sdk/dotnet/Tencentcloud/Organization/Inputs/GetNodesTagArgs.cs new file mode 100644 index 000000000..bf2eed9cb --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Organization/Inputs/GetNodesTagArgs.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.Organization.Inputs +{ + + public sealed class GetNodesTagInputArgs : 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 GetNodesTagInputArgs() + { + } + public static new GetNodesTagInputArgs Empty => new GetNodesTagInputArgs(); + } +} 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/GetNodesItemResult.cs b/sdk/dotnet/Tencentcloud/Organization/Outputs/GetNodesItemResult.cs new file mode 100644 index 000000000..2da14a8a7 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Organization/Outputs/GetNodesItemResult.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.Organization.Outputs +{ + + [OutputType] + public sealed class GetNodesItemResult + { + /// + /// Creation time. + /// + public readonly string CreateTime; + /// + /// Name. + /// + public readonly string Name; + /// + /// Organization node ID. + /// + public readonly int NodeId; + /// + /// Parent node ID. + /// + public readonly int ParentNodeId; + /// + /// Remarks. + /// + public readonly string Remark; + /// + /// Department tag search list, with a maximum of 10. + /// + public readonly ImmutableArray Tags; + /// + /// Update time. + /// + public readonly string UpdateTime; + + [OutputConstructor] + private GetNodesItemResult( + string createTime, + + string name, + + int nodeId, + + int parentNodeId, + + string remark, + + ImmutableArray tags, + + string updateTime) + { + CreateTime = createTime; + Name = name; + NodeId = nodeId; + ParentNodeId = parentNodeId; + Remark = remark; + Tags = tags; + UpdateTime = updateTime; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Organization/Outputs/GetNodesItemTagResult.cs b/sdk/dotnet/Tencentcloud/Organization/Outputs/GetNodesItemTagResult.cs new file mode 100644 index 000000000..7782af95c --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Organization/Outputs/GetNodesItemTagResult.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.Organization.Outputs +{ + + [OutputType] + public sealed class GetNodesItemTagResult + { + /// + /// Tag key. + /// + public readonly string TagKey; + /// + /// Tag value. + /// + public readonly string TagValue; + + [OutputConstructor] + private GetNodesItemTagResult( + string tagKey, + + string tagValue) + { + TagKey = tagKey; + TagValue = tagValue; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Organization/Outputs/GetNodesTagResult.cs b/sdk/dotnet/Tencentcloud/Organization/Outputs/GetNodesTagResult.cs new file mode 100644 index 000000000..7a2cfa64d --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Organization/Outputs/GetNodesTagResult.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.Organization.Outputs +{ + + [OutputType] + public sealed class GetNodesTagResult + { + /// + /// Tag key. + /// + public readonly string TagKey; + /// + /// Tag value. + /// + public readonly string TagValue; + + [OutputConstructor] + private GetNodesTagResult( + string tagKey, + + string tagValue) + { + TagKey = tagKey; + TagValue = tagValue; + } + } +} 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/ApplyParameterTemplateOperation.cs b/sdk/dotnet/Tencentcloud/Postgresql/ApplyParameterTemplateOperation.cs new file mode 100644 index 000000000..c16bfda61 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Postgresql/ApplyParameterTemplateOperation.cs @@ -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! *** + +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 apply parameter template + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var applyParameterTemplateOperation = new Tencentcloud.Postgresql.ApplyParameterTemplateOperation("applyParameterTemplateOperation", new() + /// { + /// DbInstanceId = "postgres-xxxxxx", + /// TemplateId = "xxxxxx", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + [TencentcloudResourceType("tencentcloud:Postgresql/applyParameterTemplateOperation:ApplyParameterTemplateOperation")] + public partial class ApplyParameterTemplateOperation : global::Pulumi.CustomResource + { + /// + /// Instance ID. + /// + [Output("dbInstanceId")] + public Output DbInstanceId { get; private set; } = null!; + + /// + /// Template ID. + /// + [Output("templateId")] + public Output TemplateId { get; private set; } = null!; + + + /// + /// Create a ApplyParameterTemplateOperation 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 ApplyParameterTemplateOperation(string name, ApplyParameterTemplateOperationArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Postgresql/applyParameterTemplateOperation:ApplyParameterTemplateOperation", name, args ?? new ApplyParameterTemplateOperationArgs(), MakeResourceOptions(options, "")) + { + } + + private ApplyParameterTemplateOperation(string name, Input id, ApplyParameterTemplateOperationState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Postgresql/applyParameterTemplateOperation:ApplyParameterTemplateOperation", 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 ApplyParameterTemplateOperation 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 ApplyParameterTemplateOperation Get(string name, Input id, ApplyParameterTemplateOperationState? state = null, CustomResourceOptions? options = null) + { + return new ApplyParameterTemplateOperation(name, id, state, options); + } + } + + public sealed class ApplyParameterTemplateOperationArgs : global::Pulumi.ResourceArgs + { + /// + /// Instance ID. + /// + [Input("dbInstanceId", required: true)] + public Input DbInstanceId { get; set; } = null!; + + /// + /// Template ID. + /// + [Input("templateId", required: true)] + public Input TemplateId { get; set; } = null!; + + public ApplyParameterTemplateOperationArgs() + { + } + public static new ApplyParameterTemplateOperationArgs Empty => new ApplyParameterTemplateOperationArgs(); + } + + public sealed class ApplyParameterTemplateOperationState : global::Pulumi.ResourceArgs + { + /// + /// Instance ID. + /// + [Input("dbInstanceId")] + public Input? DbInstanceId { get; set; } + + /// + /// Template ID. + /// + [Input("templateId")] + public Input? TemplateId { get; set; } + + public ApplyParameterTemplateOperationState() + { + } + public static new ApplyParameterTemplateOperationState Empty => new ApplyParameterTemplateOperationState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Postgresql/CloneDbInstance.cs b/sdk/dotnet/Tencentcloud/Postgresql/CloneDbInstance.cs new file mode 100644 index 000000000..0b3a36290 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Postgresql/CloneDbInstance.cs @@ -0,0 +1,637 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are 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 clone db 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 example = new Tencentcloud.Postgresql.CloneDbInstance("example", new() + /// { + /// AutoRenewFlag = 0, + /// DbInstanceId = "postgres-evsqpyap", + /// DbNodeSets = new[] + /// { + /// new Tencentcloud.Postgresql.Inputs.CloneDbInstanceDbNodeSetArgs + /// { + /// Role = "Primary", + /// Zone = "ap-guangzhou-6", + /// }, + /// new Tencentcloud.Postgresql.Inputs.CloneDbInstanceDbNodeSetArgs + /// { + /// Role = "Standby", + /// Zone = "ap-guangzhou-6", + /// }, + /// }, + /// InstanceChargeType = "POSTPAID_BY_HOUR", + /// Period = 1, + /// ProjectId = 0, + /// RecoveryTargetTime = "2024-10-12 18:17:00", + /// SecurityGroupIds = new[] + /// { + /// "sg-8stavs03", + /// }, + /// SpecCode = "pg.it.medium4", + /// Storage = 200, + /// SubnetId = "subnet-b8hintyy", + /// TagLists = new[] + /// { + /// new Tencentcloud.Postgresql.Inputs.CloneDbInstanceTagListArgs + /// { + /// TagKey = "createBy", + /// TagValue = "terraform", + /// }, + /// }, + /// VpcId = "vpc-a6zec4mf", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// <!--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 baseBackups = Tencentcloud.Postgresql.GetBaseBackups.Invoke(new() + /// { + /// Filters = new[] + /// { + /// new Tencentcloud.Postgresql.Inputs.GetBaseBackupsFilterInputArgs + /// { + /// Name = "db-instance-id", + /// Values = new[] + /// { + /// "postgres-evsqpyap", + /// }, + /// }, + /// }, + /// OrderBy = "Size", + /// OrderByType = "asc", + /// }); + /// + /// var example = new Tencentcloud.Postgresql.CloneDbInstance("example", new() + /// { + /// DbInstanceId = "postgres-evsqpyap", + /// SpecCode = "pg.it.medium4", + /// Storage = 200, + /// Period = 1, + /// AutoRenewFlag = 0, + /// VpcId = "vpc-a6zec4mf", + /// SubnetId = "subnet-b8hintyy", + /// InstanceChargeType = "POSTPAID_BY_HOUR", + /// SecurityGroupIds = new[] + /// { + /// "sg-8stavs03", + /// }, + /// ProjectId = 0, + /// BackupSetId = baseBackups.Apply(getBaseBackupsResult => getBaseBackupsResult.BaseBackupSets[0]?.Id), + /// DbNodeSets = new[] + /// { + /// new Tencentcloud.Postgresql.Inputs.CloneDbInstanceDbNodeSetArgs + /// { + /// Role = "Primary", + /// Zone = "ap-guangzhou-6", + /// }, + /// new Tencentcloud.Postgresql.Inputs.CloneDbInstanceDbNodeSetArgs + /// { + /// Role = "Standby", + /// Zone = "ap-guangzhou-6", + /// }, + /// }, + /// TagLists = new[] + /// { + /// new Tencentcloud.Postgresql.Inputs.CloneDbInstanceTagListArgs + /// { + /// TagKey = "createBy", + /// TagValue = "terraform", + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Clone db instance from CDC + /// + /// <!--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.Postgresql.CloneDbInstance("example", new() + /// { + /// AutoRenewFlag = 0, + /// DbInstanceId = "postgres-evsqpyap", + /// DbNodeSets = new[] + /// { + /// new Tencentcloud.Postgresql.Inputs.CloneDbInstanceDbNodeSetArgs + /// { + /// DedicatedClusterId = "cluster-262n63e8", + /// Role = "Primary", + /// Zone = "ap-guangzhou-6", + /// }, + /// new Tencentcloud.Postgresql.Inputs.CloneDbInstanceDbNodeSetArgs + /// { + /// DedicatedClusterId = "cluster-262n63e8", + /// Role = "Standby", + /// Zone = "ap-guangzhou-6", + /// }, + /// }, + /// InstanceChargeType = "POSTPAID_BY_HOUR", + /// Period = 1, + /// ProjectId = 0, + /// RecoveryTargetTime = "2024-10-12 18:17:00", + /// SecurityGroupIds = new[] + /// { + /// "sg-8stavs03", + /// }, + /// SpecCode = "pg.it.medium4", + /// Storage = 200, + /// SubnetId = "subnet-b8hintyy", + /// TagLists = new[] + /// { + /// new Tencentcloud.Postgresql.Inputs.CloneDbInstanceTagListArgs + /// { + /// TagKey = "createBy", + /// TagValue = "terraform", + /// }, + /// }, + /// VpcId = "vpc-a6zec4mf", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + [TencentcloudResourceType("tencentcloud:Postgresql/cloneDbInstance:CloneDbInstance")] + public partial class CloneDbInstance : global::Pulumi.CustomResource + { + /// + /// Campaign ID. + /// + [Output("activityId")] + public Output ActivityId { get; private set; } = null!; + + /// + /// Renewal Flag: + /// + [Output("autoRenewFlag")] + public Output AutoRenewFlag { get; private set; } = null!; + + /// + /// Basic backup set ID. + /// + [Output("backupSetId")] + public Output BackupSetId { get; private set; } = null!; + + /// + /// ID of the original instance to be cloned. + /// + [Output("dbInstanceId")] + public Output DbInstanceId { get; private set; } = null!; + + /// + /// Deployment information of the instance node, which will display the information of each AZ when the instance node is deployed across multiple AZs. + /// The information of AZ can be obtained from the `Zone` field in the return value of the [DescribeZones](https://intl.cloud.tencent.com/document/api/409/16769?from_cn_redirect=1) API. + /// + [Output("dbNodeSets")] + public Output> DbNodeSets { get; private set; } = null!; + + /// + /// Instance billing type, which currently supports: + /// + /// - PREPAID: Prepaid, i.e., monthly subscription + /// - POSTPAID_BY_HOUR: Pay-as-you-go, i.e., pay by consumption + /// + /// Default value: PREPAID. + /// + [Output("instanceChargeType")] + public Output InstanceChargeType { get; private set; } = null!; + + /// + /// Name of the newly purchased instance, which can contain up to 60 letters, digits, or symbols (-_). If this parameter is not specified, "Unnamed" will be displayed by default. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Purchase duration, in months. + /// - Prepaid: Supports `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, and `36`. + /// - Pay-as-you-go: Only supports `1`. + /// + [Output("period")] + public Output Period { get; private set; } = null!; + + /// + /// Project ID. + /// + [Output("projectId")] + public Output ProjectId { get; private set; } = null!; + + /// + /// Restoration point in time. + /// + [Output("recoveryTargetTime")] + public Output RecoveryTargetTime { get; private set; } = null!; + + /// + /// Security group of the instance, which can be obtained from the `sgld` field in the return value of the [DescribeSecurityGroups](https://intl.cloud.tencent.com/document/api/215/15808?from_cn_redirect=1) API. If this parameter is not specified, the default security group will be bound. + /// + [Output("securityGroupIds")] + public Output> SecurityGroupIds { get; private set; } = null!; + + /// + /// Purchasable code, which can be obtained from the `SpecCode` field in the return value of the [DescribeClasses](https://intl.cloud.tencent.com/document/api/409/89019?from_cn_redirect=1) API. + /// + [Output("specCode")] + public Output SpecCode { get; private set; } = null!; + + /// + /// Instance storage capacity in GB. + /// + [Output("storage")] + public Output Storage { get; private set; } = null!; + + /// + /// VPC subnet ID in the format of `subnet-xxxxxxxx`, which can be obtained in the console or from the `unSubnetId` field in the return value of the [DescribeSubnets](https://intl.cloud.tencent.com/document/api/215/15784?from_cn_redirect=1) API. + /// + [Output("subnetId")] + public Output SubnetId { get; private set; } = null!; + + /// + /// Primary-standby sync mode, which supports: + /// Semi-sync: Semi-sync + /// Async: Asynchronous + /// Default value for the primary instance: Semi-sync + /// Default value for the read-only instance: Async. + /// + [Output("syncMode")] + public Output SyncMode { get; private set; } = null!; + + /// + /// The information of tags to be bound with the instance, which is left empty by default. This parameter can be obtained from the `Tags` field in the return value of the [DescribeTags](https://intl.cloud.tencent.com/document/api/651/35316?from_cn_redirect=1) API. + /// + [Output("tagLists")] + public Output> TagLists { get; private set; } = null!; + + /// + /// VPC ID in the format of `vpc-xxxxxxx`, which can be obtained in the console or from the `unVpcId` field in the return value of the [DescribeVpcEx](https://intl.cloud.tencent.com/document/api/215/1372?from_cn_redirect=1) API. + /// + [Output("vpcId")] + public Output VpcId { get; private set; } = null!; + + + /// + /// Create a CloneDbInstance 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 CloneDbInstance(string name, CloneDbInstanceArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Postgresql/cloneDbInstance:CloneDbInstance", name, args ?? new CloneDbInstanceArgs(), MakeResourceOptions(options, "")) + { + } + + private CloneDbInstance(string name, Input id, CloneDbInstanceState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Postgresql/cloneDbInstance:CloneDbInstance", 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 CloneDbInstance 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 CloneDbInstance Get(string name, Input id, CloneDbInstanceState? state = null, CustomResourceOptions? options = null) + { + return new CloneDbInstance(name, id, state, options); + } + } + + public sealed class CloneDbInstanceArgs : global::Pulumi.ResourceArgs + { + /// + /// Campaign ID. + /// + [Input("activityId")] + public Input? ActivityId { get; set; } + + /// + /// Renewal Flag: + /// + [Input("autoRenewFlag", required: true)] + public Input AutoRenewFlag { get; set; } = null!; + + /// + /// Basic backup set ID. + /// + [Input("backupSetId")] + public Input? BackupSetId { get; set; } + + /// + /// ID of the original instance to be cloned. + /// + [Input("dbInstanceId", required: true)] + public Input DbInstanceId { get; set; } = null!; + + [Input("dbNodeSets")] + private InputList? _dbNodeSets; + + /// + /// Deployment information of the instance node, which will display the information of each AZ when the instance node is deployed across multiple AZs. + /// The information of AZ can be obtained from the `Zone` field in the return value of the [DescribeZones](https://intl.cloud.tencent.com/document/api/409/16769?from_cn_redirect=1) API. + /// + public InputList DbNodeSets + { + get => _dbNodeSets ?? (_dbNodeSets = new InputList()); + set => _dbNodeSets = value; + } + + /// + /// Instance billing type, which currently supports: + /// + /// - PREPAID: Prepaid, i.e., monthly subscription + /// - POSTPAID_BY_HOUR: Pay-as-you-go, i.e., pay by consumption + /// + /// Default value: PREPAID. + /// + [Input("instanceChargeType")] + public Input? InstanceChargeType { get; set; } + + /// + /// Name of the newly purchased instance, which can contain up to 60 letters, digits, or symbols (-_). If this parameter is not specified, "Unnamed" will be displayed by default. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Purchase duration, in months. + /// - Prepaid: Supports `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, and `36`. + /// - Pay-as-you-go: Only supports `1`. + /// + [Input("period", required: true)] + public Input Period { get; set; } = null!; + + /// + /// Project ID. + /// + [Input("projectId")] + public Input? ProjectId { get; set; } + + /// + /// Restoration point in time. + /// + [Input("recoveryTargetTime")] + public Input? RecoveryTargetTime { get; set; } + + [Input("securityGroupIds")] + private InputList? _securityGroupIds; + + /// + /// Security group of the instance, which can be obtained from the `sgld` field in the return value of the [DescribeSecurityGroups](https://intl.cloud.tencent.com/document/api/215/15808?from_cn_redirect=1) API. If this parameter is not specified, the default security group will be bound. + /// + public InputList SecurityGroupIds + { + get => _securityGroupIds ?? (_securityGroupIds = new InputList()); + set => _securityGroupIds = value; + } + + /// + /// Purchasable code, which can be obtained from the `SpecCode` field in the return value of the [DescribeClasses](https://intl.cloud.tencent.com/document/api/409/89019?from_cn_redirect=1) API. + /// + [Input("specCode", required: true)] + public Input SpecCode { get; set; } = null!; + + /// + /// Instance storage capacity in GB. + /// + [Input("storage", required: true)] + public Input Storage { get; set; } = null!; + + /// + /// VPC subnet ID in the format of `subnet-xxxxxxxx`, which can be obtained in the console or from the `unSubnetId` field in the return value of the [DescribeSubnets](https://intl.cloud.tencent.com/document/api/215/15784?from_cn_redirect=1) API. + /// + [Input("subnetId", required: true)] + public Input SubnetId { get; set; } = null!; + + /// + /// Primary-standby sync mode, which supports: + /// Semi-sync: Semi-sync + /// Async: Asynchronous + /// Default value for the primary instance: Semi-sync + /// Default value for the read-only instance: Async. + /// + [Input("syncMode")] + public Input? SyncMode { get; set; } + + [Input("tagLists")] + private InputList? _tagLists; + + /// + /// The information of tags to be bound with the instance, which is left empty by default. This parameter can be obtained from the `Tags` field in the return value of the [DescribeTags](https://intl.cloud.tencent.com/document/api/651/35316?from_cn_redirect=1) API. + /// + public InputList TagLists + { + get => _tagLists ?? (_tagLists = new InputList()); + set => _tagLists = value; + } + + /// + /// VPC ID in the format of `vpc-xxxxxxx`, which can be obtained in the console or from the `unVpcId` field in the return value of the [DescribeVpcEx](https://intl.cloud.tencent.com/document/api/215/1372?from_cn_redirect=1) API. + /// + [Input("vpcId", required: true)] + public Input VpcId { get; set; } = null!; + + public CloneDbInstanceArgs() + { + } + public static new CloneDbInstanceArgs Empty => new CloneDbInstanceArgs(); + } + + public sealed class CloneDbInstanceState : global::Pulumi.ResourceArgs + { + /// + /// Campaign ID. + /// + [Input("activityId")] + public Input? ActivityId { get; set; } + + /// + /// Renewal Flag: + /// + [Input("autoRenewFlag")] + public Input? AutoRenewFlag { get; set; } + + /// + /// Basic backup set ID. + /// + [Input("backupSetId")] + public Input? BackupSetId { get; set; } + + /// + /// ID of the original instance to be cloned. + /// + [Input("dbInstanceId")] + public Input? DbInstanceId { get; set; } + + [Input("dbNodeSets")] + private InputList? _dbNodeSets; + + /// + /// Deployment information of the instance node, which will display the information of each AZ when the instance node is deployed across multiple AZs. + /// The information of AZ can be obtained from the `Zone` field in the return value of the [DescribeZones](https://intl.cloud.tencent.com/document/api/409/16769?from_cn_redirect=1) API. + /// + public InputList DbNodeSets + { + get => _dbNodeSets ?? (_dbNodeSets = new InputList()); + set => _dbNodeSets = value; + } + + /// + /// Instance billing type, which currently supports: + /// + /// - PREPAID: Prepaid, i.e., monthly subscription + /// - POSTPAID_BY_HOUR: Pay-as-you-go, i.e., pay by consumption + /// + /// Default value: PREPAID. + /// + [Input("instanceChargeType")] + public Input? InstanceChargeType { get; set; } + + /// + /// Name of the newly purchased instance, which can contain up to 60 letters, digits, or symbols (-_). If this parameter is not specified, "Unnamed" will be displayed by default. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Purchase duration, in months. + /// - Prepaid: Supports `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, and `36`. + /// - Pay-as-you-go: Only supports `1`. + /// + [Input("period")] + public Input? Period { get; set; } + + /// + /// Project ID. + /// + [Input("projectId")] + public Input? ProjectId { get; set; } + + /// + /// Restoration point in time. + /// + [Input("recoveryTargetTime")] + public Input? RecoveryTargetTime { get; set; } + + [Input("securityGroupIds")] + private InputList? _securityGroupIds; + + /// + /// Security group of the instance, which can be obtained from the `sgld` field in the return value of the [DescribeSecurityGroups](https://intl.cloud.tencent.com/document/api/215/15808?from_cn_redirect=1) API. If this parameter is not specified, the default security group will be bound. + /// + public InputList SecurityGroupIds + { + get => _securityGroupIds ?? (_securityGroupIds = new InputList()); + set => _securityGroupIds = value; + } + + /// + /// Purchasable code, which can be obtained from the `SpecCode` field in the return value of the [DescribeClasses](https://intl.cloud.tencent.com/document/api/409/89019?from_cn_redirect=1) API. + /// + [Input("specCode")] + public Input? SpecCode { get; set; } + + /// + /// Instance storage capacity in GB. + /// + [Input("storage")] + public Input? Storage { get; set; } + + /// + /// VPC subnet ID in the format of `subnet-xxxxxxxx`, which can be obtained in the console or from the `unSubnetId` field in the return value of the [DescribeSubnets](https://intl.cloud.tencent.com/document/api/215/15784?from_cn_redirect=1) API. + /// + [Input("subnetId")] + public Input? SubnetId { get; set; } + + /// + /// Primary-standby sync mode, which supports: + /// Semi-sync: Semi-sync + /// Async: Asynchronous + /// Default value for the primary instance: Semi-sync + /// Default value for the read-only instance: Async. + /// + [Input("syncMode")] + public Input? SyncMode { get; set; } + + [Input("tagLists")] + private InputList? _tagLists; + + /// + /// The information of tags to be bound with the instance, which is left empty by default. This parameter can be obtained from the `Tags` field in the return value of the [DescribeTags](https://intl.cloud.tencent.com/document/api/651/35316?from_cn_redirect=1) API. + /// + public InputList TagLists + { + get => _tagLists ?? (_tagLists = new InputList()); + set => _tagLists = value; + } + + /// + /// VPC ID in the format of `vpc-xxxxxxx`, which can be obtained in the console or from the `unVpcId` field in the return value of the [DescribeVpcEx](https://intl.cloud.tencent.com/document/api/215/1372?from_cn_redirect=1) API. + /// + [Input("vpcId")] + public Input? VpcId { get; set; } + + public CloneDbInstanceState() + { + } + public static new CloneDbInstanceState Empty => new CloneDbInstanceState(); + } +} 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/CloneDbInstanceDbNodeSetArgs.cs b/sdk/dotnet/Tencentcloud/Postgresql/Inputs/CloneDbInstanceDbNodeSetArgs.cs new file mode 100644 index 000000000..a0c3cb2e9 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Postgresql/Inputs/CloneDbInstanceDbNodeSetArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are 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 CloneDbInstanceDbNodeSetArgs : global::Pulumi.ResourceArgs + { + /// + /// Dedicated cluster ID. + /// + [Input("dedicatedClusterId")] + public Input? DedicatedClusterId { get; set; } + + /// + /// Node type. Valid values: + /// `Primary`; + /// `Standby`. + /// + [Input("role", required: true)] + public Input Role { get; set; } = null!; + + /// + /// AZ where the node resides, such as ap-guangzhou-1. + /// + [Input("zone", required: true)] + public Input Zone { get; set; } = null!; + + public CloneDbInstanceDbNodeSetArgs() + { + } + public static new CloneDbInstanceDbNodeSetArgs Empty => new CloneDbInstanceDbNodeSetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Postgresql/Inputs/CloneDbInstanceDbNodeSetGetArgs.cs b/sdk/dotnet/Tencentcloud/Postgresql/Inputs/CloneDbInstanceDbNodeSetGetArgs.cs new file mode 100644 index 000000000..b725d2858 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Postgresql/Inputs/CloneDbInstanceDbNodeSetGetArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are 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 CloneDbInstanceDbNodeSetGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Dedicated cluster ID. + /// + [Input("dedicatedClusterId")] + public Input? DedicatedClusterId { get; set; } + + /// + /// Node type. Valid values: + /// `Primary`; + /// `Standby`. + /// + [Input("role", required: true)] + public Input Role { get; set; } = null!; + + /// + /// AZ where the node resides, such as ap-guangzhou-1. + /// + [Input("zone", required: true)] + public Input Zone { get; set; } = null!; + + public CloneDbInstanceDbNodeSetGetArgs() + { + } + public static new CloneDbInstanceDbNodeSetGetArgs Empty => new CloneDbInstanceDbNodeSetGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Postgresql/Inputs/CloneDbInstanceTagListArgs.cs b/sdk/dotnet/Tencentcloud/Postgresql/Inputs/CloneDbInstanceTagListArgs.cs new file mode 100644 index 000000000..5938254d1 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Postgresql/Inputs/CloneDbInstanceTagListArgs.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.Postgresql.Inputs +{ + + public sealed class CloneDbInstanceTagListArgs : 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 CloneDbInstanceTagListArgs() + { + } + public static new CloneDbInstanceTagListArgs Empty => new CloneDbInstanceTagListArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Postgresql/Inputs/CloneDbInstanceTagListGetArgs.cs b/sdk/dotnet/Tencentcloud/Postgresql/Inputs/CloneDbInstanceTagListGetArgs.cs new file mode 100644 index 000000000..b1cecd0d4 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Postgresql/Inputs/CloneDbInstanceTagListGetArgs.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.Postgresql.Inputs +{ + + public sealed class CloneDbInstanceTagListGetArgs : 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 CloneDbInstanceTagListGetArgs() + { + } + public static new CloneDbInstanceTagListGetArgs Empty => new CloneDbInstanceTagListGetArgs(); + } +} 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..4349bade7 100644 --- a/sdk/dotnet/Tencentcloud/Postgresql/Instance.cs +++ b/sdk/dotnet/Tencentcloud/Postgresql/Instance.cs @@ -14,10 +14,13 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Postgresql /// Use this resource to create postgresql instance. /// /// > **Note:** To update the charge type, please update the `charge_type` and specify the `period` for the charging period. It only supports updating from `POSTPAID_BY_HOUR` to `PREPAID`, and the `period` field only valid in that upgrading case. - /// **Note:** If no values are set for the two parameters: `db_major_version` and `engine_version`, then `engine_version` is set to `10.4` by default. Suggest using parameter `db_major_version` to create an instance + /// + /// > **Note:** If no values are set for the two parameters: `db_major_version` and `engine_version`, then `engine_version` is set to `10.4` by default. Suggest using parameter `db_major_version` to create an instance /// /// ## Example Usage /// + /// ### Create a postgresql instance + /// /// <!--Start PulumiCodeChooser --> /// ```csharp /// using System.Collections.Generic; @@ -70,7 +73,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 +194,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 +312,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Postgresql /// ``` /// <!--End PulumiCodeChooser --> /// - /// ### upgrade kernel version + /// ### Upgrade kernel version /// /// <!--Start PulumiCodeChooser --> /// ```csharp @@ -273,7 +398,7 @@ public partial class Instance : global::Pulumi.CustomResource /// Specify DB backup plan. /// [Output("backupPlan")] - public Output BackupPlan { get; private set; } = null!; + public Output BackupPlan { get; private set; } = null!; /// /// Pay type of the postgresql instance. Values `POSTPAID_BY_HOUR` (Default), `PREPAID`. It only support to update the type from `POSTPAID_BY_HOUR` to `PREPAID`. @@ -323,6 +448,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 +721,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 +955,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/CloneDbInstanceDbNodeSet.cs b/sdk/dotnet/Tencentcloud/Postgresql/Outputs/CloneDbInstanceDbNodeSet.cs new file mode 100644 index 000000000..a68e17a5c --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Postgresql/Outputs/CloneDbInstanceDbNodeSet.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.Postgresql.Outputs +{ + + [OutputType] + public sealed class CloneDbInstanceDbNodeSet + { + /// + /// Dedicated cluster ID. + /// + public readonly string? DedicatedClusterId; + /// + /// Node type. Valid values: + /// `Primary`; + /// `Standby`. + /// + public readonly string Role; + /// + /// AZ where the node resides, such as ap-guangzhou-1. + /// + public readonly string Zone; + + [OutputConstructor] + private CloneDbInstanceDbNodeSet( + string? dedicatedClusterId, + + string role, + + string zone) + { + DedicatedClusterId = dedicatedClusterId; + Role = role; + Zone = zone; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Postgresql/Outputs/CloneDbInstanceTagList.cs b/sdk/dotnet/Tencentcloud/Postgresql/Outputs/CloneDbInstanceTagList.cs new file mode 100644 index 000000000..3fa8ff6e9 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Postgresql/Outputs/CloneDbInstanceTagList.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 CloneDbInstanceTagList + { + /// + /// Tag key. + /// + public readonly string TagKey; + /// + /// Tag value. + /// + public readonly string TagValue; + + [OutputConstructor] + private CloneDbInstanceTagList( + string tagKey, + + string tagValue) + { + TagKey = tagKey; + TagValue = tagValue; + } + } +} 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/EndPoint.cs b/sdk/dotnet/Tencentcloud/PrivateDns/EndPoint.cs new file mode 100644 index 000000000..f93a9f1e2 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/PrivateDns/EndPoint.cs @@ -0,0 +1,200 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.PrivateDns +{ + /// + /// Provides a resource to create a privatedns end point + /// + /// ## 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.PrivateDns.EndPoint("example", new() + /// { + /// EndPointName = "tf-example", + /// EndPointRegion = "ap-guangzhou", + /// EndPointServiceId = "vpcsvc-61wcwmar", + /// IpNum = 1, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// private dns end point can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:PrivateDns/endPoint:EndPoint example eid-77a246c867 + /// ``` + /// + [TencentcloudResourceType("tencentcloud:PrivateDns/endPoint:EndPoint")] + public partial class EndPoint : global::Pulumi.CustomResource + { + /// + /// Endpoint name. + /// + [Output("endPointName")] + public Output EndPointName { get; private set; } = null!; + + /// + /// Endpoint region, which should be consistent with the region of the endpoint service. + /// + [Output("endPointRegion")] + public Output EndPointRegion { get; private set; } = null!; + + /// + /// Endpoint service ID (namely, VPC endpoint service ID). + /// + [Output("endPointServiceId")] + public Output EndPointServiceId { get; private set; } = null!; + + /// + /// Vip list of endpoint. + /// + [Output("endPointVipSets")] + public Output> EndPointVipSets { get; private set; } = null!; + + /// + /// Number of endpoint IP addresses. + /// + [Output("ipNum")] + public Output IpNum { get; private set; } = null!; + + + /// + /// Create a EndPoint 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 EndPoint(string name, EndPointArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:PrivateDns/endPoint:EndPoint", name, args ?? new EndPointArgs(), MakeResourceOptions(options, "")) + { + } + + private EndPoint(string name, Input id, EndPointState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:PrivateDns/endPoint:EndPoint", 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 EndPoint 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 EndPoint Get(string name, Input id, EndPointState? state = null, CustomResourceOptions? options = null) + { + return new EndPoint(name, id, state, options); + } + } + + public sealed class EndPointArgs : global::Pulumi.ResourceArgs + { + /// + /// Endpoint name. + /// + [Input("endPointName", required: true)] + public Input EndPointName { get; set; } = null!; + + /// + /// Endpoint region, which should be consistent with the region of the endpoint service. + /// + [Input("endPointRegion", required: true)] + public Input EndPointRegion { get; set; } = null!; + + /// + /// Endpoint service ID (namely, VPC endpoint service ID). + /// + [Input("endPointServiceId", required: true)] + public Input EndPointServiceId { get; set; } = null!; + + /// + /// Number of endpoint IP addresses. + /// + [Input("ipNum")] + public Input? IpNum { get; set; } + + public EndPointArgs() + { + } + public static new EndPointArgs Empty => new EndPointArgs(); + } + + public sealed class EndPointState : global::Pulumi.ResourceArgs + { + /// + /// Endpoint name. + /// + [Input("endPointName")] + public Input? EndPointName { get; set; } + + /// + /// Endpoint region, which should be consistent with the region of the endpoint service. + /// + [Input("endPointRegion")] + public Input? EndPointRegion { get; set; } + + /// + /// Endpoint service ID (namely, VPC endpoint service ID). + /// + [Input("endPointServiceId")] + public Input? EndPointServiceId { get; set; } + + [Input("endPointVipSets")] + private InputList? _endPointVipSets; + + /// + /// Vip list of endpoint. + /// + public InputList EndPointVipSets + { + get => _endPointVipSets ?? (_endPointVipSets = new InputList()); + set => _endPointVipSets = value; + } + + /// + /// Number of endpoint IP addresses. + /// + [Input("ipNum")] + public Input? IpNum { get; set; } + + public EndPointState() + { + } + public static new EndPointState Empty => new EndPointState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/PrivateDns/ForwardRule.cs b/sdk/dotnet/Tencentcloud/PrivateDns/ForwardRule.cs new file mode 100644 index 000000000..161ae7db7 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/PrivateDns/ForwardRule.cs @@ -0,0 +1,190 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.PrivateDns +{ + /// + /// Provides a resource to create a privatedns forward rule + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var exampleEndPoint = new Tencentcloud.PrivateDns.EndPoint("exampleEndPoint", new() + /// { + /// EndPointName = "tf-example", + /// EndPointServiceId = "vpcsvc-61wcwmar", + /// EndPointRegion = "ap-guangzhou", + /// IpNum = 1, + /// }); + /// + /// var exampleForwardRule = new Tencentcloud.PrivateDns.ForwardRule("exampleForwardRule", new() + /// { + /// RuleName = "tf-example", + /// RuleType = "DOWN", + /// ZoneId = "zone-cmmbvaq8", + /// EndPointId = exampleEndPoint.Id, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// private dns forward rule can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:PrivateDns/forwardRule:ForwardRule example fid-dbc2c0a97c + /// ``` + /// + [TencentcloudResourceType("tencentcloud:PrivateDns/forwardRule:ForwardRule")] + public partial class ForwardRule : global::Pulumi.CustomResource + { + /// + /// Endpoint ID. + /// + [Output("endPointId")] + public Output EndPointId { get; private set; } = null!; + + /// + /// Forwarding rule name. + /// + [Output("ruleName")] + public Output RuleName { get; private set; } = null!; + + /// + /// Forwarding rule type. DOWN: From cloud to off-cloud; UP: From off-cloud to cloud. + /// + [Output("ruleType")] + public Output RuleType { get; private set; } = null!; + + /// + /// Private domain ID, which can be viewed on the private domain list page. + /// + [Output("zoneId")] + public Output ZoneId { get; private set; } = null!; + + + /// + /// Create a ForwardRule 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 ForwardRule(string name, ForwardRuleArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:PrivateDns/forwardRule:ForwardRule", name, args ?? new ForwardRuleArgs(), MakeResourceOptions(options, "")) + { + } + + private ForwardRule(string name, Input id, ForwardRuleState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:PrivateDns/forwardRule:ForwardRule", 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 ForwardRule 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 ForwardRule Get(string name, Input id, ForwardRuleState? state = null, CustomResourceOptions? options = null) + { + return new ForwardRule(name, id, state, options); + } + } + + public sealed class ForwardRuleArgs : global::Pulumi.ResourceArgs + { + /// + /// Endpoint ID. + /// + [Input("endPointId", required: true)] + public Input EndPointId { get; set; } = null!; + + /// + /// Forwarding rule name. + /// + [Input("ruleName", required: true)] + public Input RuleName { get; set; } = null!; + + /// + /// Forwarding rule type. DOWN: From cloud to off-cloud; UP: From off-cloud to cloud. + /// + [Input("ruleType", required: true)] + public Input RuleType { get; set; } = null!; + + /// + /// Private domain ID, which can be viewed on the private domain list page. + /// + [Input("zoneId", required: true)] + public Input ZoneId { get; set; } = null!; + + public ForwardRuleArgs() + { + } + public static new ForwardRuleArgs Empty => new ForwardRuleArgs(); + } + + public sealed class ForwardRuleState : global::Pulumi.ResourceArgs + { + /// + /// Endpoint ID. + /// + [Input("endPointId")] + public Input? EndPointId { get; set; } + + /// + /// Forwarding rule name. + /// + [Input("ruleName")] + public Input? RuleName { get; set; } + + /// + /// Forwarding rule type. DOWN: From cloud to off-cloud; UP: From off-cloud to cloud. + /// + [Input("ruleType")] + public Input? RuleType { get; set; } + + /// + /// Private domain ID, which can be viewed on the private domain list page. + /// + [Input("zoneId")] + public Input? ZoneId { get; set; } + + public ForwardRuleState() + { + } + public static new ForwardRuleState Empty => new ForwardRuleState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/PrivateDns/GetEndPoints.cs b/sdk/dotnet/Tencentcloud/PrivateDns/GetEndPoints.cs new file mode 100644 index 000000000..34ea0e8d2 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/PrivateDns/GetEndPoints.cs @@ -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! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.PrivateDns +{ + public static class GetEndPoints + { + /// + /// Use this data source to query detailed information of private dns dns end points + /// + /// ## Example Usage + /// + /// ### Query all private dns end points + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Tencentcloud.PrivateDns.GetEndPoints.Invoke(); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Query all private dns end points 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.PrivateDns.GetEndPoints.Invoke(new() + /// { + /// Filters = new[] + /// { + /// new Tencentcloud.PrivateDns.Inputs.GetEndPointsFilterInputArgs + /// { + /// Name = "EndPointName", + /// Values = new[] + /// { + /// "tf-example", + /// }, + /// }, + /// new Tencentcloud.PrivateDns.Inputs.GetEndPointsFilterInputArgs + /// { + /// Name = "EndPointId", + /// Values = new[] + /// { + /// "eid-72dc11b8f3", + /// }, + /// }, + /// new Tencentcloud.PrivateDns.Inputs.GetEndPointsFilterInputArgs + /// { + /// Name = "EndPointServiceId", + /// Values = new[] + /// { + /// "vpcsvc-61wcwmar", + /// }, + /// }, + /// new Tencentcloud.PrivateDns.Inputs.GetEndPointsFilterInputArgs + /// { + /// Name = "EndPointVip", + /// Values = new[] + /// { + /// "172.10.10.1", + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Task InvokeAsync(GetEndPointsArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("tencentcloud:PrivateDns/getEndPoints:getEndPoints", args ?? new GetEndPointsArgs(), options.WithDefaults()); + + /// + /// Use this data source to query detailed information of private dns dns end points + /// + /// ## Example Usage + /// + /// ### Query all private dns end points + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Tencentcloud.PrivateDns.GetEndPoints.Invoke(); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Query all private dns end points 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.PrivateDns.GetEndPoints.Invoke(new() + /// { + /// Filters = new[] + /// { + /// new Tencentcloud.PrivateDns.Inputs.GetEndPointsFilterInputArgs + /// { + /// Name = "EndPointName", + /// Values = new[] + /// { + /// "tf-example", + /// }, + /// }, + /// new Tencentcloud.PrivateDns.Inputs.GetEndPointsFilterInputArgs + /// { + /// Name = "EndPointId", + /// Values = new[] + /// { + /// "eid-72dc11b8f3", + /// }, + /// }, + /// new Tencentcloud.PrivateDns.Inputs.GetEndPointsFilterInputArgs + /// { + /// Name = "EndPointServiceId", + /// Values = new[] + /// { + /// "vpcsvc-61wcwmar", + /// }, + /// }, + /// new Tencentcloud.PrivateDns.Inputs.GetEndPointsFilterInputArgs + /// { + /// Name = "EndPointVip", + /// Values = new[] + /// { + /// "172.10.10.1", + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Output Invoke(GetEndPointsInvokeArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("tencentcloud:PrivateDns/getEndPoints:getEndPoints", args ?? new GetEndPointsInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetEndPointsArgs : global::Pulumi.InvokeArgs + { + [Input("filters")] + private List? _filters; + + /// + /// Filter parameters. Valid values: EndPointName, EndPointId, EndPointServiceId, and EndPointVip. + /// + public List Filters + { + get => _filters ?? (_filters = new List()); + set => _filters = value; + } + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public string? ResultOutputFile { get; set; } + + public GetEndPointsArgs() + { + } + public static new GetEndPointsArgs Empty => new GetEndPointsArgs(); + } + + public sealed class GetEndPointsInvokeArgs : global::Pulumi.InvokeArgs + { + [Input("filters")] + private InputList? _filters; + + /// + /// Filter parameters. Valid values: EndPointName, EndPointId, EndPointServiceId, and EndPointVip. + /// + public InputList Filters + { + get => _filters ?? (_filters = new InputList()); + set => _filters = value; + } + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public Input? ResultOutputFile { get; set; } + + public GetEndPointsInvokeArgs() + { + } + public static new GetEndPointsInvokeArgs Empty => new GetEndPointsInvokeArgs(); + } + + + [OutputType] + public sealed class GetEndPointsResult + { + /// + /// Endpoint list. + /// Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly ImmutableArray EndPointSets; + public readonly ImmutableArray Filters; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + public readonly string? ResultOutputFile; + + [OutputConstructor] + private GetEndPointsResult( + ImmutableArray endPointSets, + + ImmutableArray filters, + + string id, + + string? resultOutputFile) + { + EndPointSets = endPointSets; + Filters = filters; + Id = id; + ResultOutputFile = resultOutputFile; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/PrivateDns/GetForwardRules.cs b/sdk/dotnet/Tencentcloud/PrivateDns/GetForwardRules.cs new file mode 100644 index 000000000..1c1c637e8 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/PrivateDns/GetForwardRules.cs @@ -0,0 +1,306 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.PrivateDns +{ + public static class GetForwardRules + { + /// + /// Use this data source to query detailed information of private dns forward rules + /// + /// ## Example Usage + /// + /// ### Query all private dns forward rules + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Tencentcloud.PrivateDns.GetForwardRules.Invoke(); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Query all private dns forward rules 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.PrivateDns.GetForwardRules.Invoke(new() + /// { + /// Filters = new[] + /// { + /// new Tencentcloud.PrivateDns.Inputs.GetForwardRulesFilterInputArgs + /// { + /// Name = "RuleId", + /// Values = new[] + /// { + /// "eid-e9d5880672", + /// }, + /// }, + /// new Tencentcloud.PrivateDns.Inputs.GetForwardRulesFilterInputArgs + /// { + /// Name = "RuleName", + /// Values = new[] + /// { + /// "tf-example", + /// }, + /// }, + /// new Tencentcloud.PrivateDns.Inputs.GetForwardRulesFilterInputArgs + /// { + /// Name = "RuleName", + /// Values = new[] + /// { + /// "tf-example", + /// }, + /// }, + /// new Tencentcloud.PrivateDns.Inputs.GetForwardRulesFilterInputArgs + /// { + /// Name = "RuleType", + /// Values = new[] + /// { + /// "DOWN", + /// }, + /// }, + /// new Tencentcloud.PrivateDns.Inputs.GetForwardRulesFilterInputArgs + /// { + /// Name = "ZoneId", + /// Values = new[] + /// { + /// "zone-04jlawty", + /// }, + /// }, + /// new Tencentcloud.PrivateDns.Inputs.GetForwardRulesFilterInputArgs + /// { + /// Name = "EndPointId", + /// Values = new[] + /// { + /// "eid-e9d5880672", + /// }, + /// }, + /// new Tencentcloud.PrivateDns.Inputs.GetForwardRulesFilterInputArgs + /// { + /// Name = "EndPointName", + /// Values = new[] + /// { + /// "tf-example", + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Task InvokeAsync(GetForwardRulesArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("tencentcloud:PrivateDns/getForwardRules:getForwardRules", args ?? new GetForwardRulesArgs(), options.WithDefaults()); + + /// + /// Use this data source to query detailed information of private dns forward rules + /// + /// ## Example Usage + /// + /// ### Query all private dns forward rules + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Tencentcloud.PrivateDns.GetForwardRules.Invoke(); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Query all private dns forward rules 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.PrivateDns.GetForwardRules.Invoke(new() + /// { + /// Filters = new[] + /// { + /// new Tencentcloud.PrivateDns.Inputs.GetForwardRulesFilterInputArgs + /// { + /// Name = "RuleId", + /// Values = new[] + /// { + /// "eid-e9d5880672", + /// }, + /// }, + /// new Tencentcloud.PrivateDns.Inputs.GetForwardRulesFilterInputArgs + /// { + /// Name = "RuleName", + /// Values = new[] + /// { + /// "tf-example", + /// }, + /// }, + /// new Tencentcloud.PrivateDns.Inputs.GetForwardRulesFilterInputArgs + /// { + /// Name = "RuleName", + /// Values = new[] + /// { + /// "tf-example", + /// }, + /// }, + /// new Tencentcloud.PrivateDns.Inputs.GetForwardRulesFilterInputArgs + /// { + /// Name = "RuleType", + /// Values = new[] + /// { + /// "DOWN", + /// }, + /// }, + /// new Tencentcloud.PrivateDns.Inputs.GetForwardRulesFilterInputArgs + /// { + /// Name = "ZoneId", + /// Values = new[] + /// { + /// "zone-04jlawty", + /// }, + /// }, + /// new Tencentcloud.PrivateDns.Inputs.GetForwardRulesFilterInputArgs + /// { + /// Name = "EndPointId", + /// Values = new[] + /// { + /// "eid-e9d5880672", + /// }, + /// }, + /// new Tencentcloud.PrivateDns.Inputs.GetForwardRulesFilterInputArgs + /// { + /// Name = "EndPointName", + /// Values = new[] + /// { + /// "tf-example", + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Output Invoke(GetForwardRulesInvokeArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("tencentcloud:PrivateDns/getForwardRules:getForwardRules", args ?? new GetForwardRulesInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetForwardRulesArgs : global::Pulumi.InvokeArgs + { + [Input("filters")] + private List? _filters; + + /// + /// Filter parameters. + /// + public List Filters + { + get => _filters ?? (_filters = new List()); + set => _filters = value; + } + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public string? ResultOutputFile { get; set; } + + public GetForwardRulesArgs() + { + } + public static new GetForwardRulesArgs Empty => new GetForwardRulesArgs(); + } + + public sealed class GetForwardRulesInvokeArgs : global::Pulumi.InvokeArgs + { + [Input("filters")] + private InputList? _filters; + + /// + /// Filter parameters. + /// + public InputList Filters + { + get => _filters ?? (_filters = new InputList()); + set => _filters = value; + } + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public Input? ResultOutputFile { get; set; } + + public GetForwardRulesInvokeArgs() + { + } + public static new GetForwardRulesInvokeArgs Empty => new GetForwardRulesInvokeArgs(); + } + + + [OutputType] + public sealed class GetForwardRulesResult + { + public readonly ImmutableArray Filters; + /// + /// Private domain list. + /// + public readonly ImmutableArray ForwardRuleSets; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + public readonly string? ResultOutputFile; + + [OutputConstructor] + private GetForwardRulesResult( + ImmutableArray filters, + + ImmutableArray forwardRuleSets, + + string id, + + string? resultOutputFile) + { + Filters = filters; + ForwardRuleSets = forwardRuleSets; + Id = id; + ResultOutputFile = resultOutputFile; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/PrivateDns/Inputs/GetEndPointsFilter.cs b/sdk/dotnet/Tencentcloud/PrivateDns/Inputs/GetEndPointsFilter.cs new file mode 100644 index 000000000..e92b33e9f --- /dev/null +++ b/sdk/dotnet/Tencentcloud/PrivateDns/Inputs/GetEndPointsFilter.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.PrivateDns.Inputs +{ + + public sealed class GetEndPointsFilterArgs : global::Pulumi.InvokeArgs + { + /// + /// Parameter name. + /// + [Input("name", required: true)] + public string Name { get; set; } = null!; + + [Input("values", required: true)] + private List? _values; + + /// + /// Array of parameter values. + /// + public List Values + { + get => _values ?? (_values = new List()); + set => _values = value; + } + + public GetEndPointsFilterArgs() + { + } + public static new GetEndPointsFilterArgs Empty => new GetEndPointsFilterArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/PrivateDns/Inputs/GetEndPointsFilterArgs.cs b/sdk/dotnet/Tencentcloud/PrivateDns/Inputs/GetEndPointsFilterArgs.cs new file mode 100644 index 000000000..d0c87ebde --- /dev/null +++ b/sdk/dotnet/Tencentcloud/PrivateDns/Inputs/GetEndPointsFilterArgs.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.PrivateDns.Inputs +{ + + public sealed class GetEndPointsFilterInputArgs : global::Pulumi.ResourceArgs + { + /// + /// Parameter name. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("values", required: true)] + private InputList? _values; + + /// + /// Array of parameter values. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public GetEndPointsFilterInputArgs() + { + } + public static new GetEndPointsFilterInputArgs Empty => new GetEndPointsFilterInputArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/PrivateDns/Inputs/GetForwardRulesFilter.cs b/sdk/dotnet/Tencentcloud/PrivateDns/Inputs/GetForwardRulesFilter.cs new file mode 100644 index 000000000..080a9c0a5 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/PrivateDns/Inputs/GetForwardRulesFilter.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.PrivateDns.Inputs +{ + + public sealed class GetForwardRulesFilterArgs : global::Pulumi.InvokeArgs + { + /// + /// Parameter name. + /// + [Input("name", required: true)] + public string Name { get; set; } = null!; + + [Input("values", required: true)] + private List? _values; + + /// + /// Array of parameter values. + /// + public List Values + { + get => _values ?? (_values = new List()); + set => _values = value; + } + + public GetForwardRulesFilterArgs() + { + } + public static new GetForwardRulesFilterArgs Empty => new GetForwardRulesFilterArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/PrivateDns/Inputs/GetForwardRulesFilterArgs.cs b/sdk/dotnet/Tencentcloud/PrivateDns/Inputs/GetForwardRulesFilterArgs.cs new file mode 100644 index 000000000..2ba143c66 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/PrivateDns/Inputs/GetForwardRulesFilterArgs.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.PrivateDns.Inputs +{ + + public sealed class GetForwardRulesFilterInputArgs : global::Pulumi.ResourceArgs + { + /// + /// Parameter name. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("values", required: true)] + private InputList? _values; + + /// + /// Array of parameter values. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public GetForwardRulesFilterInputArgs() + { + } + public static new GetForwardRulesFilterInputArgs Empty => new GetForwardRulesFilterInputArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/PrivateDns/Outputs/GetEndPointsEndPointSetResult.cs b/sdk/dotnet/Tencentcloud/PrivateDns/Outputs/GetEndPointsEndPointSetResult.cs new file mode 100644 index 000000000..95a235582 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/PrivateDns/Outputs/GetEndPointsEndPointSetResult.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.PrivateDns.Outputs +{ + + [OutputType] + public sealed class GetEndPointsEndPointSetResult + { + /// + /// Endpoint ID. + /// + public readonly string EndPointId; + /// + /// Endpoint name. + /// + public readonly string EndPointName; + /// + /// Endpoint service ID. + /// + public readonly string EndPointServiceId; + /// + /// VIP list of the endpoint. + /// + public readonly ImmutableArray EndPointVipSets; + /// + /// ap-guangzhou + /// Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string RegionCode; + /// + /// Tag key-value pair collection. + /// Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly ImmutableArray Tags; + + [OutputConstructor] + private GetEndPointsEndPointSetResult( + string endPointId, + + string endPointName, + + string endPointServiceId, + + ImmutableArray endPointVipSets, + + string regionCode, + + ImmutableArray tags) + { + EndPointId = endPointId; + EndPointName = endPointName; + EndPointServiceId = endPointServiceId; + EndPointVipSets = endPointVipSets; + RegionCode = regionCode; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/PrivateDns/Outputs/GetEndPointsEndPointSetTagResult.cs b/sdk/dotnet/Tencentcloud/PrivateDns/Outputs/GetEndPointsEndPointSetTagResult.cs new file mode 100644 index 000000000..da70231fe --- /dev/null +++ b/sdk/dotnet/Tencentcloud/PrivateDns/Outputs/GetEndPointsEndPointSetTagResult.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.PrivateDns.Outputs +{ + + [OutputType] + public sealed class GetEndPointsEndPointSetTagResult + { + /// + /// Tag key. + /// + public readonly string TagKey; + /// + /// Tag value. + /// + public readonly string TagValue; + + [OutputConstructor] + private GetEndPointsEndPointSetTagResult( + string tagKey, + + string tagValue) + { + TagKey = tagKey; + TagValue = tagValue; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/PrivateDns/Outputs/GetEndPointsFilterResult.cs b/sdk/dotnet/Tencentcloud/PrivateDns/Outputs/GetEndPointsFilterResult.cs new file mode 100644 index 000000000..45d943a01 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/PrivateDns/Outputs/GetEndPointsFilterResult.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.PrivateDns.Outputs +{ + + [OutputType] + public sealed class GetEndPointsFilterResult + { + /// + /// Parameter name. + /// + public readonly string Name; + /// + /// Array of parameter values. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetEndPointsFilterResult( + string name, + + ImmutableArray values) + { + Name = name; + Values = values; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/PrivateDns/Outputs/GetForwardRulesFilterResult.cs b/sdk/dotnet/Tencentcloud/PrivateDns/Outputs/GetForwardRulesFilterResult.cs new file mode 100644 index 000000000..8d342f977 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/PrivateDns/Outputs/GetForwardRulesFilterResult.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.PrivateDns.Outputs +{ + + [OutputType] + public sealed class GetForwardRulesFilterResult + { + /// + /// Parameter name. + /// + public readonly string Name; + /// + /// Array of parameter values. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetForwardRulesFilterResult( + string name, + + ImmutableArray values) + { + Name = name; + Values = values; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/PrivateDns/Outputs/GetForwardRulesForwardRuleSetResult.cs b/sdk/dotnet/Tencentcloud/PrivateDns/Outputs/GetForwardRulesForwardRuleSetResult.cs new file mode 100644 index 000000000..260bea965 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/PrivateDns/Outputs/GetForwardRulesForwardRuleSetResult.cs @@ -0,0 +1,108 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.PrivateDns.Outputs +{ + + [OutputType] + public sealed class GetForwardRulesForwardRuleSetResult + { + /// + /// Creation time. + /// + public readonly string CreatedAt; + /// + /// Private domain name. + /// + public readonly string Domain; + /// + /// Endpoint ID. + /// + public readonly string EndPointId; + /// + /// Endpoint name. + /// + public readonly string EndPointName; + /// + /// Forwarding address. + /// + public readonly ImmutableArray ForwardAddresses; + /// + /// Rule ID. + /// + public readonly string RuleId; + /// + /// Forwarding rule name. + /// + public readonly string RuleName; + /// + /// Forwarding rule type. DOWN: From cloud to off-cloud; UP: From off-cloud to cloud. + /// + public readonly string RuleType; + /// + /// Tag. + /// Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly ImmutableArray Tags; + /// + /// Update time. + /// + public readonly string UpdatedAt; + /// + /// List of VPCs bound to the private domain. + /// Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly ImmutableArray VpcSets; + /// + /// ID of the bound private domain. + /// + public readonly string ZoneId; + + [OutputConstructor] + private GetForwardRulesForwardRuleSetResult( + string createdAt, + + string domain, + + string endPointId, + + string endPointName, + + ImmutableArray forwardAddresses, + + string ruleId, + + string ruleName, + + string ruleType, + + ImmutableArray tags, + + string updatedAt, + + ImmutableArray vpcSets, + + string zoneId) + { + CreatedAt = createdAt; + Domain = domain; + EndPointId = endPointId; + EndPointName = endPointName; + ForwardAddresses = forwardAddresses; + RuleId = ruleId; + RuleName = ruleName; + RuleType = ruleType; + Tags = tags; + UpdatedAt = updatedAt; + VpcSets = vpcSets; + ZoneId = zoneId; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/PrivateDns/Outputs/GetForwardRulesForwardRuleSetTagResult.cs b/sdk/dotnet/Tencentcloud/PrivateDns/Outputs/GetForwardRulesForwardRuleSetTagResult.cs new file mode 100644 index 000000000..a85cfd1a8 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/PrivateDns/Outputs/GetForwardRulesForwardRuleSetTagResult.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.PrivateDns.Outputs +{ + + [OutputType] + public sealed class GetForwardRulesForwardRuleSetTagResult + { + /// + /// Tag key. + /// + public readonly string TagKey; + /// + /// Tag value. + /// + public readonly string TagValue; + + [OutputConstructor] + private GetForwardRulesForwardRuleSetTagResult( + string tagKey, + + string tagValue) + { + TagKey = tagKey; + TagValue = tagValue; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/PrivateDns/Outputs/GetForwardRulesForwardRuleSetVpcSetResult.cs b/sdk/dotnet/Tencentcloud/PrivateDns/Outputs/GetForwardRulesForwardRuleSetVpcSetResult.cs new file mode 100644 index 000000000..c127d7831 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/PrivateDns/Outputs/GetForwardRulesForwardRuleSetVpcSetResult.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.PrivateDns.Outputs +{ + + [OutputType] + public sealed class GetForwardRulesForwardRuleSetVpcSetResult + { + /// + /// VPC region: ap-guangzhou, ap-shanghai. + /// + public readonly string Region; + /// + /// VpcId: vpc-xadsafsdasd. + /// + public readonly string UniqVpcId; + + [OutputConstructor] + private GetForwardRulesForwardRuleSetVpcSetResult( + string region, + + string uniqVpcId) + { + Region = region; + UniqVpcId = uniqVpcId; + } + } +} 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/PrivateDns/Zone.cs b/sdk/dotnet/Tencentcloud/PrivateDns/Zone.cs index 9de30e928..38a6fa3c9 100644 --- a/sdk/dotnet/Tencentcloud/PrivateDns/Zone.cs +++ b/sdk/dotnet/Tencentcloud/PrivateDns/Zone.cs @@ -13,6 +13,8 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.PrivateDns /// /// Provide a resource to create a Private Dns Zone. /// + /// > **NOTE:** If you want to unbind all VPCs bound to the current private dns zone, simply clearing the declaration will not take effect; you need to set the `region` and `uniq_vpc_id` in `vpc_set` to an empty string. + /// /// ## Example Usage /// /// ### Create a basic Private Dns Zone 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..0c52231f5 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")] @@ -101,7 +154,13 @@ public partial class Instance : global::Pulumi.CustomResource public Output CreateTime { 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. + /// 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. /// [Output("forceDelete")] public Output ForceDelete { get; private set; } = null!; @@ -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. /// @@ -320,7 +391,7 @@ public sealed class InstanceArgs : global::Pulumi.ResourceArgs public Input? ChargeType { 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. + /// 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. /// [Input("forceDelete")] public Input? ForceDelete { get; set; } @@ -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. /// @@ -518,7 +601,13 @@ public sealed class InstanceState : global::Pulumi.ResourceArgs public Input? CreateTime { 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. + /// 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. /// [Input("forceDelete")] public Input? ForceDelete { get; set; } @@ -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/Reserve/IpAddress.cs b/sdk/dotnet/Tencentcloud/Reserve/IpAddress.cs new file mode 100644 index 000000000..89fdaa9ad --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Reserve/IpAddress.cs @@ -0,0 +1,256 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Reserve +{ + [TencentcloudResourceType("tencentcloud:Reserve/ipAddress:IpAddress")] + public partial class IpAddress : global::Pulumi.CustomResource + { + /// + /// Created time. + /// + [Output("createdTime")] + public Output CreatedTime { get; private set; } = null!; + + /// + /// The IP description is retained on the intranet. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Specify the reserved IP address of the intranet for which the IP application is requested. + /// + [Output("ipAddress")] + public Output ReserveIpAddress { get; private set; } = null!; + + /// + /// Ip type for product application. + /// + [Output("ipType")] + public Output IpType { get; private set; } = null!; + + /// + /// The IP name is reserved for the intranet. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Reserve ip ID. + /// + [Output("reserveIpId")] + public Output ReserveIpId { get; private set; } = null!; + + /// + /// The intranet retains the resource instance ID bound to the IPs. + /// + [Output("resourceId")] + public Output ResourceId { get; private set; } = null!; + + /// + /// Binding status. + /// + [Output("state")] + public Output State { get; private set; } = null!; + + /// + /// Subnet ID. + /// + [Output("subnetId")] + public Output SubnetId { get; private set; } = null!; + + /// + /// Tags. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// VPC unique ID. + /// + [Output("vpcId")] + public Output VpcId { get; private set; } = null!; + + + /// + /// Create a IpAddress 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 IpAddress(string name, IpAddressArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Reserve/ipAddress:IpAddress", name, args ?? new IpAddressArgs(), MakeResourceOptions(options, "")) + { + } + + private IpAddress(string name, Input id, IpAddressState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Reserve/ipAddress:IpAddress", 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 IpAddress 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 IpAddress Get(string name, Input id, IpAddressState? state = null, CustomResourceOptions? options = null) + { + return new IpAddress(name, id, state, options); + } + } + + public sealed class IpAddressArgs : global::Pulumi.ResourceArgs + { + /// + /// The IP description is retained on the intranet. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Specify the reserved IP address of the intranet for which the IP application is requested. + /// + [Input("ipAddress")] + public Input? ReserveIpAddress { get; set; } + + /// + /// The IP name is reserved for the intranet. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Subnet ID. + /// + [Input("subnetId")] + public Input? SubnetId { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Tags. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + /// + /// VPC unique ID. + /// + [Input("vpcId", required: true)] + public Input VpcId { get; set; } = null!; + + public IpAddressArgs() + { + } + public static new IpAddressArgs Empty => new IpAddressArgs(); + } + + public sealed class IpAddressState : global::Pulumi.ResourceArgs + { + /// + /// Created time. + /// + [Input("createdTime")] + public Input? CreatedTime { get; set; } + + /// + /// The IP description is retained on the intranet. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Specify the reserved IP address of the intranet for which the IP application is requested. + /// + [Input("ipAddress")] + public Input? ReserveIpAddress { get; set; } + + /// + /// Ip type for product application. + /// + [Input("ipType")] + public Input? IpType { get; set; } + + /// + /// The IP name is reserved for the intranet. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Reserve ip ID. + /// + [Input("reserveIpId")] + public Input? ReserveIpId { get; set; } + + /// + /// The intranet retains the resource instance ID bound to the IPs. + /// + [Input("resourceId")] + public Input? ResourceId { get; set; } + + /// + /// Binding status. + /// + [Input("state")] + public Input? State { get; set; } + + /// + /// Subnet ID. + /// + [Input("subnetId")] + public Input? SubnetId { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Tags. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + /// + /// VPC unique ID. + /// + [Input("vpcId")] + public Input? VpcId { get; set; } + + public IpAddressState() + { + } + public static new IpAddressState Empty => new IpAddressState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Reserve/README.md b/sdk/dotnet/Tencentcloud/Reserve/README.md new file mode 100644 index 000000000..d8b61905c --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Reserve/README.md @@ -0,0 +1 @@ +A Pulumi package for creating and managing Tencent Cloud resources. 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/Scf/Function.cs b/sdk/dotnet/Tencentcloud/Scf/Function.cs index 6d2afe63c..b0a7bd0b9 100644 --- a/sdk/dotnet/Tencentcloud/Scf/Function.cs +++ b/sdk/dotnet/Tencentcloud/Scf/Function.cs @@ -110,6 +110,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Scf /// ```csharp /// using System.Collections.Generic; /// using System.Linq; + /// using System.Text.Json; /// using Pulumi; /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; /// @@ -117,26 +118,40 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Scf /// { /// var foo = new Tencentcloud.Scf.Function("foo", new() /// { - /// EnablePublicNet = true, /// Handler = "first.do_it_first", /// Runtime = "Python3.6", + /// EnablePublicNet = true, + /// ZipFile = "/scf/first.zip", /// Triggers = new[] /// { /// new Tencentcloud.Scf.Inputs.FunctionTriggerArgs /// { /// Name = "tf-test-fn-trigger", - /// TriggerDesc = "*/5 * * * * * *", /// Type = "timer", + /// TriggerDesc = "*/5 * * * * * *", /// }, /// new Tencentcloud.Scf.Inputs.FunctionTriggerArgs /// { - /// CosRegion = "ap-guangzhou", /// Name = "scf-bucket-1308919341.cos.ap-guangzhou.myqcloud.com", - /// TriggerDesc = "{\"event\":\"cos:ObjectCreated:Put\",\"filter\":{\"Prefix\":\"\",\"Suffix\":\"\"}}", + /// CosRegion = "ap-guangzhou", /// Type = "cos", + /// TriggerDesc = "{\"event\":\"cos:ObjectCreated:Put\",\"filter\":{\"Prefix\":\"\",\"Suffix\":\"\"}}", + /// }, + /// new Tencentcloud.Scf.Inputs.FunctionTriggerArgs + /// { + /// Name = "tf-test-fn-trigger", + /// Type = "http", + /// TriggerDesc = JsonSerializer.Serialize(new Dictionary<string, object?> + /// { + /// ["AuthType"] = "NONE", + /// ["NetConfig"] = new Dictionary<string, object?> + /// { + /// ["EnableIntranet"] = true, + /// ["EnableExtranet"] = false, + /// }, + /// }), /// }, /// }, - /// ZipFile = "/scf/first.zip", /// }); /// /// }); diff --git a/sdk/dotnet/Tencentcloud/Scf/Inputs/FunctionTriggerArgs.cs b/sdk/dotnet/Tencentcloud/Scf/Inputs/FunctionTriggerArgs.cs index dc43f480f..00913b2c8 100644 --- a/sdk/dotnet/Tencentcloud/Scf/Inputs/FunctionTriggerArgs.cs +++ b/sdk/dotnet/Tencentcloud/Scf/Inputs/FunctionTriggerArgs.cs @@ -32,7 +32,7 @@ public sealed class FunctionTriggerArgs : global::Pulumi.ResourceArgs public Input TriggerDesc { get; set; } = null!; /// - /// Type of the SCF function trigger, support `cos`, `cmq`, `timer`, `ckafka`, `apigw`. + /// Type of the SCF function trigger, support `cos`, `cls`, `timer`, `ckafka`, `http`, `apigw`, `cmq`. /// [Input("type", required: true)] public Input Type { get; set; } = null!; diff --git a/sdk/dotnet/Tencentcloud/Scf/Inputs/FunctionTriggerGetArgs.cs b/sdk/dotnet/Tencentcloud/Scf/Inputs/FunctionTriggerGetArgs.cs index 0c0ef4655..03aed3313 100644 --- a/sdk/dotnet/Tencentcloud/Scf/Inputs/FunctionTriggerGetArgs.cs +++ b/sdk/dotnet/Tencentcloud/Scf/Inputs/FunctionTriggerGetArgs.cs @@ -32,7 +32,7 @@ public sealed class FunctionTriggerGetArgs : global::Pulumi.ResourceArgs public Input TriggerDesc { get; set; } = null!; /// - /// Type of the SCF function trigger, support `cos`, `cmq`, `timer`, `ckafka`, `apigw`. + /// Type of the SCF function trigger, support `cos`, `cls`, `timer`, `ckafka`, `http`, `apigw`, `cmq`. /// [Input("type", required: true)] public Input Type { get; set; } = null!; diff --git a/sdk/dotnet/Tencentcloud/Scf/Inputs/FunctionTriggerInfoArgs.cs b/sdk/dotnet/Tencentcloud/Scf/Inputs/FunctionTriggerInfoArgs.cs index e09bd678e..6949072eb 100644 --- a/sdk/dotnet/Tencentcloud/Scf/Inputs/FunctionTriggerInfoArgs.cs +++ b/sdk/dotnet/Tencentcloud/Scf/Inputs/FunctionTriggerInfoArgs.cs @@ -50,7 +50,7 @@ public sealed class FunctionTriggerInfoArgs : global::Pulumi.ResourceArgs public Input? TriggerDesc { get; set; } /// - /// Type of the SCF function trigger, support `cos`, `cmq`, `timer`, `ckafka`, `apigw`. + /// Type of the SCF function trigger, support `cos`, `cls`, `timer`, `ckafka`, `http`, `apigw`, `cmq`. /// [Input("type")] public Input? Type { get; set; } diff --git a/sdk/dotnet/Tencentcloud/Scf/Inputs/FunctionTriggerInfoGetArgs.cs b/sdk/dotnet/Tencentcloud/Scf/Inputs/FunctionTriggerInfoGetArgs.cs index 9d7426ac5..103ec19b3 100644 --- a/sdk/dotnet/Tencentcloud/Scf/Inputs/FunctionTriggerInfoGetArgs.cs +++ b/sdk/dotnet/Tencentcloud/Scf/Inputs/FunctionTriggerInfoGetArgs.cs @@ -50,7 +50,7 @@ public sealed class FunctionTriggerInfoGetArgs : global::Pulumi.ResourceArgs public Input? TriggerDesc { get; set; } /// - /// Type of the SCF function trigger, support `cos`, `cmq`, `timer`, `ckafka`, `apigw`. + /// Type of the SCF function trigger, support `cos`, `cls`, `timer`, `ckafka`, `http`, `apigw`, `cmq`. /// [Input("type")] public Input? Type { get; set; } diff --git a/sdk/dotnet/Tencentcloud/Scf/Outputs/FunctionTrigger.cs b/sdk/dotnet/Tencentcloud/Scf/Outputs/FunctionTrigger.cs index dccf50c6c..388ccd1f7 100644 --- a/sdk/dotnet/Tencentcloud/Scf/Outputs/FunctionTrigger.cs +++ b/sdk/dotnet/Tencentcloud/Scf/Outputs/FunctionTrigger.cs @@ -27,7 +27,7 @@ public sealed class FunctionTrigger /// public readonly string TriggerDesc; /// - /// Type of the SCF function trigger, support `cos`, `cmq`, `timer`, `ckafka`, `apigw`. + /// Type of the SCF function trigger, support `cos`, `cls`, `timer`, `ckafka`, `http`, `apigw`, `cmq`. /// public readonly string Type; diff --git a/sdk/dotnet/Tencentcloud/Scf/Outputs/FunctionTriggerInfo.cs b/sdk/dotnet/Tencentcloud/Scf/Outputs/FunctionTriggerInfo.cs index a9044d104..84d2a03f8 100644 --- a/sdk/dotnet/Tencentcloud/Scf/Outputs/FunctionTriggerInfo.cs +++ b/sdk/dotnet/Tencentcloud/Scf/Outputs/FunctionTriggerInfo.cs @@ -39,7 +39,7 @@ public sealed class FunctionTriggerInfo /// public readonly string? TriggerDesc; /// - /// Type of the SCF function trigger, support `cos`, `cmq`, `timer`, `ckafka`, `apigw`. + /// Type of the SCF function trigger, support `cos`, `cls`, `timer`, `ckafka`, `http`, `apigw`, `cmq`. /// public readonly string? Type; diff --git a/sdk/dotnet/Tencentcloud/Security/Inputs/GroupRuleSetEgressArgs.cs b/sdk/dotnet/Tencentcloud/Security/Inputs/GroupRuleSetEgressArgs.cs index 451664599..4944cf286 100644 --- a/sdk/dotnet/Tencentcloud/Security/Inputs/GroupRuleSetEgressArgs.cs +++ b/sdk/dotnet/Tencentcloud/Security/Inputs/GroupRuleSetEgressArgs.cs @@ -20,19 +20,19 @@ public sealed class GroupRuleSetEgressArgs : global::Pulumi.ResourceArgs public Input Action { get; set; } = null!; /// - /// Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. + /// Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. /// [Input("addressTemplateGroup")] public Input? AddressTemplateGroup { get; set; } /// - /// Specify Address template ID like `ipm-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. + /// Specify Address template ID like `ipm-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. /// [Input("addressTemplateId")] public Input? AddressTemplateId { get; set; } /// - /// An IP address network or CIDR segment. NOTE: `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` are exclusive and cannot be set in the same time. + /// An IP address network or CIDR segment. NOTE: `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` are exclusive and cannot be set in the same time; One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. /// [Input("cidrBlock")] public Input? CidrBlock { get; set; } @@ -44,7 +44,7 @@ public sealed class GroupRuleSetEgressArgs : global::Pulumi.ResourceArgs public Input? Description { get; set; } /// - /// An IPV6 address network or CIDR segment, and conflict with `source_security_id` and `address_template_*`. + /// An IPV6 address network or CIDR segment, and conflict with `source_security_id` and `address_template_*`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. /// [Input("ipv6CidrBlock")] public Input? Ipv6CidrBlock { get; set; } @@ -62,7 +62,7 @@ public sealed class GroupRuleSetEgressArgs : global::Pulumi.ResourceArgs public Input? Port { get; set; } /// - /// Type of IP protocol. Valid values: `TCP`, `UDP` and `ICMP`. Default to all types protocol, and conflicts with `service_template_*`. + /// Type of IP protocol. Valid values: `TCP`, `UDP`, `ICMP`, `ICMPv6` and `ALL`. Default to all types protocol, and conflicts with `service_template_*`. /// [Input("protocol")] public Input? Protocol { get; set; } @@ -80,7 +80,7 @@ public sealed class GroupRuleSetEgressArgs : global::Pulumi.ResourceArgs public Input? ServiceTemplateId { get; set; } /// - /// ID of the nested security group, and conflicts with `cidr_block` and `address_template_*`. + /// ID of the nested security group, and conflicts with `cidr_block` and `address_template_*`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. /// [Input("sourceSecurityId")] public Input? SourceSecurityId { get; set; } diff --git a/sdk/dotnet/Tencentcloud/Security/Inputs/GroupRuleSetEgressGetArgs.cs b/sdk/dotnet/Tencentcloud/Security/Inputs/GroupRuleSetEgressGetArgs.cs index a00df9c7a..f9a10d4e8 100644 --- a/sdk/dotnet/Tencentcloud/Security/Inputs/GroupRuleSetEgressGetArgs.cs +++ b/sdk/dotnet/Tencentcloud/Security/Inputs/GroupRuleSetEgressGetArgs.cs @@ -20,19 +20,19 @@ public sealed class GroupRuleSetEgressGetArgs : global::Pulumi.ResourceArgs public Input Action { get; set; } = null!; /// - /// Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. + /// Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. /// [Input("addressTemplateGroup")] public Input? AddressTemplateGroup { get; set; } /// - /// Specify Address template ID like `ipm-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. + /// Specify Address template ID like `ipm-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. /// [Input("addressTemplateId")] public Input? AddressTemplateId { get; set; } /// - /// An IP address network or CIDR segment. NOTE: `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` are exclusive and cannot be set in the same time. + /// An IP address network or CIDR segment. NOTE: `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` are exclusive and cannot be set in the same time; One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. /// [Input("cidrBlock")] public Input? CidrBlock { get; set; } @@ -44,7 +44,7 @@ public sealed class GroupRuleSetEgressGetArgs : global::Pulumi.ResourceArgs public Input? Description { get; set; } /// - /// An IPV6 address network or CIDR segment, and conflict with `source_security_id` and `address_template_*`. + /// An IPV6 address network or CIDR segment, and conflict with `source_security_id` and `address_template_*`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. /// [Input("ipv6CidrBlock")] public Input? Ipv6CidrBlock { get; set; } @@ -62,7 +62,7 @@ public sealed class GroupRuleSetEgressGetArgs : global::Pulumi.ResourceArgs public Input? Port { get; set; } /// - /// Type of IP protocol. Valid values: `TCP`, `UDP` and `ICMP`. Default to all types protocol, and conflicts with `service_template_*`. + /// Type of IP protocol. Valid values: `TCP`, `UDP`, `ICMP`, `ICMPv6` and `ALL`. Default to all types protocol, and conflicts with `service_template_*`. /// [Input("protocol")] public Input? Protocol { get; set; } @@ -80,7 +80,7 @@ public sealed class GroupRuleSetEgressGetArgs : global::Pulumi.ResourceArgs public Input? ServiceTemplateId { get; set; } /// - /// ID of the nested security group, and conflicts with `cidr_block` and `address_template_*`. + /// ID of the nested security group, and conflicts with `cidr_block` and `address_template_*`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. /// [Input("sourceSecurityId")] public Input? SourceSecurityId { get; set; } diff --git a/sdk/dotnet/Tencentcloud/Security/Inputs/GroupRuleSetIngressArgs.cs b/sdk/dotnet/Tencentcloud/Security/Inputs/GroupRuleSetIngressArgs.cs index 374cb1907..4d6e06236 100644 --- a/sdk/dotnet/Tencentcloud/Security/Inputs/GroupRuleSetIngressArgs.cs +++ b/sdk/dotnet/Tencentcloud/Security/Inputs/GroupRuleSetIngressArgs.cs @@ -20,19 +20,19 @@ public sealed class GroupRuleSetIngressArgs : global::Pulumi.ResourceArgs public Input Action { get; set; } = null!; /// - /// Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. + /// Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. /// [Input("addressTemplateGroup")] public Input? AddressTemplateGroup { get; set; } /// - /// Specify Address template ID like `ipm-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. + /// Specify Address template ID like `ipm-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. /// [Input("addressTemplateId")] public Input? AddressTemplateId { get; set; } /// - /// An IP address network or CIDR segment. NOTE: `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` are exclusive and cannot be set in the same time. + /// An IP address network or CIDR segment. NOTE: `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` are exclusive and cannot be set in the same time; One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. /// [Input("cidrBlock")] public Input? CidrBlock { get; set; } @@ -44,7 +44,7 @@ public sealed class GroupRuleSetIngressArgs : global::Pulumi.ResourceArgs public Input? Description { get; set; } /// - /// An IPV6 address network or CIDR segment, and conflict with `source_security_id` and `address_template_*`. + /// An IPV6 address network or CIDR segment, and conflict with `source_security_id` and `address_template_*`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. /// [Input("ipv6CidrBlock")] public Input? Ipv6CidrBlock { get; set; } @@ -62,7 +62,7 @@ public sealed class GroupRuleSetIngressArgs : global::Pulumi.ResourceArgs public Input? Port { get; set; } /// - /// Type of IP protocol. Valid values: `TCP`, `UDP` and `ICMP`. Default to all types protocol, and conflicts with `service_template_*`. + /// Type of IP protocol. Valid values: `TCP`, `UDP`, `ICMP`, `ICMPv6` and `ALL`. Default to all types protocol, and conflicts with `service_template_*`. /// [Input("protocol")] public Input? Protocol { get; set; } @@ -80,7 +80,7 @@ public sealed class GroupRuleSetIngressArgs : global::Pulumi.ResourceArgs public Input? ServiceTemplateId { get; set; } /// - /// ID of the nested security group, and conflicts with `cidr_block` and `address_template_*`. + /// ID of the nested security group, and conflicts with `cidr_block` and `address_template_*`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. /// [Input("sourceSecurityId")] public Input? SourceSecurityId { get; set; } diff --git a/sdk/dotnet/Tencentcloud/Security/Inputs/GroupRuleSetIngressGetArgs.cs b/sdk/dotnet/Tencentcloud/Security/Inputs/GroupRuleSetIngressGetArgs.cs index 9d06d7e18..7806fb730 100644 --- a/sdk/dotnet/Tencentcloud/Security/Inputs/GroupRuleSetIngressGetArgs.cs +++ b/sdk/dotnet/Tencentcloud/Security/Inputs/GroupRuleSetIngressGetArgs.cs @@ -20,19 +20,19 @@ public sealed class GroupRuleSetIngressGetArgs : global::Pulumi.ResourceArgs public Input Action { get; set; } = null!; /// - /// Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. + /// Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. /// [Input("addressTemplateGroup")] public Input? AddressTemplateGroup { get; set; } /// - /// Specify Address template ID like `ipm-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. + /// Specify Address template ID like `ipm-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. /// [Input("addressTemplateId")] public Input? AddressTemplateId { get; set; } /// - /// An IP address network or CIDR segment. NOTE: `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` are exclusive and cannot be set in the same time. + /// An IP address network or CIDR segment. NOTE: `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` are exclusive and cannot be set in the same time; One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. /// [Input("cidrBlock")] public Input? CidrBlock { get; set; } @@ -44,7 +44,7 @@ public sealed class GroupRuleSetIngressGetArgs : global::Pulumi.ResourceArgs public Input? Description { get; set; } /// - /// An IPV6 address network or CIDR segment, and conflict with `source_security_id` and `address_template_*`. + /// An IPV6 address network or CIDR segment, and conflict with `source_security_id` and `address_template_*`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. /// [Input("ipv6CidrBlock")] public Input? Ipv6CidrBlock { get; set; } @@ -62,7 +62,7 @@ public sealed class GroupRuleSetIngressGetArgs : global::Pulumi.ResourceArgs public Input? Port { get; set; } /// - /// Type of IP protocol. Valid values: `TCP`, `UDP` and `ICMP`. Default to all types protocol, and conflicts with `service_template_*`. + /// Type of IP protocol. Valid values: `TCP`, `UDP`, `ICMP`, `ICMPv6` and `ALL`. Default to all types protocol, and conflicts with `service_template_*`. /// [Input("protocol")] public Input? Protocol { get; set; } @@ -80,7 +80,7 @@ public sealed class GroupRuleSetIngressGetArgs : global::Pulumi.ResourceArgs public Input? ServiceTemplateId { get; set; } /// - /// ID of the nested security group, and conflicts with `cidr_block` and `address_template_*`. + /// ID of the nested security group, and conflicts with `cidr_block` and `address_template_*`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. /// [Input("sourceSecurityId")] public Input? SourceSecurityId { get; set; } diff --git a/sdk/dotnet/Tencentcloud/Security/Outputs/GroupRuleSetEgress.cs b/sdk/dotnet/Tencentcloud/Security/Outputs/GroupRuleSetEgress.cs index 131ccee4e..3448d98be 100644 --- a/sdk/dotnet/Tencentcloud/Security/Outputs/GroupRuleSetEgress.cs +++ b/sdk/dotnet/Tencentcloud/Security/Outputs/GroupRuleSetEgress.cs @@ -19,15 +19,15 @@ public sealed class GroupRuleSetEgress /// public readonly string Action; /// - /// Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. + /// Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. /// public readonly string? AddressTemplateGroup; /// - /// Specify Address template ID like `ipm-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. + /// Specify Address template ID like `ipm-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. /// public readonly string? AddressTemplateId; /// - /// An IP address network or CIDR segment. NOTE: `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` are exclusive and cannot be set in the same time. + /// An IP address network or CIDR segment. NOTE: `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` are exclusive and cannot be set in the same time; One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. /// public readonly string? CidrBlock; /// @@ -35,7 +35,7 @@ public sealed class GroupRuleSetEgress /// public readonly string? Description; /// - /// An IPV6 address network or CIDR segment, and conflict with `source_security_id` and `address_template_*`. + /// An IPV6 address network or CIDR segment, and conflict with `source_security_id` and `address_template_*`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. /// public readonly string? Ipv6CidrBlock; /// @@ -47,7 +47,7 @@ public sealed class GroupRuleSetEgress /// public readonly string? Port; /// - /// Type of IP protocol. Valid values: `TCP`, `UDP` and `ICMP`. Default to all types protocol, and conflicts with `service_template_*`. + /// Type of IP protocol. Valid values: `TCP`, `UDP`, `ICMP`, `ICMPv6` and `ALL`. Default to all types protocol, and conflicts with `service_template_*`. /// public readonly string? Protocol; /// @@ -59,7 +59,7 @@ public sealed class GroupRuleSetEgress /// public readonly string? ServiceTemplateId; /// - /// ID of the nested security group, and conflicts with `cidr_block` and `address_template_*`. + /// ID of the nested security group, and conflicts with `cidr_block` and `address_template_*`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. /// public readonly string? SourceSecurityId; diff --git a/sdk/dotnet/Tencentcloud/Security/Outputs/GroupRuleSetIngress.cs b/sdk/dotnet/Tencentcloud/Security/Outputs/GroupRuleSetIngress.cs index 354ab629f..07b59ac89 100644 --- a/sdk/dotnet/Tencentcloud/Security/Outputs/GroupRuleSetIngress.cs +++ b/sdk/dotnet/Tencentcloud/Security/Outputs/GroupRuleSetIngress.cs @@ -19,15 +19,15 @@ public sealed class GroupRuleSetIngress /// public readonly string Action; /// - /// Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. + /// Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. /// public readonly string? AddressTemplateGroup; /// - /// Specify Address template ID like `ipm-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. + /// Specify Address template ID like `ipm-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. /// public readonly string? AddressTemplateId; /// - /// An IP address network or CIDR segment. NOTE: `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` are exclusive and cannot be set in the same time. + /// An IP address network or CIDR segment. NOTE: `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` are exclusive and cannot be set in the same time; One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. /// public readonly string? CidrBlock; /// @@ -35,7 +35,7 @@ public sealed class GroupRuleSetIngress /// public readonly string? Description; /// - /// An IPV6 address network or CIDR segment, and conflict with `source_security_id` and `address_template_*`. + /// An IPV6 address network or CIDR segment, and conflict with `source_security_id` and `address_template_*`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. /// public readonly string? Ipv6CidrBlock; /// @@ -47,7 +47,7 @@ public sealed class GroupRuleSetIngress /// public readonly string? Port; /// - /// Type of IP protocol. Valid values: `TCP`, `UDP` and `ICMP`. Default to all types protocol, and conflicts with `service_template_*`. + /// Type of IP protocol. Valid values: `TCP`, `UDP`, `ICMP`, `ICMPv6` and `ALL`. Default to all types protocol, and conflicts with `service_template_*`. /// public readonly string? Protocol; /// @@ -59,7 +59,7 @@ public sealed class GroupRuleSetIngress /// public readonly string? ServiceTemplateId; /// - /// ID of the nested security group, and conflicts with `cidr_block` and `address_template_*`. + /// ID of the nested security group, and conflicts with `cidr_block` and `address_template_*`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. /// public readonly string? SourceSecurityId; diff --git a/sdk/dotnet/Tencentcloud/Ses/EmailAddress.cs b/sdk/dotnet/Tencentcloud/Ses/EmailAddress.cs index 12c070ffc..5375b4a00 100644 --- a/sdk/dotnet/Tencentcloud/Ses/EmailAddress.cs +++ b/sdk/dotnet/Tencentcloud/Ses/EmailAddress.cs @@ -11,10 +11,33 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Ses { /// - /// Provides a resource to create a ses email_address + /// Provides a resource to create a ses email address /// /// ## Example Usage /// + /// ### Create ses email address + /// + /// <!--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.Ses.EmailAddress("example", new() + /// { + /// SesEmailAddress = "demo@iac-terraform.cloud", + /// EmailSenderName = "root", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Set smtp password + /// /// <!--Start PulumiCodeChooser --> /// ```csharp /// using System.Collections.Generic; @@ -24,10 +47,11 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Ses /// /// return await Deployment.RunAsync(() => /// { - /// var emailAddress = new Tencentcloud.Ses.EmailAddress("emailAddress", new() + /// var example = new Tencentcloud.Ses.EmailAddress("example", new() /// { - /// SesEmailAddress = "aaa@iac-tf.cloud", - /// EmailSenderName = "aaa", + /// SesEmailAddress = "demo@iac-terraform.cloud", + /// EmailSenderName = "root", + /// SmtpPassword = "Password@123", /// }); /// /// }); @@ -39,14 +63,14 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Ses /// ses email_address can be imported using the id, e.g. /// /// ```sh - /// $ pulumi import tencentcloud:Ses/emailAddress:EmailAddress email_address aaa@iac-tf.cloud + /// $ pulumi import tencentcloud:Ses/emailAddress:EmailAddress example demo@iac-terraform.cloud /// ``` /// [TencentcloudResourceType("tencentcloud:Ses/emailAddress:EmailAddress")] public partial class EmailAddress : global::Pulumi.CustomResource { /// - /// Your sender address. (You can create up to 10 sender addresses for each domain.). + /// Your sender address(You can create up to 10 sender addresses for each domain). /// [Output("emailAddress")] public Output SesEmailAddress { get; private set; } = null!; @@ -57,6 +81,12 @@ public partial class EmailAddress : global::Pulumi.CustomResource [Output("emailSenderName")] public Output EmailSenderName { get; private set; } = null!; + /// + /// Password for SMTP, Length limit 64. + /// + [Output("smtpPassword")] + public Output SmtpPassword { get; private set; } = null!; + /// /// Create a EmailAddress resource with the given unique name, arguments, and options. @@ -81,6 +111,10 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? { Version = Utilities.Version, PluginDownloadURL = "github://api.github.com/tencentcloudstack", + AdditionalSecretOutputs = + { + "smtpPassword", + }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. @@ -105,7 +139,7 @@ public static EmailAddress Get(string name, Input id, EmailAddressState? public sealed class EmailAddressArgs : global::Pulumi.ResourceArgs { /// - /// Your sender address. (You can create up to 10 sender addresses for each domain.). + /// Your sender address(You can create up to 10 sender addresses for each domain). /// [Input("emailAddress", required: true)] public Input SesEmailAddress { get; set; } = null!; @@ -116,6 +150,22 @@ public sealed class EmailAddressArgs : global::Pulumi.ResourceArgs [Input("emailSenderName")] public Input? EmailSenderName { get; set; } + [Input("smtpPassword")] + private Input? _smtpPassword; + + /// + /// Password for SMTP, Length limit 64. + /// + public Input? SmtpPassword + { + get => _smtpPassword; + set + { + var emptySecret = Output.CreateSecret(0); + _smtpPassword = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + public EmailAddressArgs() { } @@ -125,7 +175,7 @@ public EmailAddressArgs() public sealed class EmailAddressState : global::Pulumi.ResourceArgs { /// - /// Your sender address. (You can create up to 10 sender addresses for each domain.). + /// Your sender address(You can create up to 10 sender addresses for each domain). /// [Input("emailAddress")] public Input? SesEmailAddress { get; set; } @@ -136,6 +186,22 @@ public sealed class EmailAddressState : global::Pulumi.ResourceArgs [Input("emailSenderName")] public Input? EmailSenderName { get; set; } + [Input("smtpPassword")] + private Input? _smtpPassword; + + /// + /// Password for SMTP, Length limit 64. + /// + public Input? SmtpPassword + { + get => _smtpPassword; + set + { + var emptySecret = Output.CreateSecret(0); + _smtpPassword = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + public EmailAddressState() { } diff --git a/sdk/dotnet/Tencentcloud/Sg/Inputs/RuleDataArgs.cs b/sdk/dotnet/Tencentcloud/Sg/Inputs/RuleDataArgs.cs new file mode 100644 index 000000000..8957dd2b8 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Sg/Inputs/RuleDataArgs.cs @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Sg.Inputs +{ + + public sealed class RuleDataArgs : global::Pulumi.ResourceArgs + { + /// + /// Description. + /// + [Input("description", required: true)] + public Input Description { get; set; } = null!; + + /// + /// Destination example: `net`: IP/CIDR (192.168.0.2); `template`: parameter template (ipm-dyodhpby); `instance`: asset instance (ins-123456); `resourcegroup`: asset group (/all groups/group 1/subgroup 1); `tag`: resource tag ({"Key":"tag key","Value":"tag value"}); `region`: region (ap-gaungzhou). + /// + [Input("destContent", required: true)] + public Input DestContent { get; set; } = null!; + + /// + /// Access destination type. Valid values: net|template|instance|resourcegroup|tag|region. + /// + [Input("destType", required: true)] + public Input DestType { get; set; } = null!; + + /// + /// Rule priority. + /// + [Input("orderIndex")] + public Input? OrderIndex { get; set; } + + /// + /// The port to apply access control rules. Valid values: `-1/-1`: all ports, `80`: port 80. + /// + [Input("port")] + public Input? Port { get; set; } + + /// + /// Protocol. TCP/UDP/ICMP/ANY. + /// + [Input("protocol")] + public Input? Protocol { get; set; } + + /// + /// The action that Cloud Firewall performs on the traffic. Valid values: `accept`: allow, `drop`: deny. + /// + [Input("ruleAction", required: true)] + public Input RuleAction { get; set; } = null!; + + /// + /// Parameter template ID of port and protocol type; mutually exclusive with Protocol and Port. + /// + [Input("serviceTemplateId")] + public Input? ServiceTemplateId { get; set; } + + /// + /// Source example: `net`: IP/CIDR (192.168.0.2); `template`: parameter template (ipm-dyodhpby); `instance`: asset instance (ins-123456); `resourcegroup`: asset group (/all groups/group 1/subgroup 1); `tag`: resource tag ({"Key":"tag key","Value":"tag value"}); `region`: region (ap-gaungzhou). + /// + [Input("sourceContent", required: true)] + public Input SourceContent { get; set; } = null!; + + /// + /// Access source type. Valid values: net|template|instance|resourcegroup|tag|region. + /// + [Input("sourceType", required: true)] + public Input SourceType { get; set; } = null!; + + public RuleDataArgs() + { + } + public static new RuleDataArgs Empty => new RuleDataArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Sg/Inputs/RuleDataGetArgs.cs b/sdk/dotnet/Tencentcloud/Sg/Inputs/RuleDataGetArgs.cs new file mode 100644 index 000000000..7f840a3e1 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Sg/Inputs/RuleDataGetArgs.cs @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Sg.Inputs +{ + + public sealed class RuleDataGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Description. + /// + [Input("description", required: true)] + public Input Description { get; set; } = null!; + + /// + /// Destination example: `net`: IP/CIDR (192.168.0.2); `template`: parameter template (ipm-dyodhpby); `instance`: asset instance (ins-123456); `resourcegroup`: asset group (/all groups/group 1/subgroup 1); `tag`: resource tag ({"Key":"tag key","Value":"tag value"}); `region`: region (ap-gaungzhou). + /// + [Input("destContent", required: true)] + public Input DestContent { get; set; } = null!; + + /// + /// Access destination type. Valid values: net|template|instance|resourcegroup|tag|region. + /// + [Input("destType", required: true)] + public Input DestType { get; set; } = null!; + + /// + /// Rule priority. + /// + [Input("orderIndex")] + public Input? OrderIndex { get; set; } + + /// + /// The port to apply access control rules. Valid values: `-1/-1`: all ports, `80`: port 80. + /// + [Input("port")] + public Input? Port { get; set; } + + /// + /// Protocol. TCP/UDP/ICMP/ANY. + /// + [Input("protocol")] + public Input? Protocol { get; set; } + + /// + /// The action that Cloud Firewall performs on the traffic. Valid values: `accept`: allow, `drop`: deny. + /// + [Input("ruleAction", required: true)] + public Input RuleAction { get; set; } = null!; + + /// + /// Parameter template ID of port and protocol type; mutually exclusive with Protocol and Port. + /// + [Input("serviceTemplateId")] + public Input? ServiceTemplateId { get; set; } + + /// + /// Source example: `net`: IP/CIDR (192.168.0.2); `template`: parameter template (ipm-dyodhpby); `instance`: asset instance (ins-123456); `resourcegroup`: asset group (/all groups/group 1/subgroup 1); `tag`: resource tag ({"Key":"tag key","Value":"tag value"}); `region`: region (ap-gaungzhou). + /// + [Input("sourceContent", required: true)] + public Input SourceContent { get; set; } = null!; + + /// + /// Access source type. Valid values: net|template|instance|resourcegroup|tag|region. + /// + [Input("sourceType", required: true)] + public Input SourceType { get; set; } = null!; + + public RuleDataGetArgs() + { + } + public static new RuleDataGetArgs Empty => new RuleDataGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Sg/Outputs/RuleData.cs b/sdk/dotnet/Tencentcloud/Sg/Outputs/RuleData.cs new file mode 100644 index 000000000..6d5636c0e --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Sg/Outputs/RuleData.cs @@ -0,0 +1,92 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Sg.Outputs +{ + + [OutputType] + public sealed class RuleData + { + /// + /// Description. + /// + public readonly string Description; + /// + /// Destination example: `net`: IP/CIDR (192.168.0.2); `template`: parameter template (ipm-dyodhpby); `instance`: asset instance (ins-123456); `resourcegroup`: asset group (/all groups/group 1/subgroup 1); `tag`: resource tag ({"Key":"tag key","Value":"tag value"}); `region`: region (ap-gaungzhou). + /// + public readonly string DestContent; + /// + /// Access destination type. Valid values: net|template|instance|resourcegroup|tag|region. + /// + public readonly string DestType; + /// + /// Rule priority. + /// + public readonly string? OrderIndex; + /// + /// The port to apply access control rules. Valid values: `-1/-1`: all ports, `80`: port 80. + /// + public readonly string? Port; + /// + /// Protocol. TCP/UDP/ICMP/ANY. + /// + public readonly string? Protocol; + /// + /// The action that Cloud Firewall performs on the traffic. Valid values: `accept`: allow, `drop`: deny. + /// + public readonly string RuleAction; + /// + /// Parameter template ID of port and protocol type; mutually exclusive with Protocol and Port. + /// + public readonly string? ServiceTemplateId; + /// + /// Source example: `net`: IP/CIDR (192.168.0.2); `template`: parameter template (ipm-dyodhpby); `instance`: asset instance (ins-123456); `resourcegroup`: asset group (/all groups/group 1/subgroup 1); `tag`: resource tag ({"Key":"tag key","Value":"tag value"}); `region`: region (ap-gaungzhou). + /// + public readonly string SourceContent; + /// + /// Access source type. Valid values: net|template|instance|resourcegroup|tag|region. + /// + public readonly string SourceType; + + [OutputConstructor] + private RuleData( + string description, + + string destContent, + + string destType, + + string? orderIndex, + + string? port, + + string? protocol, + + string ruleAction, + + string? serviceTemplateId, + + string sourceContent, + + string sourceType) + { + Description = description; + DestContent = destContent; + DestType = destType; + OrderIndex = orderIndex; + Port = port; + Protocol = protocol; + RuleAction = ruleAction; + ServiceTemplateId = serviceTemplateId; + SourceContent = sourceContent; + SourceType = sourceType; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Sg/README.md b/sdk/dotnet/Tencentcloud/Sg/README.md new file mode 100644 index 000000000..d8b61905c --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Sg/README.md @@ -0,0 +1 @@ +A Pulumi package for creating and managing Tencent Cloud resources. diff --git a/sdk/dotnet/Tencentcloud/Sg/Rule.cs b/sdk/dotnet/Tencentcloud/Sg/Rule.cs new file mode 100644 index 000000000..6cbc68494 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Sg/Rule.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.Sg +{ + /// + /// Provides a resource to create a cfw sg_rule + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var sgRule = new Tencentcloud.Sg.Rule("sgRule", new() + /// { + /// Data = new Tencentcloud.Sg.Inputs.RuleDataArgs + /// { + /// Description = "1111112", + /// DestContent = "0.0.0.0/0", + /// DestType = "net", + /// Port = "-1/-1", + /// Protocol = "ANY", + /// RuleAction = "accept", + /// ServiceTemplateId = "ppm-l9u5pf1y", + /// SourceContent = "0.0.0.0/0", + /// SourceType = "net", + /// }, + /// Enable = 1, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// cfw sg_rule can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Sg/rule:Rule sg_rule rule_id + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Sg/rule:Rule")] + public partial class Rule : global::Pulumi.CustomResource + { + /// + /// Creates rule data. + /// + [Output("data")] + public Output Data { get; private set; } = null!; + + /// + /// Rule status. `0` is off, `1` is on. This parameter is not required or is 1 when creating. + /// + [Output("enable")] + public Output Enable { get; private set; } = null!; + + + /// + /// Create a Rule 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 Rule(string name, RuleArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Sg/rule:Rule", name, args ?? new RuleArgs(), MakeResourceOptions(options, "")) + { + } + + private Rule(string name, Input id, RuleState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Sg/rule:Rule", 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 Rule 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 Rule Get(string name, Input id, RuleState? state = null, CustomResourceOptions? options = null) + { + return new Rule(name, id, state, options); + } + } + + public sealed class RuleArgs : global::Pulumi.ResourceArgs + { + /// + /// Creates rule data. + /// + [Input("data", required: true)] + public Input Data { get; set; } = null!; + + /// + /// Rule status. `0` is off, `1` is on. This parameter is not required or is 1 when creating. + /// + [Input("enable")] + public Input? Enable { get; set; } + + public RuleArgs() + { + } + public static new RuleArgs Empty => new RuleArgs(); + } + + public sealed class RuleState : global::Pulumi.ResourceArgs + { + /// + /// Creates rule data. + /// + [Input("data")] + public Input? Data { get; set; } + + /// + /// Rule status. `0` is off, `1` is on. This parameter is not required or is 1 when creating. + /// + [Input("enable")] + public Input? Enable { get; set; } + + public RuleState() + { + } + public static new RuleState Empty => new RuleState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Sqlserver/Instance.cs b/sdk/dotnet/Tencentcloud/Sqlserver/Instance.cs index e5aece619..86cef2690 100644 --- a/sdk/dotnet/Tencentcloud/Sqlserver/Instance.cs +++ b/sdk/dotnet/Tencentcloud/Sqlserver/Instance.cs @@ -106,7 +106,7 @@ public partial class Instance : global::Pulumi.CustomResource public Output EngineVersion { get; private set; } = null!; /// - /// Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. + /// It has been deprecated from version 1.81.136. Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. /// [Output("haType")] public Output HaType { get; private set; } = null!; @@ -139,7 +139,7 @@ public partial class Instance : global::Pulumi.CustomResource /// Indicate whether to deploy across availability zones. /// [Output("multiZones")] - public Output MultiZones { get; private set; } = null!; + public Output MultiZones { get; private set; } = null!; /// /// Name of the SQL Server instance. @@ -303,7 +303,7 @@ public sealed class InstanceArgs : global::Pulumi.ResourceArgs public Input? EngineVersion { get; set; } /// - /// Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. + /// It has been deprecated from version 1.81.136. Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. /// [Input("haType")] public Input? HaType { get; set; } @@ -467,7 +467,7 @@ public sealed class InstanceState : global::Pulumi.ResourceArgs public Input? EngineVersion { get; set; } /// - /// Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. + /// It has been deprecated from version 1.81.136. Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. /// [Input("haType")] public Input? HaType { get; set; } diff --git a/sdk/dotnet/Tencentcloud/Ssl/CheckCertificateDomainVerificationOperation.cs b/sdk/dotnet/Tencentcloud/Ssl/CheckCertificateDomainVerificationOperation.cs new file mode 100644 index 000000000..fb76331cf --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ssl/CheckCertificateDomainVerificationOperation.cs @@ -0,0 +1,159 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Ssl +{ + /// + /// Provides a resource to create a ssl Check Certificate Domain Verification + /// + /// > **NOTE:** You can customize the maximum timeout time by setting parameter `timeouts`, which defaults to 15 minutes. + /// + /// ## Example Usage + /// + /// ### Check certificate domain + /// + /// <!--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.Ssl.CheckCertificateDomainVerificationOperation("example", new() + /// { + /// CertificateId = "6BE701Jx", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Check certificate domain and set the maximum timeout period + /// + /// <!--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.Ssl.CheckCertificateDomainVerificationOperation("example", new() + /// { + /// CertificateId = "6BE701Jx", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + [TencentcloudResourceType("tencentcloud:Ssl/checkCertificateDomainVerificationOperation:CheckCertificateDomainVerificationOperation")] + public partial class CheckCertificateDomainVerificationOperation : global::Pulumi.CustomResource + { + /// + /// The certificate ID. + /// + [Output("certificateId")] + public Output CertificateId { get; private set; } = null!; + + /// + /// Domain name verification results. + /// + [Output("verificationResults")] + public Output> VerificationResults { get; private set; } = null!; + + + /// + /// Create a CheckCertificateDomainVerificationOperation 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 CheckCertificateDomainVerificationOperation(string name, CheckCertificateDomainVerificationOperationArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Ssl/checkCertificateDomainVerificationOperation:CheckCertificateDomainVerificationOperation", name, args ?? new CheckCertificateDomainVerificationOperationArgs(), MakeResourceOptions(options, "")) + { + } + + private CheckCertificateDomainVerificationOperation(string name, Input id, CheckCertificateDomainVerificationOperationState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Ssl/checkCertificateDomainVerificationOperation:CheckCertificateDomainVerificationOperation", 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 CheckCertificateDomainVerificationOperation 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 CheckCertificateDomainVerificationOperation Get(string name, Input id, CheckCertificateDomainVerificationOperationState? state = null, CustomResourceOptions? options = null) + { + return new CheckCertificateDomainVerificationOperation(name, id, state, options); + } + } + + public sealed class CheckCertificateDomainVerificationOperationArgs : global::Pulumi.ResourceArgs + { + /// + /// The certificate ID. + /// + [Input("certificateId", required: true)] + public Input CertificateId { get; set; } = null!; + + public CheckCertificateDomainVerificationOperationArgs() + { + } + public static new CheckCertificateDomainVerificationOperationArgs Empty => new CheckCertificateDomainVerificationOperationArgs(); + } + + public sealed class CheckCertificateDomainVerificationOperationState : global::Pulumi.ResourceArgs + { + /// + /// The certificate ID. + /// + [Input("certificateId")] + public Input? CertificateId { get; set; } + + [Input("verificationResults")] + private InputList? _verificationResults; + + /// + /// Domain name verification results. + /// + public InputList VerificationResults + { + get => _verificationResults ?? (_verificationResults = new InputList()); + set => _verificationResults = value; + } + + public CheckCertificateDomainVerificationOperationState() + { + } + public static new CheckCertificateDomainVerificationOperationState Empty => new CheckCertificateDomainVerificationOperationState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Ssl/Inputs/CheckCertificateDomainVerificationOperationVerificationResultArgs.cs b/sdk/dotnet/Tencentcloud/Ssl/Inputs/CheckCertificateDomainVerificationOperationVerificationResultArgs.cs new file mode 100644 index 000000000..bf190cb87 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ssl/Inputs/CheckCertificateDomainVerificationOperationVerificationResultArgs.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.Ssl.Inputs +{ + + public sealed class CheckCertificateDomainVerificationOperationVerificationResultArgs : global::Pulumi.ResourceArgs + { + /// + /// CA inspection results. + /// + [Input("caCheck")] + public Input? CaCheck { get; set; } + + [Input("checkValues")] + private InputList? _checkValues; + + /// + /// Detected values. + /// + public InputList CheckValues + { + get => _checkValues ?? (_checkValues = new InputList()); + set => _checkValues = value; + } + + /// + /// Domain name. + /// + [Input("domain")] + public Input? Domain { get; set; } + + /// + /// Whether frequent requests. + /// + [Input("frequently")] + public Input? Frequently { get; set; } + + /// + /// Whether issued. + /// + [Input("issued")] + public Input? Issued { get; set; } + + /// + /// Local inspection results. + /// + [Input("localCheck")] + public Input? LocalCheck { get; set; } + + /// + /// Check the reason for the failure. + /// + [Input("localCheckFailReason")] + public Input? LocalCheckFailReason { get; set; } + + /// + /// Domain Verify Type. + /// + [Input("verifyType")] + public Input? VerifyType { get; set; } + + public CheckCertificateDomainVerificationOperationVerificationResultArgs() + { + } + public static new CheckCertificateDomainVerificationOperationVerificationResultArgs Empty => new CheckCertificateDomainVerificationOperationVerificationResultArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Ssl/Inputs/CheckCertificateDomainVerificationOperationVerificationResultGetArgs.cs b/sdk/dotnet/Tencentcloud/Ssl/Inputs/CheckCertificateDomainVerificationOperationVerificationResultGetArgs.cs new file mode 100644 index 000000000..6dd0362a7 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ssl/Inputs/CheckCertificateDomainVerificationOperationVerificationResultGetArgs.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.Ssl.Inputs +{ + + public sealed class CheckCertificateDomainVerificationOperationVerificationResultGetArgs : global::Pulumi.ResourceArgs + { + /// + /// CA inspection results. + /// + [Input("caCheck")] + public Input? CaCheck { get; set; } + + [Input("checkValues")] + private InputList? _checkValues; + + /// + /// Detected values. + /// + public InputList CheckValues + { + get => _checkValues ?? (_checkValues = new InputList()); + set => _checkValues = value; + } + + /// + /// Domain name. + /// + [Input("domain")] + public Input? Domain { get; set; } + + /// + /// Whether frequent requests. + /// + [Input("frequently")] + public Input? Frequently { get; set; } + + /// + /// Whether issued. + /// + [Input("issued")] + public Input? Issued { get; set; } + + /// + /// Local inspection results. + /// + [Input("localCheck")] + public Input? LocalCheck { get; set; } + + /// + /// Check the reason for the failure. + /// + [Input("localCheckFailReason")] + public Input? LocalCheckFailReason { get; set; } + + /// + /// Domain Verify Type. + /// + [Input("verifyType")] + public Input? VerifyType { get; set; } + + public CheckCertificateDomainVerificationOperationVerificationResultGetArgs() + { + } + public static new CheckCertificateDomainVerificationOperationVerificationResultGetArgs Empty => new CheckCertificateDomainVerificationOperationVerificationResultGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Ssl/Outputs/CheckCertificateDomainVerificationOperationVerificationResult.cs b/sdk/dotnet/Tencentcloud/Ssl/Outputs/CheckCertificateDomainVerificationOperationVerificationResult.cs new file mode 100644 index 000000000..0629cb400 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ssl/Outputs/CheckCertificateDomainVerificationOperationVerificationResult.cs @@ -0,0 +1,78 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Ssl.Outputs +{ + + [OutputType] + public sealed class CheckCertificateDomainVerificationOperationVerificationResult + { + /// + /// CA inspection results. + /// + public readonly int? CaCheck; + /// + /// Detected values. + /// + public readonly ImmutableArray CheckValues; + /// + /// Domain name. + /// + public readonly string? Domain; + /// + /// Whether frequent requests. + /// + public readonly bool? Frequently; + /// + /// Whether issued. + /// + public readonly bool? Issued; + /// + /// Local inspection results. + /// + public readonly int? LocalCheck; + /// + /// Check the reason for the failure. + /// + public readonly string? LocalCheckFailReason; + /// + /// Domain Verify Type. + /// + public readonly string? VerifyType; + + [OutputConstructor] + private CheckCertificateDomainVerificationOperationVerificationResult( + int? caCheck, + + ImmutableArray checkValues, + + string? domain, + + bool? frequently, + + bool? issued, + + int? localCheck, + + string? localCheckFailReason, + + string? verifyType) + { + CaCheck = caCheck; + CheckValues = checkValues; + Domain = domain; + Frequently = frequently; + Issued = issued; + LocalCheck = localCheck; + LocalCheckFailReason = localCheckFailReason; + VerifyType = verifyType; + } + } +} 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/Subscribe/PrivateZoneService.cs b/sdk/dotnet/Tencentcloud/Subscribe/PrivateZoneService.cs new file mode 100644 index 000000000..209fce7d0 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Subscribe/PrivateZoneService.cs @@ -0,0 +1,108 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Subscribe +{ + /// + /// Provides a resource to create a privatedns subscribe private zone service + /// + /// ## 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.Subscribe.PrivateZoneService("example"); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + [TencentcloudResourceType("tencentcloud:Subscribe/privateZoneService:PrivateZoneService")] + public partial class PrivateZoneService : global::Pulumi.CustomResource + { + /// + /// Private domain resolution service activation status. + /// + [Output("serviceStatus")] + public Output ServiceStatus { get; private set; } = null!; + + + /// + /// Create a PrivateZoneService 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 PrivateZoneService(string name, PrivateZoneServiceArgs? args = null, CustomResourceOptions? options = null) + : base("tencentcloud:Subscribe/privateZoneService:PrivateZoneService", name, args ?? new PrivateZoneServiceArgs(), MakeResourceOptions(options, "")) + { + } + + private PrivateZoneService(string name, Input id, PrivateZoneServiceState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Subscribe/privateZoneService:PrivateZoneService", 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 PrivateZoneService 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 PrivateZoneService Get(string name, Input id, PrivateZoneServiceState? state = null, CustomResourceOptions? options = null) + { + return new PrivateZoneService(name, id, state, options); + } + } + + public sealed class PrivateZoneServiceArgs : global::Pulumi.ResourceArgs + { + public PrivateZoneServiceArgs() + { + } + public static new PrivateZoneServiceArgs Empty => new PrivateZoneServiceArgs(); + } + + public sealed class PrivateZoneServiceState : global::Pulumi.ResourceArgs + { + /// + /// Private domain resolution service activation status. + /// + [Input("serviceStatus")] + public Input? ServiceStatus { get; set; } + + public PrivateZoneServiceState() + { + } + public static new PrivateZoneServiceState Empty => new PrivateZoneServiceState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Subscribe/README.md b/sdk/dotnet/Tencentcloud/Subscribe/README.md new file mode 100644 index 000000000..d8b61905c --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Subscribe/README.md @@ -0,0 +1 @@ +A Pulumi package for creating and managing Tencent Cloud resources. diff --git a/sdk/dotnet/Tencentcloud/Tcr/TagRetentionRule.cs b/sdk/dotnet/Tencentcloud/Tcr/TagRetentionRule.cs index b2b2508e3..6eb844313 100644 --- a/sdk/dotnet/Tencentcloud/Tcr/TagRetentionRule.cs +++ b/sdk/dotnet/Tencentcloud/Tcr/TagRetentionRule.cs @@ -15,7 +15,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Tcr /// /// ## Example Usage /// - /// ### Create a tcr tag retention rule instance + /// ### Create and enable a tcr tag retention rule instance /// /// <!--Start PulumiCodeChooser --> /// ```csharp @@ -62,7 +62,6 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Tcr /// Value = 2, /// }, /// CronSetting = "daily", - /// Disabled = true, /// }); /// /// }); diff --git a/sdk/dotnet/Tencentcloud/Tcss/ImageRegistry.cs b/sdk/dotnet/Tencentcloud/Tcss/ImageRegistry.cs new file mode 100644 index 000000000..e8366e149 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Tcss/ImageRegistry.cs @@ -0,0 +1,378 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Tcss +{ + /// + /// Provides a resource to create a tcss image registry + /// + /// ## 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.Tcss.ImageRegistry("example", new() + /// { + /// ConnDetectConfigs = new[] + /// { + /// new Tencentcloud.Tcss.Inputs.ImageRegistryConnDetectConfigArgs + /// { + /// Quuid = "backend", + /// Uuid = "backend", + /// }, + /// }, + /// NeedScan = true, + /// NetType = "public", + /// Password = "Password@demo", + /// RegistryRegion = "default", + /// RegistryType = "harbor", + /// RegistryVersion = "V1", + /// Url = "https://example.com", + /// Username = "root", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + [TencentcloudResourceType("tencentcloud:Tcss/imageRegistry:ImageRegistry")] + public partial class ImageRegistry : global::Pulumi.CustomResource + { + /// + /// Connectivity detection configuration. + /// + [Output("connDetectConfigs")] + public Output> ConnDetectConfigs { get; private set; } = null!; + + /// + /// Valid values: `0` (secure mode with certificate verification, which is the default value); `1` (unsecure mode that skips certificate verification). + /// + [Output("insecure")] + public Output Insecure { get; private set; } = null!; + + /// + /// Repository name. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Whether to scan the latest image. + /// + [Output("needScan")] + public Output NeedScan { get; private set; } = null!; + + /// + /// Network type, which can be `public` (public network). + /// + [Output("netType")] + public Output NetType { get; private set; } = null!; + + /// + /// Password. + /// + [Output("password")] + public Output Password { get; private set; } = null!; + + /// + /// Region. Default value: `default`. + /// + [Output("registryRegion")] + public Output RegistryRegion { get; private set; } = null!; + + /// + /// Repository type, which can be `harbor`. Valid values: harbor, quay, jfrog, aws, azure, other-tcr. + /// + [Output("registryType")] + public Output RegistryType { get; private set; } = null!; + + /// + /// Repository version. + /// + [Output("registryVersion")] + public Output RegistryVersion { get; private set; } = null!; + + /// + /// Speed limit. + /// + [Output("speedLimit")] + public Output SpeedLimit { get; private set; } = null!; + + /// + /// Sync status. + /// + [Output("syncStatus")] + public Output SyncStatus { get; private set; } = null!; + + /// + /// Repository URL. + /// + [Output("url")] + public Output Url { get; private set; } = null!; + + /// + /// Username. + /// + [Output("username")] + public Output Username { get; private set; } = null!; + + + /// + /// Create a ImageRegistry 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 ImageRegistry(string name, ImageRegistryArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Tcss/imageRegistry:ImageRegistry", name, args ?? new ImageRegistryArgs(), MakeResourceOptions(options, "")) + { + } + + private ImageRegistry(string name, Input id, ImageRegistryState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Tcss/imageRegistry:ImageRegistry", 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 ImageRegistry 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 ImageRegistry Get(string name, Input id, ImageRegistryState? state = null, CustomResourceOptions? options = null) + { + return new ImageRegistry(name, id, state, options); + } + } + + public sealed class ImageRegistryArgs : global::Pulumi.ResourceArgs + { + [Input("connDetectConfigs")] + private InputList? _connDetectConfigs; + + /// + /// Connectivity detection configuration. + /// + public InputList ConnDetectConfigs + { + get => _connDetectConfigs ?? (_connDetectConfigs = new InputList()); + set => _connDetectConfigs = value; + } + + /// + /// Valid values: `0` (secure mode with certificate verification, which is the default value); `1` (unsecure mode that skips certificate verification). + /// + [Input("insecure")] + public Input? Insecure { get; set; } + + /// + /// Repository name. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Whether to scan the latest image. + /// + [Input("needScan")] + public Input? NeedScan { get; set; } + + /// + /// Network type, which can be `public` (public network). + /// + [Input("netType", required: true)] + public Input NetType { get; set; } = null!; + + [Input("password", required: true)] + private Input? _password; + + /// + /// Password. + /// + public Input? Password + { + get => _password; + set + { + var emptySecret = Output.CreateSecret(0); + _password = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// Region. Default value: `default`. + /// + [Input("registryRegion")] + public Input? RegistryRegion { get; set; } + + /// + /// Repository type, which can be `harbor`. Valid values: harbor, quay, jfrog, aws, azure, other-tcr. + /// + [Input("registryType", required: true)] + public Input RegistryType { get; set; } = null!; + + /// + /// Repository version. + /// + [Input("registryVersion")] + public Input? RegistryVersion { get; set; } + + /// + /// Speed limit. + /// + [Input("speedLimit")] + public Input? SpeedLimit { get; set; } + + /// + /// Repository URL. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + /// + /// Username. + /// + [Input("username", required: true)] + public Input Username { get; set; } = null!; + + public ImageRegistryArgs() + { + } + public static new ImageRegistryArgs Empty => new ImageRegistryArgs(); + } + + public sealed class ImageRegistryState : global::Pulumi.ResourceArgs + { + [Input("connDetectConfigs")] + private InputList? _connDetectConfigs; + + /// + /// Connectivity detection configuration. + /// + public InputList ConnDetectConfigs + { + get => _connDetectConfigs ?? (_connDetectConfigs = new InputList()); + set => _connDetectConfigs = value; + } + + /// + /// Valid values: `0` (secure mode with certificate verification, which is the default value); `1` (unsecure mode that skips certificate verification). + /// + [Input("insecure")] + public Input? Insecure { get; set; } + + /// + /// Repository name. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Whether to scan the latest image. + /// + [Input("needScan")] + public Input? NeedScan { get; set; } + + /// + /// Network type, which can be `public` (public network). + /// + [Input("netType")] + public Input? NetType { get; set; } + + [Input("password")] + private Input? _password; + + /// + /// Password. + /// + public Input? Password + { + get => _password; + set + { + var emptySecret = Output.CreateSecret(0); + _password = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// Region. Default value: `default`. + /// + [Input("registryRegion")] + public Input? RegistryRegion { get; set; } + + /// + /// Repository type, which can be `harbor`. Valid values: harbor, quay, jfrog, aws, azure, other-tcr. + /// + [Input("registryType")] + public Input? RegistryType { get; set; } + + /// + /// Repository version. + /// + [Input("registryVersion")] + public Input? RegistryVersion { get; set; } + + /// + /// Speed limit. + /// + [Input("speedLimit")] + public Input? SpeedLimit { get; set; } + + /// + /// Sync status. + /// + [Input("syncStatus")] + public Input? SyncStatus { get; set; } + + /// + /// Repository URL. + /// + [Input("url")] + public Input? Url { get; set; } + + /// + /// Username. + /// + [Input("username")] + public Input? Username { get; set; } + + public ImageRegistryState() + { + } + public static new ImageRegistryState Empty => new ImageRegistryState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Tcss/Inputs/ImageRegistryConnDetectConfigArgs.cs b/sdk/dotnet/Tencentcloud/Tcss/Inputs/ImageRegistryConnDetectConfigArgs.cs new file mode 100644 index 000000000..cb85014ba --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Tcss/Inputs/ImageRegistryConnDetectConfigArgs.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.Tcss.Inputs +{ + + public sealed class ImageRegistryConnDetectConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// Host Quuid. + /// + [Input("quuid")] + public Input? Quuid { get; set; } + + /// + /// Host uuid. + /// + [Input("uuid")] + public Input? Uuid { get; set; } + + public ImageRegistryConnDetectConfigArgs() + { + } + public static new ImageRegistryConnDetectConfigArgs Empty => new ImageRegistryConnDetectConfigArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Tcss/Inputs/ImageRegistryConnDetectConfigGetArgs.cs b/sdk/dotnet/Tencentcloud/Tcss/Inputs/ImageRegistryConnDetectConfigGetArgs.cs new file mode 100644 index 000000000..6f55f3a61 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Tcss/Inputs/ImageRegistryConnDetectConfigGetArgs.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.Tcss.Inputs +{ + + public sealed class ImageRegistryConnDetectConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Host Quuid. + /// + [Input("quuid")] + public Input? Quuid { get; set; } + + /// + /// Host uuid. + /// + [Input("uuid")] + public Input? Uuid { get; set; } + + public ImageRegistryConnDetectConfigGetArgs() + { + } + public static new ImageRegistryConnDetectConfigGetArgs Empty => new ImageRegistryConnDetectConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Tcss/Outputs/ImageRegistryConnDetectConfig.cs b/sdk/dotnet/Tencentcloud/Tcss/Outputs/ImageRegistryConnDetectConfig.cs new file mode 100644 index 000000000..9998d28c1 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Tcss/Outputs/ImageRegistryConnDetectConfig.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.Tcss.Outputs +{ + + [OutputType] + public sealed class ImageRegistryConnDetectConfig + { + /// + /// Host Quuid. + /// + public readonly string? Quuid; + /// + /// Host uuid. + /// + public readonly string? Uuid; + + [OutputConstructor] + private ImageRegistryConnDetectConfig( + string? quuid, + + string? uuid) + { + Quuid = quuid; + Uuid = uuid; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Tcss/README.md b/sdk/dotnet/Tencentcloud/Tcss/README.md new file mode 100644 index 000000000..d8b61905c --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Tcss/README.md @@ -0,0 +1 @@ +A Pulumi package for creating and managing Tencent Cloud resources. 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/Teo/Function.cs b/sdk/dotnet/Tencentcloud/Teo/Function.cs new file mode 100644 index 000000000..b5a8a41d9 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Function.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.Teo +{ + /// + /// Provides a resource to create a teo teo_function + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var teoFunction = new Tencentcloud.Teo.Function("teoFunction", new() + /// { + /// Content = @" addEventListener('fetch', e => { + /// const response = new Response('Hello World!!'); + /// e.respondWith(response); + /// }); + /// + /// ", + /// Remark = "test", + /// ZoneId = "zone-2qtuhspy7cr6", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// teo teo_function can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Teo/function:Function teo_function zone_id#function_id + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Teo/function:Function")] + public partial class Function : global::Pulumi.CustomResource + { + /// + /// Function content, currently only supports JavaScript code, with a maximum size of 5MB. + /// + [Output("content")] + public Output Content { get; private set; } = null!; + + /// + /// Creation time. The time is in Coordinated Universal Time (UTC) and follows the date and time format specified by the ISO 8601 standard. + /// + [Output("createTime")] + public Output CreateTime { get; private set; } = null!; + + /// + /// The default domain name for the function. + /// + [Output("domain")] + public Output Domain { get; private set; } = null!; + + /// + /// ID of the Function. + /// + [Output("functionId")] + public Output FunctionId { get; private set; } = null!; + + /// + /// Function name. It can only contain lowercase letters, numbers, hyphens, must start and end with a letter or number, and can have a maximum length of 30 characters. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Function description, maximum support of 60 characters. + /// + [Output("remark")] + public Output Remark { get; private set; } = null!; + + /// + /// Modification time. The time is in Coordinated Universal Time (UTC) and follows the date and time format specified by the ISO 8601 standard. + /// + [Output("updateTime")] + public Output UpdateTime { get; private set; } = null!; + + /// + /// ID of the site. + /// + [Output("zoneId")] + public Output ZoneId { get; private set; } = null!; + + + /// + /// Create a Function 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 Function(string name, FunctionArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Teo/function:Function", name, args ?? new FunctionArgs(), MakeResourceOptions(options, "")) + { + } + + private Function(string name, Input id, FunctionState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Teo/function:Function", 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 Function 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 Function Get(string name, Input id, FunctionState? state = null, CustomResourceOptions? options = null) + { + return new Function(name, id, state, options); + } + } + + public sealed class FunctionArgs : global::Pulumi.ResourceArgs + { + /// + /// Function content, currently only supports JavaScript code, with a maximum size of 5MB. + /// + [Input("content", required: true)] + public Input Content { get; set; } = null!; + + /// + /// Function name. It can only contain lowercase letters, numbers, hyphens, must start and end with a letter or number, and can have a maximum length of 30 characters. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Function description, maximum support of 60 characters. + /// + [Input("remark")] + public Input? Remark { get; set; } + + /// + /// ID of the site. + /// + [Input("zoneId", required: true)] + public Input ZoneId { get; set; } = null!; + + public FunctionArgs() + { + } + public static new FunctionArgs Empty => new FunctionArgs(); + } + + public sealed class FunctionState : global::Pulumi.ResourceArgs + { + /// + /// Function content, currently only supports JavaScript code, with a maximum size of 5MB. + /// + [Input("content")] + public Input? Content { get; set; } + + /// + /// Creation time. The time is in Coordinated Universal Time (UTC) and follows the date and time format specified by the ISO 8601 standard. + /// + [Input("createTime")] + public Input? CreateTime { get; set; } + + /// + /// The default domain name for the function. + /// + [Input("domain")] + public Input? Domain { get; set; } + + /// + /// ID of the Function. + /// + [Input("functionId")] + public Input? FunctionId { get; set; } + + /// + /// Function name. It can only contain lowercase letters, numbers, hyphens, must start and end with a letter or number, and can have a maximum length of 30 characters. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Function description, maximum support of 60 characters. + /// + [Input("remark")] + public Input? Remark { get; set; } + + /// + /// Modification time. The time is in Coordinated Universal Time (UTC) and follows the date and time format specified by the ISO 8601 standard. + /// + [Input("updateTime")] + public Input? UpdateTime { get; set; } + + /// + /// ID of the site. + /// + [Input("zoneId")] + public Input? ZoneId { get; set; } + + public FunctionState() + { + } + public static new FunctionState Empty => new FunctionState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/FunctionRule.cs b/sdk/dotnet/Tencentcloud/Teo/FunctionRule.cs new file mode 100644 index 000000000..c18d53b3d --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/FunctionRule.cs @@ -0,0 +1,288 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo +{ + /// + /// Provides a resource to create a teo teo_function_rule + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var teoFunctionRule = new Tencentcloud.Teo.FunctionRule("teoFunctionRule", new() + /// { + /// FunctionId = "ef-txx7fnua", + /// Remark = "aaa", + /// ZoneId = "zone-2qtuhspy7cr6", + /// FunctionRuleConditions = new[] + /// { + /// new Tencentcloud.Teo.Inputs.FunctionRuleFunctionRuleConditionArgs + /// { + /// RuleConditions = new[] + /// { + /// new Tencentcloud.Teo.Inputs.FunctionRuleFunctionRuleConditionRuleConditionArgs + /// { + /// IgnoreCase = false, + /// Name = null, + /// Operator = "equal", + /// Target = "host", + /// Values = new[] + /// { + /// "aaa.makn.cn", + /// }, + /// }, + /// new Tencentcloud.Teo.Inputs.FunctionRuleFunctionRuleConditionRuleConditionArgs + /// { + /// IgnoreCase = false, + /// Name = null, + /// Operator = "equal", + /// Target = "extension", + /// Values = new[] + /// { + /// ".txt", + /// }, + /// }, + /// }, + /// }, + /// new Tencentcloud.Teo.Inputs.FunctionRuleFunctionRuleConditionArgs + /// { + /// RuleConditions = new[] + /// { + /// new Tencentcloud.Teo.Inputs.FunctionRuleFunctionRuleConditionRuleConditionArgs + /// { + /// IgnoreCase = false, + /// Name = null, + /// Operator = "notequal", + /// Target = "host", + /// Values = new[] + /// { + /// "aaa.makn.cn", + /// }, + /// }, + /// new Tencentcloud.Teo.Inputs.FunctionRuleFunctionRuleConditionRuleConditionArgs + /// { + /// IgnoreCase = false, + /// Name = null, + /// Operator = "equal", + /// Target = "extension", + /// Values = new[] + /// { + /// ".png", + /// }, + /// }, + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// teo teo_function_rule can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Teo/functionRule:FunctionRule teo_function_rule zone_id#function_id#rule_id + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Teo/functionRule:FunctionRule")] + public partial class FunctionRule : global::Pulumi.CustomResource + { + /// + /// ID of the Function. + /// + [Output("functionId")] + public Output FunctionId { get; private set; } = null!; + + /// + /// The name of the function. + /// + [Output("functionName")] + public Output FunctionName { get; private set; } = null!; + + /// + /// The list of rule conditions, where the conditions are connected by an "OR" relationship. + /// + [Output("functionRuleConditions")] + public Output> FunctionRuleConditions { get; private set; } = null!; + + /// + /// The priority of the function trigger rule. A higher numerical value indicates a higher priority. + /// + [Output("priority")] + public Output Priority { get; private set; } = null!; + + /// + /// Rule description, maximum support of 60 characters. + /// + [Output("remark")] + public Output Remark { get; private set; } = null!; + + /// + /// ID of the Function Rule. + /// + [Output("ruleId")] + public Output RuleId { get; private set; } = null!; + + /// + /// ID of the site. + /// + [Output("zoneId")] + public Output ZoneId { get; private set; } = null!; + + + /// + /// Create a FunctionRule 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 FunctionRule(string name, FunctionRuleArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Teo/functionRule:FunctionRule", name, args ?? new FunctionRuleArgs(), MakeResourceOptions(options, "")) + { + } + + private FunctionRule(string name, Input id, FunctionRuleState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Teo/functionRule:FunctionRule", 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 FunctionRule 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 FunctionRule Get(string name, Input id, FunctionRuleState? state = null, CustomResourceOptions? options = null) + { + return new FunctionRule(name, id, state, options); + } + } + + public sealed class FunctionRuleArgs : global::Pulumi.ResourceArgs + { + /// + /// ID of the Function. + /// + [Input("functionId", required: true)] + public Input FunctionId { get; set; } = null!; + + [Input("functionRuleConditions", required: true)] + private InputList? _functionRuleConditions; + + /// + /// The list of rule conditions, where the conditions are connected by an "OR" relationship. + /// + public InputList FunctionRuleConditions + { + get => _functionRuleConditions ?? (_functionRuleConditions = new InputList()); + set => _functionRuleConditions = value; + } + + /// + /// Rule description, maximum support of 60 characters. + /// + [Input("remark")] + public Input? Remark { get; set; } + + /// + /// ID of the site. + /// + [Input("zoneId", required: true)] + public Input ZoneId { get; set; } = null!; + + public FunctionRuleArgs() + { + } + public static new FunctionRuleArgs Empty => new FunctionRuleArgs(); + } + + public sealed class FunctionRuleState : global::Pulumi.ResourceArgs + { + /// + /// ID of the Function. + /// + [Input("functionId")] + public Input? FunctionId { get; set; } + + /// + /// The name of the function. + /// + [Input("functionName")] + public Input? FunctionName { get; set; } + + [Input("functionRuleConditions")] + private InputList? _functionRuleConditions; + + /// + /// The list of rule conditions, where the conditions are connected by an "OR" relationship. + /// + public InputList FunctionRuleConditions + { + get => _functionRuleConditions ?? (_functionRuleConditions = new InputList()); + set => _functionRuleConditions = value; + } + + /// + /// The priority of the function trigger rule. A higher numerical value indicates a higher priority. + /// + [Input("priority")] + public Input? Priority { get; set; } + + /// + /// Rule description, maximum support of 60 characters. + /// + [Input("remark")] + public Input? Remark { get; set; } + + /// + /// ID of the Function Rule. + /// + [Input("ruleId")] + public Input? RuleId { get; set; } + + /// + /// ID of the site. + /// + [Input("zoneId")] + public Input? ZoneId { get; set; } + + public FunctionRuleState() + { + } + public static new FunctionRuleState Empty => new FunctionRuleState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/FunctionRulePriority.cs b/sdk/dotnet/Tencentcloud/Teo/FunctionRulePriority.cs new file mode 100644 index 000000000..3f682a3b9 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/FunctionRulePriority.cs @@ -0,0 +1,179 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo +{ + /// + /// Provides a resource to create a teo teo_function_rule_priority + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var teoFunctionRulePriority = new Tencentcloud.Teo.FunctionRulePriority("teoFunctionRulePriority", new() + /// { + /// FunctionId = "ef-txx7fnua", + /// RuleIds = new[] + /// { + /// "rule-equpbht3", + /// "rule-ax28n3g6", + /// }, + /// ZoneId = "zone-2qtuhspy7cr6", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// teo teo_function_rule_priority can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Teo/functionRulePriority:FunctionRulePriority teo_function_rule_priority zone_id#function_id + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Teo/functionRulePriority:FunctionRulePriority")] + public partial class FunctionRulePriority : global::Pulumi.CustomResource + { + /// + /// ID of the Function. + /// + [Output("functionId")] + public Output FunctionId { get; private set; } = null!; + + /// + /// he list of rule IDs. It is required to include all rule IDs after adjusting their priorities. The execution order of multiple rules follows a top-down sequence. If not specified, the original priority order will be maintained. + /// + [Output("ruleIds")] + public Output> RuleIds { get; private set; } = null!; + + /// + /// ID of the site. + /// + [Output("zoneId")] + public Output ZoneId { get; private set; } = null!; + + + /// + /// Create a FunctionRulePriority 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 FunctionRulePriority(string name, FunctionRulePriorityArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Teo/functionRulePriority:FunctionRulePriority", name, args ?? new FunctionRulePriorityArgs(), MakeResourceOptions(options, "")) + { + } + + private FunctionRulePriority(string name, Input id, FunctionRulePriorityState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Teo/functionRulePriority:FunctionRulePriority", 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 FunctionRulePriority 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 FunctionRulePriority Get(string name, Input id, FunctionRulePriorityState? state = null, CustomResourceOptions? options = null) + { + return new FunctionRulePriority(name, id, state, options); + } + } + + public sealed class FunctionRulePriorityArgs : global::Pulumi.ResourceArgs + { + /// + /// ID of the Function. + /// + [Input("functionId", required: true)] + public Input FunctionId { get; set; } = null!; + + [Input("ruleIds", required: true)] + private InputList? _ruleIds; + + /// + /// he list of rule IDs. It is required to include all rule IDs after adjusting their priorities. The execution order of multiple rules follows a top-down sequence. If not specified, the original priority order will be maintained. + /// + public InputList RuleIds + { + get => _ruleIds ?? (_ruleIds = new InputList()); + set => _ruleIds = value; + } + + /// + /// ID of the site. + /// + [Input("zoneId", required: true)] + public Input ZoneId { get; set; } = null!; + + public FunctionRulePriorityArgs() + { + } + public static new FunctionRulePriorityArgs Empty => new FunctionRulePriorityArgs(); + } + + public sealed class FunctionRulePriorityState : global::Pulumi.ResourceArgs + { + /// + /// ID of the Function. + /// + [Input("functionId")] + public Input? FunctionId { get; set; } + + [Input("ruleIds")] + private InputList? _ruleIds; + + /// + /// he list of rule IDs. It is required to include all rule IDs after adjusting their priorities. The execution order of multiple rules follows a top-down sequence. If not specified, the original priority order will be maintained. + /// + public InputList RuleIds + { + get => _ruleIds ?? (_ruleIds = new InputList()); + set => _ruleIds = value; + } + + /// + /// ID of the site. + /// + [Input("zoneId")] + public Input? ZoneId { get; set; } + + public FunctionRulePriorityState() + { + } + public static new FunctionRulePriorityState Empty => new FunctionRulePriorityState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/FunctionRuntimeEnvironment.cs b/sdk/dotnet/Tencentcloud/Teo/FunctionRuntimeEnvironment.cs new file mode 100644 index 000000000..9cc17c129 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/FunctionRuntimeEnvironment.cs @@ -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! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo +{ + /// + /// Provides a resource to create a teo teo_function_runtime_environment + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var teoFunctionRuntimeEnvironment = new Tencentcloud.Teo.FunctionRuntimeEnvironment("teoFunctionRuntimeEnvironment", new() + /// { + /// EnvironmentVariables = new[] + /// { + /// new Tencentcloud.Teo.Inputs.FunctionRuntimeEnvironmentEnvironmentVariableArgs + /// { + /// Key = "test-a", + /// Type = "string", + /// Value = "AAA", + /// }, + /// new Tencentcloud.Teo.Inputs.FunctionRuntimeEnvironmentEnvironmentVariableArgs + /// { + /// Key = "test-b", + /// Type = "string", + /// Value = "BBB", + /// }, + /// }, + /// FunctionId = "ef-txx7fnua", + /// ZoneId = "zone-2qtuhspy7cr6", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// teo teo_function_runtime_environment can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Teo/functionRuntimeEnvironment:FunctionRuntimeEnvironment teo_function_runtime_environment zone_id#function_id + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Teo/functionRuntimeEnvironment:FunctionRuntimeEnvironment")] + public partial class FunctionRuntimeEnvironment : global::Pulumi.CustomResource + { + /// + /// The environment variable list. + /// + [Output("environmentVariables")] + public Output> EnvironmentVariables { get; private set; } = null!; + + /// + /// ID of the Function. + /// + [Output("functionId")] + public Output FunctionId { get; private set; } = null!; + + /// + /// ID of the site. + /// + [Output("zoneId")] + public Output ZoneId { get; private set; } = null!; + + + /// + /// Create a FunctionRuntimeEnvironment 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 FunctionRuntimeEnvironment(string name, FunctionRuntimeEnvironmentArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Teo/functionRuntimeEnvironment:FunctionRuntimeEnvironment", name, args ?? new FunctionRuntimeEnvironmentArgs(), MakeResourceOptions(options, "")) + { + } + + private FunctionRuntimeEnvironment(string name, Input id, FunctionRuntimeEnvironmentState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Teo/functionRuntimeEnvironment:FunctionRuntimeEnvironment", 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 FunctionRuntimeEnvironment 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 FunctionRuntimeEnvironment Get(string name, Input id, FunctionRuntimeEnvironmentState? state = null, CustomResourceOptions? options = null) + { + return new FunctionRuntimeEnvironment(name, id, state, options); + } + } + + public sealed class FunctionRuntimeEnvironmentArgs : global::Pulumi.ResourceArgs + { + [Input("environmentVariables", required: true)] + private InputList? _environmentVariables; + + /// + /// The environment variable list. + /// + public InputList EnvironmentVariables + { + get => _environmentVariables ?? (_environmentVariables = new InputList()); + set => _environmentVariables = value; + } + + /// + /// ID of the Function. + /// + [Input("functionId", required: true)] + public Input FunctionId { get; set; } = null!; + + /// + /// ID of the site. + /// + [Input("zoneId", required: true)] + public Input ZoneId { get; set; } = null!; + + public FunctionRuntimeEnvironmentArgs() + { + } + public static new FunctionRuntimeEnvironmentArgs Empty => new FunctionRuntimeEnvironmentArgs(); + } + + public sealed class FunctionRuntimeEnvironmentState : global::Pulumi.ResourceArgs + { + [Input("environmentVariables")] + private InputList? _environmentVariables; + + /// + /// The environment variable list. + /// + public InputList EnvironmentVariables + { + get => _environmentVariables ?? (_environmentVariables = new InputList()); + set => _environmentVariables = value; + } + + /// + /// ID of the Function. + /// + [Input("functionId")] + public Input? FunctionId { get; set; } + + /// + /// ID of the site. + /// + [Input("zoneId")] + public Input? ZoneId { get; set; } + + public FunctionRuntimeEnvironmentState() + { + } + public static new FunctionRuntimeEnvironmentState Empty => new FunctionRuntimeEnvironmentState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/Inputs/FunctionRuleFunctionRuleConditionArgs.cs b/sdk/dotnet/Tencentcloud/Teo/Inputs/FunctionRuleFunctionRuleConditionArgs.cs new file mode 100644 index 000000000..209c535f1 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Inputs/FunctionRuleFunctionRuleConditionArgs.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Inputs +{ + + public sealed class FunctionRuleFunctionRuleConditionArgs : global::Pulumi.ResourceArgs + { + [Input("ruleConditions", required: true)] + private InputList? _ruleConditions; + + /// + /// For edge function trigger rule conditions, if all items in the list are satisfied, then the condition is considered fulfilled. + /// + public InputList RuleConditions + { + get => _ruleConditions ?? (_ruleConditions = new InputList()); + set => _ruleConditions = value; + } + + public FunctionRuleFunctionRuleConditionArgs() + { + } + public static new FunctionRuleFunctionRuleConditionArgs Empty => new FunctionRuleFunctionRuleConditionArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/Inputs/FunctionRuleFunctionRuleConditionGetArgs.cs b/sdk/dotnet/Tencentcloud/Teo/Inputs/FunctionRuleFunctionRuleConditionGetArgs.cs new file mode 100644 index 000000000..d2f4faf08 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Inputs/FunctionRuleFunctionRuleConditionGetArgs.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Inputs +{ + + public sealed class FunctionRuleFunctionRuleConditionGetArgs : global::Pulumi.ResourceArgs + { + [Input("ruleConditions", required: true)] + private InputList? _ruleConditions; + + /// + /// For edge function trigger rule conditions, if all items in the list are satisfied, then the condition is considered fulfilled. + /// + public InputList RuleConditions + { + get => _ruleConditions ?? (_ruleConditions = new InputList()); + set => _ruleConditions = value; + } + + public FunctionRuleFunctionRuleConditionGetArgs() + { + } + public static new FunctionRuleFunctionRuleConditionGetArgs Empty => new FunctionRuleFunctionRuleConditionGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/Inputs/FunctionRuleFunctionRuleConditionRuleConditionArgs.cs b/sdk/dotnet/Tencentcloud/Teo/Inputs/FunctionRuleFunctionRuleConditionRuleConditionArgs.cs new file mode 100644 index 000000000..d577b2b42 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Inputs/FunctionRuleFunctionRuleConditionRuleConditionArgs.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Inputs +{ + + public sealed class FunctionRuleFunctionRuleConditionRuleConditionArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether the parameter value is case insensitive. Default value: false. + /// + [Input("ignoreCase")] + public Input? IgnoreCase { get; set; } + + /// + /// The parameter name of the match type. This field is required only when `Target=query_string/request_header`. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Operator. Valid values: + /// + [Input("operator", required: true)] + public Input Operator { get; set; } = null!; + + /// + /// The match type. Values: + /// + [Input("target", required: true)] + public Input Target { get; set; } = null!; + + [Input("values")] + private InputList? _values; + + /// + /// The parameter value of the match type. It can be an empty string only when `Target=query string/request header` and `Operator=exist/notexist`. + /// - When `Target=extension`, enter the file extension, such as "jpg" and "txt". + /// - When `Target=filename`, enter the file name, such as "foo" in "foo.jpg". + /// - When `Target=all`, it indicates any site request. + /// - When `Target=host`, enter the host under the current site, such as "www.maxx55.com". + /// - When `Target=url`, enter the partial URL path under the current site, such as "/example". + /// - When `Target=full_url`, enter the complete URL under the current site. It must contain the HTTP protocol, host, and path, such as "https://www.maxx55.cn/example". + /// - When `Target=client_country`, enter the ISO-3166 country/region code. + /// - When `Target=query_string`, enter the value of the query string, such as "cn" and "1" in "lang=cn&version=1". + /// - When `Target=request_header`, enter the HTTP request header value, such as "zh-CN,zh;q=0.9" in the "Accept-Language:zh-CN,zh;q=0.9" header. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public FunctionRuleFunctionRuleConditionRuleConditionArgs() + { + } + public static new FunctionRuleFunctionRuleConditionRuleConditionArgs Empty => new FunctionRuleFunctionRuleConditionRuleConditionArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/Inputs/FunctionRuleFunctionRuleConditionRuleConditionGetArgs.cs b/sdk/dotnet/Tencentcloud/Teo/Inputs/FunctionRuleFunctionRuleConditionRuleConditionGetArgs.cs new file mode 100644 index 000000000..54c99c903 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Inputs/FunctionRuleFunctionRuleConditionRuleConditionGetArgs.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Inputs +{ + + public sealed class FunctionRuleFunctionRuleConditionRuleConditionGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether the parameter value is case insensitive. Default value: false. + /// + [Input("ignoreCase")] + public Input? IgnoreCase { get; set; } + + /// + /// The parameter name of the match type. This field is required only when `Target=query_string/request_header`. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Operator. Valid values: + /// + [Input("operator", required: true)] + public Input Operator { get; set; } = null!; + + /// + /// The match type. Values: + /// + [Input("target", required: true)] + public Input Target { get; set; } = null!; + + [Input("values")] + private InputList? _values; + + /// + /// The parameter value of the match type. It can be an empty string only when `Target=query string/request header` and `Operator=exist/notexist`. + /// - When `Target=extension`, enter the file extension, such as "jpg" and "txt". + /// - When `Target=filename`, enter the file name, such as "foo" in "foo.jpg". + /// - When `Target=all`, it indicates any site request. + /// - When `Target=host`, enter the host under the current site, such as "www.maxx55.com". + /// - When `Target=url`, enter the partial URL path under the current site, such as "/example". + /// - When `Target=full_url`, enter the complete URL under the current site. It must contain the HTTP protocol, host, and path, such as "https://www.maxx55.cn/example". + /// - When `Target=client_country`, enter the ISO-3166 country/region code. + /// - When `Target=query_string`, enter the value of the query string, such as "cn" and "1" in "lang=cn&version=1". + /// - When `Target=request_header`, enter the HTTP request header value, such as "zh-CN,zh;q=0.9" in the "Accept-Language:zh-CN,zh;q=0.9" header. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public FunctionRuleFunctionRuleConditionRuleConditionGetArgs() + { + } + public static new FunctionRuleFunctionRuleConditionRuleConditionGetArgs Empty => new FunctionRuleFunctionRuleConditionRuleConditionGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/Inputs/FunctionRuntimeEnvironmentEnvironmentVariableArgs.cs b/sdk/dotnet/Tencentcloud/Teo/Inputs/FunctionRuntimeEnvironmentEnvironmentVariableArgs.cs new file mode 100644 index 000000000..6c2654adf --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Inputs/FunctionRuntimeEnvironmentEnvironmentVariableArgs.cs @@ -0,0 +1,39 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Inputs +{ + + public sealed class FunctionRuntimeEnvironmentEnvironmentVariableArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the variable, which is limited to alphanumeric characters and the special characters `@`, `.`, `-`, and `_`. It can have a maximum of 64 bytes and should not be duplicated. + /// + [Input("key", required: true)] + public Input Key { get; set; } = null!; + + /// + /// The type of the variable can have the following values: - `string`: Represents a string type. - `json`: Represents a JSON object type. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + /// + /// The value of the variable, which is limited to a maximum of 5000 bytes. The default value is empty. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public FunctionRuntimeEnvironmentEnvironmentVariableArgs() + { + } + public static new FunctionRuntimeEnvironmentEnvironmentVariableArgs Empty => new FunctionRuntimeEnvironmentEnvironmentVariableArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/Inputs/FunctionRuntimeEnvironmentEnvironmentVariableGetArgs.cs b/sdk/dotnet/Tencentcloud/Teo/Inputs/FunctionRuntimeEnvironmentEnvironmentVariableGetArgs.cs new file mode 100644 index 000000000..f05812f4a --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Inputs/FunctionRuntimeEnvironmentEnvironmentVariableGetArgs.cs @@ -0,0 +1,39 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Inputs +{ + + public sealed class FunctionRuntimeEnvironmentEnvironmentVariableGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the variable, which is limited to alphanumeric characters and the special characters `@`, `.`, `-`, and `_`. It can have a maximum of 64 bytes and should not be duplicated. + /// + [Input("key", required: true)] + public Input Key { get; set; } = null!; + + /// + /// The type of the variable can have the following values: - `string`: Represents a string type. - `json`: Represents a JSON object type. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + /// + /// The value of the variable, which is limited to a maximum of 5000 bytes. The default value is empty. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public FunctionRuntimeEnvironmentEnvironmentVariableGetArgs() + { + } + public static new FunctionRuntimeEnvironmentEnvironmentVariableGetArgs Empty => new FunctionRuntimeEnvironmentEnvironmentVariableGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/Inputs/SecurityIpGroupIpGroupArgs.cs b/sdk/dotnet/Tencentcloud/Teo/Inputs/SecurityIpGroupIpGroupArgs.cs new file mode 100644 index 000000000..4d64e890a --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Inputs/SecurityIpGroupIpGroupArgs.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Inputs +{ + + public sealed class SecurityIpGroupIpGroupArgs : global::Pulumi.ResourceArgs + { + [Input("contents", required: true)] + private InputList? _contents; + + /// + /// IP group content. Only supports IP and IP mask. + /// + public InputList Contents + { + get => _contents ?? (_contents = new InputList()); + set => _contents = value; + } + + /// + /// Group ID. + /// + [Input("groupId")] + public Input? GroupId { get; set; } + + /// + /// Group name. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public SecurityIpGroupIpGroupArgs() + { + } + public static new SecurityIpGroupIpGroupArgs Empty => new SecurityIpGroupIpGroupArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/Inputs/SecurityIpGroupIpGroupGetArgs.cs b/sdk/dotnet/Tencentcloud/Teo/Inputs/SecurityIpGroupIpGroupGetArgs.cs new file mode 100644 index 000000000..ea195d9c4 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Inputs/SecurityIpGroupIpGroupGetArgs.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Inputs +{ + + public sealed class SecurityIpGroupIpGroupGetArgs : global::Pulumi.ResourceArgs + { + [Input("contents", required: true)] + private InputList? _contents; + + /// + /// IP group content. Only supports IP and IP mask. + /// + public InputList Contents + { + get => _contents ?? (_contents = new InputList()); + set => _contents = value; + } + + /// + /// Group ID. + /// + [Input("groupId")] + public Input? GroupId { get; set; } + + /// + /// Group name. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public SecurityIpGroupIpGroupGetArgs() + { + } + public static new SecurityIpGroupIpGroupGetArgs Empty => new SecurityIpGroupIpGroupGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/Outputs/FunctionRuleFunctionRuleCondition.cs b/sdk/dotnet/Tencentcloud/Teo/Outputs/FunctionRuleFunctionRuleCondition.cs new file mode 100644 index 000000000..6da214df4 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Outputs/FunctionRuleFunctionRuleCondition.cs @@ -0,0 +1,28 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Outputs +{ + + [OutputType] + public sealed class FunctionRuleFunctionRuleCondition + { + /// + /// For edge function trigger rule conditions, if all items in the list are satisfied, then the condition is considered fulfilled. + /// + public readonly ImmutableArray RuleConditions; + + [OutputConstructor] + private FunctionRuleFunctionRuleCondition(ImmutableArray ruleConditions) + { + RuleConditions = ruleConditions; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/Outputs/FunctionRuleFunctionRuleConditionRuleCondition.cs b/sdk/dotnet/Tencentcloud/Teo/Outputs/FunctionRuleFunctionRuleConditionRuleCondition.cs new file mode 100644 index 000000000..552cb0bd0 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Outputs/FunctionRuleFunctionRuleConditionRuleCondition.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Outputs +{ + + [OutputType] + public sealed class FunctionRuleFunctionRuleConditionRuleCondition + { + /// + /// Whether the parameter value is case insensitive. Default value: false. + /// + public readonly bool? IgnoreCase; + /// + /// The parameter name of the match type. This field is required only when `Target=query_string/request_header`. + /// + public readonly string? Name; + /// + /// Operator. Valid values: + /// + public readonly string Operator; + /// + /// The match type. Values: + /// + public readonly string Target; + /// + /// The parameter value of the match type. It can be an empty string only when `Target=query string/request header` and `Operator=exist/notexist`. + /// - When `Target=extension`, enter the file extension, such as "jpg" and "txt". + /// - When `Target=filename`, enter the file name, such as "foo" in "foo.jpg". + /// - When `Target=all`, it indicates any site request. + /// - When `Target=host`, enter the host under the current site, such as "www.maxx55.com". + /// - When `Target=url`, enter the partial URL path under the current site, such as "/example". + /// - When `Target=full_url`, enter the complete URL under the current site. It must contain the HTTP protocol, host, and path, such as "https://www.maxx55.cn/example". + /// - When `Target=client_country`, enter the ISO-3166 country/region code. + /// - When `Target=query_string`, enter the value of the query string, such as "cn" and "1" in "lang=cn&version=1". + /// - When `Target=request_header`, enter the HTTP request header value, such as "zh-CN,zh;q=0.9" in the "Accept-Language:zh-CN,zh;q=0.9" header. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private FunctionRuleFunctionRuleConditionRuleCondition( + bool? ignoreCase, + + string? name, + + string @operator, + + string target, + + ImmutableArray values) + { + IgnoreCase = ignoreCase; + Name = name; + Operator = @operator; + Target = target; + Values = values; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/Outputs/FunctionRuntimeEnvironmentEnvironmentVariable.cs b/sdk/dotnet/Tencentcloud/Teo/Outputs/FunctionRuntimeEnvironmentEnvironmentVariable.cs new file mode 100644 index 000000000..b917b95a7 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Outputs/FunctionRuntimeEnvironmentEnvironmentVariable.cs @@ -0,0 +1,43 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Outputs +{ + + [OutputType] + public sealed class FunctionRuntimeEnvironmentEnvironmentVariable + { + /// + /// The name of the variable, which is limited to alphanumeric characters and the special characters `@`, `.`, `-`, and `_`. It can have a maximum of 64 bytes and should not be duplicated. + /// + public readonly string Key; + /// + /// The type of the variable can have the following values: - `string`: Represents a string type. - `json`: Represents a JSON object type. + /// + public readonly string Type; + /// + /// The value of the variable, which is limited to a maximum of 5000 bytes. The default value is empty. + /// + public readonly string Value; + + [OutputConstructor] + private FunctionRuntimeEnvironmentEnvironmentVariable( + string key, + + string type, + + string value) + { + Key = key; + Type = type; + Value = value; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/Outputs/SecurityIpGroupIpGroup.cs b/sdk/dotnet/Tencentcloud/Teo/Outputs/SecurityIpGroupIpGroup.cs new file mode 100644 index 000000000..805186e7d --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Outputs/SecurityIpGroupIpGroup.cs @@ -0,0 +1,43 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Outputs +{ + + [OutputType] + public sealed class SecurityIpGroupIpGroup + { + /// + /// IP group content. Only supports IP and IP mask. + /// + public readonly ImmutableArray Contents; + /// + /// Group ID. + /// + public readonly int? GroupId; + /// + /// Group name. + /// + public readonly string Name; + + [OutputConstructor] + private SecurityIpGroupIpGroup( + ImmutableArray contents, + + int? groupId, + + string name) + { + Contents = contents; + GroupId = groupId; + Name = name; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/RuleEngine.cs b/sdk/dotnet/Tencentcloud/Teo/RuleEngine.cs index aede36ff9..1b14bd019 100644 --- a/sdk/dotnet/Tencentcloud/Teo/RuleEngine.cs +++ b/sdk/dotnet/Tencentcloud/Teo/RuleEngine.cs @@ -244,6 +244,12 @@ public partial class RuleEngine : global::Pulumi.CustomResource [Output("ruleName")] public Output RuleName { get; private set; } = null!; + /// + /// Rule priority, the larger the value, the higher the priority, the minimum is 1. + /// + [Output("rulePriority")] + public Output RulePriority { get; private set; } = null!; + /// /// Rule items list. /// @@ -377,6 +383,12 @@ public sealed class RuleEngineState : global::Pulumi.ResourceArgs [Input("ruleName")] public Input? RuleName { get; set; } + /// + /// Rule priority, the larger the value, the higher the priority, the minimum is 1. + /// + [Input("rulePriority")] + public Input? RulePriority { get; set; } + [Input("rules")] private InputList? _rules; diff --git a/sdk/dotnet/Tencentcloud/Teo/SecurityIpGroup.cs b/sdk/dotnet/Tencentcloud/Teo/SecurityIpGroup.cs new file mode 100644 index 000000000..5647fb3a9 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/SecurityIpGroup.cs @@ -0,0 +1,112 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo +{ + [TencentcloudResourceType("tencentcloud:Teo/securityIpGroup:SecurityIpGroup")] + public partial class SecurityIpGroup : global::Pulumi.CustomResource + { + /// + /// IP group information, replace all when modifying. + /// + [Output("ipGroup")] + public Output IpGroup { get; private set; } = null!; + + /// + /// Site ID. + /// + [Output("zoneId")] + public Output ZoneId { get; private set; } = null!; + + + /// + /// Create a SecurityIpGroup 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 SecurityIpGroup(string name, SecurityIpGroupArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Teo/securityIpGroup:SecurityIpGroup", name, args ?? new SecurityIpGroupArgs(), MakeResourceOptions(options, "")) + { + } + + private SecurityIpGroup(string name, Input id, SecurityIpGroupState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Teo/securityIpGroup:SecurityIpGroup", 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 SecurityIpGroup 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 SecurityIpGroup Get(string name, Input id, SecurityIpGroupState? state = null, CustomResourceOptions? options = null) + { + return new SecurityIpGroup(name, id, state, options); + } + } + + public sealed class SecurityIpGroupArgs : global::Pulumi.ResourceArgs + { + /// + /// IP group information, replace all when modifying. + /// + [Input("ipGroup", required: true)] + public Input IpGroup { get; set; } = null!; + + /// + /// Site ID. + /// + [Input("zoneId", required: true)] + public Input ZoneId { get; set; } = null!; + + public SecurityIpGroupArgs() + { + } + public static new SecurityIpGroupArgs Empty => new SecurityIpGroupArgs(); + } + + public sealed class SecurityIpGroupState : global::Pulumi.ResourceArgs + { + /// + /// IP group information, replace all when modifying. + /// + [Input("ipGroup")] + public Input? IpGroup { get; set; } + + /// + /// Site ID. + /// + [Input("zoneId")] + public Input? ZoneId { get; set; } + + public SecurityIpGroupState() + { + } + public static new SecurityIpGroupState Empty => new SecurityIpGroupState(); + } +} 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/FlowLog.cs b/sdk/dotnet/Tencentcloud/Vpc/FlowLog.cs index 85ac69b42..09ef758b2 100644 --- a/sdk/dotnet/Tencentcloud/Vpc/FlowLog.cs +++ b/sdk/dotnet/Tencentcloud/Vpc/FlowLog.cs @@ -22,7 +22,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Vpc /// vpc flow_log can be imported using the flow log Id combine vpc Id, e.g. /// /// ```sh - /// $ pulumi import tencentcloud:Vpc/flowLog:FlowLog flow_log flow_log_id fl-xxxx1234#vpc-yyyy5678 + /// $ pulumi import tencentcloud:Vpc/flowLog:FlowLog example fl-7k59x22l#vpc-n6qjlen5 /// ``` /// [TencentcloudResourceType("tencentcloud:Vpc/flowLog:FlowLog")] 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..2b74b2c7d 100644 --- a/sdk/dotnet/Tencentcloud/Vpc/NotifyRoutes.cs +++ b/sdk/dotnet/Tencentcloud/Vpc/NotifyRoutes.cs @@ -10,6 +10,17 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Vpc { + /// + /// Provides a resource to create a vpc notify_routes + /// + /// ## Import + /// + /// vpc notify_routes can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Vpc/notifyRoutes:NotifyRoutes notify_routes route_table_id#route_item_id + /// ``` + /// [TencentcloudResourceType("tencentcloud:Vpc/notifyRoutes:NotifyRoutes")] public partial class NotifyRoutes : global::Pulumi.CustomResource { @@ -23,7 +34,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 +89,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 +115,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/dotnet/Tencentcloud/Vpn/Connection.cs b/sdk/dotnet/Tencentcloud/Vpn/Connection.cs index cf00ba4e6..222401bbe 100644 --- a/sdk/dotnet/Tencentcloud/Vpn/Connection.cs +++ b/sdk/dotnet/Tencentcloud/Vpn/Connection.cs @@ -152,7 +152,7 @@ public partial class Connection : global::Pulumi.CustomResource /// Local FQDN name of the IKE operation specification. /// [Output("ikeLocalFqdnName")] - public Output IkeLocalFqdnName { get; private set; } = null!; + public Output IkeLocalFqdnName { get; private set; } = null!; /// /// Local identity way of IKE operation specification. Valid values: `ADDRESS`, `FQDN`. Default value is `ADDRESS`. @@ -182,7 +182,7 @@ public partial class Connection : global::Pulumi.CustomResource /// Remote FQDN name of the IKE operation specification. /// [Output("ikeRemoteFqdnName")] - public Output IkeRemoteFqdnName { get; private set; } = null!; + public Output IkeRemoteFqdnName { get; private set; } = null!; /// /// Remote identity way of IKE operation specification. Valid values: `ADDRESS`, `FQDN`. Default value is `ADDRESS`. diff --git a/sdk/dotnet/Tencentcloud/Waf/GetWafInfos.cs b/sdk/dotnet/Tencentcloud/Waf/GetWafInfos.cs deleted file mode 100644 index da6ebb5cc..000000000 --- a/sdk/dotnet/Tencentcloud/Waf/GetWafInfos.cs +++ /dev/null @@ -1,89 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; -using Pulumi; - -namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Waf -{ - public static class GetWafInfos - { - public static Task InvokeAsync(GetWafInfosArgs args, InvokeOptions? options = null) - => global::Pulumi.Deployment.Instance.InvokeAsync("tencentcloud:Waf/getWafInfos:getWafInfos", args ?? new GetWafInfosArgs(), options.WithDefaults()); - - public static Output Invoke(GetWafInfosInvokeArgs args, InvokeOptions? options = null) - => global::Pulumi.Deployment.Instance.Invoke("tencentcloud:Waf/getWafInfos:getWafInfos", args ?? new GetWafInfosInvokeArgs(), options.WithDefaults()); - } - - - public sealed class GetWafInfosArgs : global::Pulumi.InvokeArgs - { - [Input("params", required: true)] - private List? _params; - public List Params - { - get => _params ?? (_params = new List()); - set => _params = value; - } - - [Input("resultOutputFile")] - public string? ResultOutputFile { get; set; } - - public GetWafInfosArgs() - { - } - public static new GetWafInfosArgs Empty => new GetWafInfosArgs(); - } - - public sealed class GetWafInfosInvokeArgs : global::Pulumi.InvokeArgs - { - [Input("params", required: true)] - private InputList? _params; - public InputList Params - { - get => _params ?? (_params = new InputList()); - set => _params = value; - } - - [Input("resultOutputFile")] - public Input? ResultOutputFile { get; set; } - - public GetWafInfosInvokeArgs() - { - } - public static new GetWafInfosInvokeArgs Empty => new GetWafInfosInvokeArgs(); - } - - - [OutputType] - public sealed class GetWafInfosResult - { - public readonly ImmutableArray HostLists; - /// - /// The provider-assigned unique ID for this managed resource. - /// - public readonly string Id; - public readonly ImmutableArray Params; - public readonly string? ResultOutputFile; - - [OutputConstructor] - private GetWafInfosResult( - ImmutableArray hostLists, - - string id, - - ImmutableArray @params, - - string? resultOutputFile) - { - HostLists = hostLists; - Id = id; - Params = @params; - ResultOutputFile = resultOutputFile; - } - } -} diff --git a/sdk/dotnet/Tencentcloud/Waf/Inputs/GetWafInfosParam.cs b/sdk/dotnet/Tencentcloud/Waf/Inputs/GetWafInfosParam.cs deleted file mode 100644 index 2965a63f2..000000000 --- a/sdk/dotnet/Tencentcloud/Waf/Inputs/GetWafInfosParam.cs +++ /dev/null @@ -1,39 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; -using Pulumi; - -namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Waf.Inputs -{ - - public sealed class GetWafInfosParamArgs : global::Pulumi.InvokeArgs - { - /// - /// Domain unique ID. - /// - [Input("domainId")] - public string? DomainId { get; set; } - - /// - /// Listener ID of LoadBalancer. - /// - [Input("listenerId")] - public string? ListenerId { get; set; } - - /// - /// Loadbalancer unique ID.If this parameter is not passed, it will operate all listeners of this appid. If this parameter is not empty, it will operate listeners of the LoadBalancer only. - /// - [Input("loadBalancerId", required: true)] - public string LoadBalancerId { get; set; } = null!; - - public GetWafInfosParamArgs() - { - } - public static new GetWafInfosParamArgs Empty => new GetWafInfosParamArgs(); - } -} diff --git a/sdk/dotnet/Tencentcloud/Waf/Inputs/GetWafInfosParamArgs.cs b/sdk/dotnet/Tencentcloud/Waf/Inputs/GetWafInfosParamArgs.cs deleted file mode 100644 index aa76ef101..000000000 --- a/sdk/dotnet/Tencentcloud/Waf/Inputs/GetWafInfosParamArgs.cs +++ /dev/null @@ -1,39 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; -using Pulumi; - -namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Waf.Inputs -{ - - public sealed class GetWafInfosParamInputArgs : global::Pulumi.ResourceArgs - { - /// - /// Domain unique ID. - /// - [Input("domainId")] - public Input? DomainId { get; set; } - - /// - /// Listener ID of LoadBalancer. - /// - [Input("listenerId")] - public Input? ListenerId { get; set; } - - /// - /// Loadbalancer unique ID.If this parameter is not passed, it will operate all listeners of this appid. If this parameter is not empty, it will operate listeners of the LoadBalancer only. - /// - [Input("loadBalancerId", required: true)] - public Input LoadBalancerId { get; set; } = null!; - - public GetWafInfosParamInputArgs() - { - } - public static new GetWafInfosParamInputArgs Empty => new GetWafInfosParamInputArgs(); - } -} diff --git a/sdk/dotnet/Tencentcloud/Waf/Inputs/IpAccessControlV2JobDateTimeArgs.cs b/sdk/dotnet/Tencentcloud/Waf/Inputs/IpAccessControlV2JobDateTimeArgs.cs new file mode 100644 index 000000000..ae4934b27 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Waf/Inputs/IpAccessControlV2JobDateTimeArgs.cs @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Waf.Inputs +{ + + public sealed class IpAccessControlV2JobDateTimeArgs : global::Pulumi.ResourceArgs + { + [Input("crons")] + private InputList? _crons; + + /// + /// Time parameters for periodic execution + /// Note: This field may return null, indicating that no valid values can be obtained. + /// + public InputList Crons + { + get => _crons ?? (_crons = new InputList()); + set => _crons = value; + } + + /// + /// Time zone + /// Note: This field may return null, indicating that no valid values can be obtained. + /// + [Input("timeTZone")] + public Input? TimeTZone { get; set; } + + [Input("timeds")] + private InputList? _timeds; + + /// + /// Time parameters for scheduled execution + /// Note: This field may return null, indicating that no valid values can be obtained. + /// + public InputList Timeds + { + get => _timeds ?? (_timeds = new InputList()); + set => _timeds = value; + } + + public IpAccessControlV2JobDateTimeArgs() + { + } + public static new IpAccessControlV2JobDateTimeArgs Empty => new IpAccessControlV2JobDateTimeArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Waf/Inputs/IpAccessControlV2JobDateTimeCronArgs.cs b/sdk/dotnet/Tencentcloud/Waf/Inputs/IpAccessControlV2JobDateTimeCronArgs.cs new file mode 100644 index 000000000..b5394edfd --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Waf/Inputs/IpAccessControlV2JobDateTimeCronArgs.cs @@ -0,0 +1,63 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Waf.Inputs +{ + + public sealed class IpAccessControlV2JobDateTimeCronArgs : global::Pulumi.ResourceArgs + { + [Input("days")] + private InputList? _days; + + /// + /// Days in each month for execution + /// Note: This field may return null, indicating that no valid values can be obtained. + /// + public InputList Days + { + get => _days ?? (_days = new InputList()); + set => _days = value; + } + + /// + /// End time + /// + /// Note: This field may return null, indicating that no valid values can be obtained. + /// + [Input("endTime")] + public Input? EndTime { get; set; } + + /// + /// Start time + /// + /// Note: This field may return null, indicating that no valid values can be obtained. + /// + [Input("startTime")] + public Input? StartTime { get; set; } + + [Input("wDays")] + private InputList? _wDays; + + /// + /// Days of each week for execution + /// Note: This field may return null, indicating that no valid values can be obtained. + /// + public InputList WDays + { + get => _wDays ?? (_wDays = new InputList()); + set => _wDays = value; + } + + public IpAccessControlV2JobDateTimeCronArgs() + { + } + public static new IpAccessControlV2JobDateTimeCronArgs Empty => new IpAccessControlV2JobDateTimeCronArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Waf/Inputs/IpAccessControlV2JobDateTimeCronGetArgs.cs b/sdk/dotnet/Tencentcloud/Waf/Inputs/IpAccessControlV2JobDateTimeCronGetArgs.cs new file mode 100644 index 000000000..d9cf3edd1 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Waf/Inputs/IpAccessControlV2JobDateTimeCronGetArgs.cs @@ -0,0 +1,63 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Waf.Inputs +{ + + public sealed class IpAccessControlV2JobDateTimeCronGetArgs : global::Pulumi.ResourceArgs + { + [Input("days")] + private InputList? _days; + + /// + /// Days in each month for execution + /// Note: This field may return null, indicating that no valid values can be obtained. + /// + public InputList Days + { + get => _days ?? (_days = new InputList()); + set => _days = value; + } + + /// + /// End time + /// + /// Note: This field may return null, indicating that no valid values can be obtained. + /// + [Input("endTime")] + public Input? EndTime { get; set; } + + /// + /// Start time + /// + /// Note: This field may return null, indicating that no valid values can be obtained. + /// + [Input("startTime")] + public Input? StartTime { get; set; } + + [Input("wDays")] + private InputList? _wDays; + + /// + /// Days of each week for execution + /// Note: This field may return null, indicating that no valid values can be obtained. + /// + public InputList WDays + { + get => _wDays ?? (_wDays = new InputList()); + set => _wDays = value; + } + + public IpAccessControlV2JobDateTimeCronGetArgs() + { + } + public static new IpAccessControlV2JobDateTimeCronGetArgs Empty => new IpAccessControlV2JobDateTimeCronGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Waf/Inputs/IpAccessControlV2JobDateTimeGetArgs.cs b/sdk/dotnet/Tencentcloud/Waf/Inputs/IpAccessControlV2JobDateTimeGetArgs.cs new file mode 100644 index 000000000..6a05d1418 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Waf/Inputs/IpAccessControlV2JobDateTimeGetArgs.cs @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Waf.Inputs +{ + + public sealed class IpAccessControlV2JobDateTimeGetArgs : global::Pulumi.ResourceArgs + { + [Input("crons")] + private InputList? _crons; + + /// + /// Time parameters for periodic execution + /// Note: This field may return null, indicating that no valid values can be obtained. + /// + public InputList Crons + { + get => _crons ?? (_crons = new InputList()); + set => _crons = value; + } + + /// + /// Time zone + /// Note: This field may return null, indicating that no valid values can be obtained. + /// + [Input("timeTZone")] + public Input? TimeTZone { get; set; } + + [Input("timeds")] + private InputList? _timeds; + + /// + /// Time parameters for scheduled execution + /// Note: This field may return null, indicating that no valid values can be obtained. + /// + public InputList Timeds + { + get => _timeds ?? (_timeds = new InputList()); + set => _timeds = value; + } + + public IpAccessControlV2JobDateTimeGetArgs() + { + } + public static new IpAccessControlV2JobDateTimeGetArgs Empty => new IpAccessControlV2JobDateTimeGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Waf/Inputs/IpAccessControlV2JobDateTimeTimedArgs.cs b/sdk/dotnet/Tencentcloud/Waf/Inputs/IpAccessControlV2JobDateTimeTimedArgs.cs new file mode 100644 index 000000000..f4ef220f8 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Waf/Inputs/IpAccessControlV2JobDateTimeTimedArgs.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.Waf.Inputs +{ + + public sealed class IpAccessControlV2JobDateTimeTimedArgs : global::Pulumi.ResourceArgs + { + /// + /// End timestamp, in seconds + /// Note: This field may return null, indicating that no valid values can be obtained. + /// + [Input("endDateTime")] + public Input? EndDateTime { get; set; } + + /// + /// Start timestamp, in seconds + /// Note: This field may return null, indicating that no valid values can be obtained. + /// + [Input("startDateTime")] + public Input? StartDateTime { get; set; } + + public IpAccessControlV2JobDateTimeTimedArgs() + { + } + public static new IpAccessControlV2JobDateTimeTimedArgs Empty => new IpAccessControlV2JobDateTimeTimedArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Waf/Inputs/IpAccessControlV2JobDateTimeTimedGetArgs.cs b/sdk/dotnet/Tencentcloud/Waf/Inputs/IpAccessControlV2JobDateTimeTimedGetArgs.cs new file mode 100644 index 000000000..70be84941 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Waf/Inputs/IpAccessControlV2JobDateTimeTimedGetArgs.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.Waf.Inputs +{ + + public sealed class IpAccessControlV2JobDateTimeTimedGetArgs : global::Pulumi.ResourceArgs + { + /// + /// End timestamp, in seconds + /// Note: This field may return null, indicating that no valid values can be obtained. + /// + [Input("endDateTime")] + public Input? EndDateTime { get; set; } + + /// + /// Start timestamp, in seconds + /// Note: This field may return null, indicating that no valid values can be obtained. + /// + [Input("startDateTime")] + public Input? StartDateTime { get; set; } + + public IpAccessControlV2JobDateTimeTimedGetArgs() + { + } + public static new IpAccessControlV2JobDateTimeTimedGetArgs Empty => new IpAccessControlV2JobDateTimeTimedGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Waf/IpAccessControl.cs b/sdk/dotnet/Tencentcloud/Waf/IpAccessControl.cs index fb8659b9b..63ff8c657 100644 --- a/sdk/dotnet/Tencentcloud/Waf/IpAccessControl.cs +++ b/sdk/dotnet/Tencentcloud/Waf/IpAccessControl.cs @@ -13,6 +13,8 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Waf /// /// Provides a resource to create a waf ip_access_control /// + /// > **NOTE:** This resource is no longer under maintenance, please use `tencentcloud.Waf.IpAccessControlV2` instead + /// /// ## Example Usage /// /// <!--Start PulumiCodeChooser --> diff --git a/sdk/dotnet/Tencentcloud/Waf/IpAccessControlV2.cs b/sdk/dotnet/Tencentcloud/Waf/IpAccessControlV2.cs new file mode 100644 index 000000000..5264010cf --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Waf/IpAccessControlV2.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.Waf +{ + /// + /// Provides a resource to create a waf ip access control v2 + /// + /// ## 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.Waf.IpAccessControlV2("example", new() + /// { + /// ActionType = 40, + /// Domain = "example.com", + /// InstanceId = "waf_2kxtlbky11bbcr4b", + /// IpLists = new[] + /// { + /// "10.0.0.10", + /// "172.0.0.16", + /// "192.168.0.30", + /// }, + /// JobDateTime = new Tencentcloud.Waf.Inputs.IpAccessControlV2JobDateTimeArgs + /// { + /// TimeTZone = "UTC+8", + /// Timeds = new[] + /// { + /// new Tencentcloud.Waf.Inputs.IpAccessControlV2JobDateTimeTimedArgs + /// { + /// EndDateTime = 0, + /// StartDateTime = 0, + /// }, + /// }, + /// }, + /// JobType = "TimedJob", + /// Note = "note.", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// waf ip access control v2 can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Waf/ipAccessControlV2:IpAccessControlV2 example waf_2kxtlbky11bbcr4b#example.com#5503616778 + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Waf/ipAccessControlV2:IpAccessControlV2")] + public partial class IpAccessControlV2 : global::Pulumi.CustomResource + { + /// + /// 42: blocklist; 40: allowlist. + /// + [Output("actionType")] + public Output ActionType { get; private set; } = null!; + + /// + /// Specific domain name, for example, test.qcloudwaf.com. + /// Global domain name, that is, global. + /// + [Output("domain")] + public Output Domain { get; private set; } = null!; + + /// + /// Instance ID. + /// + [Output("instanceId")] + public Output InstanceId { get; private set; } = null!; + + /// + /// IP parameter list. + /// + [Output("ipLists")] + public Output> IpLists { get; private set; } = null!; + + /// + /// Details of scheduled configuration. + /// + [Output("jobDateTime")] + public Output JobDateTime { get; private set; } = null!; + + /// + /// Scheduled configuration type. + /// + [Output("jobType")] + public Output JobType { get; private set; } = null!; + + /// + /// Remarks. + /// + [Output("note")] + public Output Note { get; private set; } = null!; + + + /// + /// Create a IpAccessControlV2 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 IpAccessControlV2(string name, IpAccessControlV2Args args, CustomResourceOptions? options = null) + : base("tencentcloud:Waf/ipAccessControlV2:IpAccessControlV2", name, args ?? new IpAccessControlV2Args(), MakeResourceOptions(options, "")) + { + } + + private IpAccessControlV2(string name, Input id, IpAccessControlV2State? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Waf/ipAccessControlV2:IpAccessControlV2", 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 IpAccessControlV2 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 IpAccessControlV2 Get(string name, Input id, IpAccessControlV2State? state = null, CustomResourceOptions? options = null) + { + return new IpAccessControlV2(name, id, state, options); + } + } + + public sealed class IpAccessControlV2Args : global::Pulumi.ResourceArgs + { + /// + /// 42: blocklist; 40: allowlist. + /// + [Input("actionType", required: true)] + public Input ActionType { get; set; } = null!; + + /// + /// Specific domain name, for example, test.qcloudwaf.com. + /// Global domain name, that is, global. + /// + [Input("domain", required: true)] + public Input Domain { get; set; } = null!; + + /// + /// Instance ID. + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; + + [Input("ipLists", required: true)] + private InputList? _ipLists; + + /// + /// IP parameter list. + /// + public InputList IpLists + { + get => _ipLists ?? (_ipLists = new InputList()); + set => _ipLists = value; + } + + /// + /// Details of scheduled configuration. + /// + [Input("jobDateTime")] + public Input? JobDateTime { get; set; } + + /// + /// Scheduled configuration type. + /// + [Input("jobType")] + public Input? JobType { get; set; } + + /// + /// Remarks. + /// + [Input("note")] + public Input? Note { get; set; } + + public IpAccessControlV2Args() + { + } + public static new IpAccessControlV2Args Empty => new IpAccessControlV2Args(); + } + + public sealed class IpAccessControlV2State : global::Pulumi.ResourceArgs + { + /// + /// 42: blocklist; 40: allowlist. + /// + [Input("actionType")] + public Input? ActionType { get; set; } + + /// + /// Specific domain name, for example, test.qcloudwaf.com. + /// Global domain name, that is, global. + /// + [Input("domain")] + public Input? Domain { get; set; } + + /// + /// Instance ID. + /// + [Input("instanceId")] + public Input? InstanceId { get; set; } + + [Input("ipLists")] + private InputList? _ipLists; + + /// + /// IP parameter list. + /// + public InputList IpLists + { + get => _ipLists ?? (_ipLists = new InputList()); + set => _ipLists = value; + } + + /// + /// Details of scheduled configuration. + /// + [Input("jobDateTime")] + public Input? JobDateTime { get; set; } + + /// + /// Scheduled configuration type. + /// + [Input("jobType")] + public Input? JobType { get; set; } + + /// + /// Remarks. + /// + [Input("note")] + public Input? Note { get; set; } + + public IpAccessControlV2State() + { + } + public static new IpAccessControlV2State Empty => new IpAccessControlV2State(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Waf/ModifyAccessPeriod.cs b/sdk/dotnet/Tencentcloud/Waf/ModifyAccessPeriod.cs deleted file mode 100644 index cdeb60103..000000000 --- a/sdk/dotnet/Tencentcloud/Waf/ModifyAccessPeriod.cs +++ /dev/null @@ -1,136 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; -using Pulumi; - -namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Waf -{ - /// - /// Provides a resource to create a waf modify_access_period - /// - /// ## 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.Waf.ModifyAccessPeriod("example", new() - /// { - /// Period = 30, - /// TopicId = "1ae37c76-df99-4e2b-998c-20f39eba6226", - /// }); - /// - /// }); - /// ``` - /// <!--End PulumiCodeChooser --> - /// - [TencentcloudResourceType("tencentcloud:Waf/modifyAccessPeriod:ModifyAccessPeriod")] - public partial class ModifyAccessPeriod : global::Pulumi.CustomResource - { - /// - /// Access log retention period, range is [1, 180]. - /// - [Output("period")] - public Output Period { get; private set; } = null!; - - /// - /// Log topic, new version does not need to be uploaded. - /// - [Output("topicId")] - public Output TopicId { get; private set; } = null!; - - - /// - /// Create a ModifyAccessPeriod 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 ModifyAccessPeriod(string name, ModifyAccessPeriodArgs args, CustomResourceOptions? options = null) - : base("tencentcloud:Waf/modifyAccessPeriod:ModifyAccessPeriod", name, args ?? new ModifyAccessPeriodArgs(), MakeResourceOptions(options, "")) - { - } - - private ModifyAccessPeriod(string name, Input id, ModifyAccessPeriodState? state = null, CustomResourceOptions? options = null) - : base("tencentcloud:Waf/modifyAccessPeriod:ModifyAccessPeriod", 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 ModifyAccessPeriod 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 ModifyAccessPeriod Get(string name, Input id, ModifyAccessPeriodState? state = null, CustomResourceOptions? options = null) - { - return new ModifyAccessPeriod(name, id, state, options); - } - } - - public sealed class ModifyAccessPeriodArgs : global::Pulumi.ResourceArgs - { - /// - /// Access log retention period, range is [1, 180]. - /// - [Input("period", required: true)] - public Input Period { get; set; } = null!; - - /// - /// Log topic, new version does not need to be uploaded. - /// - [Input("topicId", required: true)] - public Input TopicId { get; set; } = null!; - - public ModifyAccessPeriodArgs() - { - } - public static new ModifyAccessPeriodArgs Empty => new ModifyAccessPeriodArgs(); - } - - public sealed class ModifyAccessPeriodState : global::Pulumi.ResourceArgs - { - /// - /// Access log retention period, range is [1, 180]. - /// - [Input("period")] - public Input? Period { get; set; } - - /// - /// Log topic, new version does not need to be uploaded. - /// - [Input("topicId")] - public Input? TopicId { get; set; } - - public ModifyAccessPeriodState() - { - } - public static new ModifyAccessPeriodState Empty => new ModifyAccessPeriodState(); - } -} diff --git a/sdk/dotnet/Tencentcloud/Waf/Outputs/GetWafInfosHostListLoadBalancerResult.cs b/sdk/dotnet/Tencentcloud/Waf/Outputs/GetWafInfosHostListLoadBalancerResult.cs deleted file mode 100644 index 8d9117bb7..000000000 --- a/sdk/dotnet/Tencentcloud/Waf/Outputs/GetWafInfosHostListLoadBalancerResult.cs +++ /dev/null @@ -1,99 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; -using Pulumi; - -namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Waf.Outputs -{ - - [OutputType] - public sealed class GetWafInfosHostListLoadBalancerResult - { - /// - /// Unique ID of listener in LB. - /// - public readonly string ListenerId; - /// - /// Listener name. - /// - public readonly string ListenerName; - /// - /// LoadBalancer ID. - /// - public readonly string LoadBalancerId; - /// - /// LoadBalancer name. - /// - public readonly string LoadBalancerName; - /// - /// Network type for load balancerNote: This field may return null, indicating that a valid value cannot be obtained. - /// - public readonly string LoadBalancerType; - /// - /// VPCID for load balancer, public network is -1, and internal network is filled in according to actual conditionsNote: This field may return null, indicating that a valid value cannot be obtained. - /// - public readonly int NumericalVpcId; - /// - /// Protocol of listener,http or https. - /// - public readonly string Protocol; - /// - /// LoadBalancer region. - /// - public readonly string Region; - /// - /// LoadBalancer IP. - /// - public readonly string Vip; - /// - /// LoadBalancer port. - /// - public readonly int Vport; - /// - /// LoadBalancer zone. - /// - public readonly string Zone; - - [OutputConstructor] - private GetWafInfosHostListLoadBalancerResult( - string listenerId, - - string listenerName, - - string loadBalancerId, - - string loadBalancerName, - - string loadBalancerType, - - int numericalVpcId, - - string protocol, - - string region, - - string vip, - - int vport, - - string zone) - { - ListenerId = listenerId; - ListenerName = listenerName; - LoadBalancerId = loadBalancerId; - LoadBalancerName = loadBalancerName; - LoadBalancerType = loadBalancerType; - NumericalVpcId = numericalVpcId; - Protocol = protocol; - Region = region; - Vip = vip; - Vport = vport; - Zone = zone; - } - } -} diff --git a/sdk/dotnet/Tencentcloud/Waf/Outputs/GetWafInfosHostListResult.cs b/sdk/dotnet/Tencentcloud/Waf/Outputs/GetWafInfosHostListResult.cs deleted file mode 100644 index 5f08edb07..000000000 --- a/sdk/dotnet/Tencentcloud/Waf/Outputs/GetWafInfosHostListResult.cs +++ /dev/null @@ -1,57 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; -using Pulumi; - -namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Waf.Outputs -{ - - [OutputType] - public sealed class GetWafInfosHostListResult - { - /// - /// Domain name. - /// - public readonly string Domain; - /// - /// Domain unique ID. - /// - public readonly string DomainId; - /// - /// WAF traffic mode, 1 cleaning mode, 0 mirroring mode. - /// - public readonly int FlowMode; - /// - /// LoadBalancer info bound by waf. - /// - public readonly ImmutableArray LoadBalancers; - /// - /// Waf switch,0 off 1 on. - /// - public readonly int Status; - - [OutputConstructor] - private GetWafInfosHostListResult( - string domain, - - string domainId, - - int flowMode, - - ImmutableArray loadBalancers, - - int status) - { - Domain = domain; - DomainId = domainId; - FlowMode = flowMode; - LoadBalancers = loadBalancers; - Status = status; - } - } -} diff --git a/sdk/dotnet/Tencentcloud/Waf/Outputs/GetWafInfosParamResult.cs b/sdk/dotnet/Tencentcloud/Waf/Outputs/GetWafInfosParamResult.cs deleted file mode 100644 index 8d8ef252f..000000000 --- a/sdk/dotnet/Tencentcloud/Waf/Outputs/GetWafInfosParamResult.cs +++ /dev/null @@ -1,43 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; -using Pulumi; - -namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Waf.Outputs -{ - - [OutputType] - public sealed class GetWafInfosParamResult - { - /// - /// Domain unique ID. - /// - public readonly string? DomainId; - /// - /// Listener ID of LoadBalancer. - /// - public readonly string? ListenerId; - /// - /// Loadbalancer unique ID.If this parameter is not passed, it will operate all listeners of this appid. If this parameter is not empty, it will operate listeners of the LoadBalancer only. - /// - public readonly string LoadBalancerId; - - [OutputConstructor] - private GetWafInfosParamResult( - string? domainId, - - string? listenerId, - - string loadBalancerId) - { - DomainId = domainId; - ListenerId = listenerId; - LoadBalancerId = loadBalancerId; - } - } -} diff --git a/sdk/dotnet/Tencentcloud/Waf/Outputs/IpAccessControlV2JobDateTime.cs b/sdk/dotnet/Tencentcloud/Waf/Outputs/IpAccessControlV2JobDateTime.cs new file mode 100644 index 000000000..5c83b2af5 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Waf/Outputs/IpAccessControlV2JobDateTime.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Waf.Outputs +{ + + [OutputType] + public sealed class IpAccessControlV2JobDateTime + { + /// + /// Time parameters for periodic execution + /// Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly ImmutableArray Crons; + /// + /// Time zone + /// Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string? TimeTZone; + /// + /// Time parameters for scheduled execution + /// Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly ImmutableArray Timeds; + + [OutputConstructor] + private IpAccessControlV2JobDateTime( + ImmutableArray crons, + + string? timeTZone, + + ImmutableArray timeds) + { + Crons = crons; + TimeTZone = timeTZone; + Timeds = timeds; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Waf/Outputs/IpAccessControlV2JobDateTimeCron.cs b/sdk/dotnet/Tencentcloud/Waf/Outputs/IpAccessControlV2JobDateTimeCron.cs new file mode 100644 index 000000000..2694d20c7 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Waf/Outputs/IpAccessControlV2JobDateTimeCron.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Waf.Outputs +{ + + [OutputType] + public sealed class IpAccessControlV2JobDateTimeCron + { + /// + /// Days in each month for execution + /// Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly ImmutableArray Days; + /// + /// End time + /// + /// Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string? EndTime; + /// + /// Start time + /// + /// Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string? StartTime; + /// + /// Days of each week for execution + /// Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly ImmutableArray WDays; + + [OutputConstructor] + private IpAccessControlV2JobDateTimeCron( + ImmutableArray days, + + string? endTime, + + string? startTime, + + ImmutableArray wDays) + { + Days = days; + EndTime = endTime; + StartTime = startTime; + WDays = wDays; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Waf/Outputs/IpAccessControlV2JobDateTimeTimed.cs b/sdk/dotnet/Tencentcloud/Waf/Outputs/IpAccessControlV2JobDateTimeTimed.cs new file mode 100644 index 000000000..ecd3b606f --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Waf/Outputs/IpAccessControlV2JobDateTimeTimed.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.Waf.Outputs +{ + + [OutputType] + public sealed class IpAccessControlV2JobDateTimeTimed + { + /// + /// End timestamp, in seconds + /// Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly int? EndDateTime; + /// + /// Start timestamp, in seconds + /// Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly int? StartDateTime; + + [OutputConstructor] + private IpAccessControlV2JobDateTimeTimed( + int? endDateTime, + + int? startDateTime) + { + EndDateTime = endDateTime; + StartDateTime = startDateTime; + } + } +} diff --git a/sdk/go.mod b/sdk/go.mod index 11a32cb33..bc019054e 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.142.0 ) 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..129c0aa4d 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.142.0 h1:SmcVddGuvwAh3g3XUVQQ5gVRQUKH1yZ6iETpDNHIHlw= +github.com/pulumi/pulumi/sdk/v3 v3.142.0/go.mod h1:PvKsX88co8XuwuPdzolMvew5lZV+4JmZfkeSjj7A6dI= +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..d9759c3c8 100644 --- a/sdk/go/tencentcloud/as/lifecycleHook.go +++ b/sdk/go/tencentcloud/as/lifecycleHook.go @@ -94,12 +94,13 @@ import ( // return err // } // _, err = As.NewLifecycleHook(ctx, "exampleLifecycleHook", &As.LifecycleHookArgs{ -// ScalingGroupId: exampleScalingGroup.ID(), -// LifecycleHookName: pulumi.String("tf-as-lifecycle-hook"), -// LifecycleTransition: pulumi.String("INSTANCE_LAUNCHING"), -// DefaultResult: pulumi.String("CONTINUE"), -// HeartbeatTimeout: pulumi.Int(500), -// NotificationMetadata: pulumi.String("tf test"), +// ScalingGroupId: exampleScalingGroup.ID(), +// LifecycleHookName: pulumi.String("tf-as-lifecycle-hook"), +// LifecycleTransition: pulumi.String("INSTANCE_LAUNCHING"), +// DefaultResult: pulumi.String("CONTINUE"), +// HeartbeatTimeout: pulumi.Int(500), +// LifecycleTransitionType: pulumi.String("NORMAL"), +// NotificationMetadata: pulumi.String("tf test"), // }) // if err != nil { // return err @@ -176,6 +177,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,15 +227,19 @@ 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`. LifecycleTransition pulumi.StringOutput `pulumi:"lifecycleTransition"` + // The scenario where the lifecycle hook is applied. `EXTENSION`: the lifecycle hook will be triggered when AttachInstances, DetachInstances or RemoveInstaces is called. `NORMAL`: the lifecycle hook is not triggered by the above APIs. + LifecycleTransitionType pulumi.StringOutput `pulumi:"lifecycleTransitionType"` // Contains additional information that you want to include any time AS sends a message to the notification target. 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,15 +290,19 @@ 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`. LifecycleTransition *string `pulumi:"lifecycleTransition"` + // The scenario where the lifecycle hook is applied. `EXTENSION`: the lifecycle hook will be triggered when AttachInstances, DetachInstances or RemoveInstaces is called. `NORMAL`: the lifecycle hook is not triggered by the above APIs. + LifecycleTransitionType *string `pulumi:"lifecycleTransitionType"` // Contains additional information that you want to include any time AS sends a message to the notification target. 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,15 +315,19 @@ 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`. LifecycleTransition pulumi.StringPtrInput + // The scenario where the lifecycle hook is applied. `EXTENSION`: the lifecycle hook will be triggered when AttachInstances, DetachInstances or RemoveInstaces is called. `NORMAL`: the lifecycle hook is not triggered by the above APIs. + LifecycleTransitionType pulumi.StringPtrInput // Contains additional information that you want to include any time AS sends a message to the notification target. 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,15 +344,19 @@ 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`. LifecycleTransition string `pulumi:"lifecycleTransition"` + // The scenario where the lifecycle hook is applied. `EXTENSION`: the lifecycle hook will be triggered when AttachInstances, DetachInstances or RemoveInstaces is called. `NORMAL`: the lifecycle hook is not triggered by the above APIs. + LifecycleTransitionType *string `pulumi:"lifecycleTransitionType"` // Contains additional information that you want to include any time AS sends a message to the notification target. 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,15 +370,19 @@ 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`. LifecycleTransition pulumi.StringInput + // The scenario where the lifecycle hook is applied. `EXTENSION`: the lifecycle hook will be triggered when AttachInstances, DetachInstances or RemoveInstaces is called. `NORMAL`: the lifecycle hook is not triggered by the above APIs. + LifecycleTransitionType pulumi.StringPtrInput // Contains additional information that you want to include any time AS sends a message to the notification target. 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 +487,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) @@ -433,6 +502,11 @@ func (o LifecycleHookOutput) LifecycleTransition() pulumi.StringOutput { return o.ApplyT(func(v *LifecycleHook) pulumi.StringOutput { return v.LifecycleTransition }).(pulumi.StringOutput) } +// The scenario where the lifecycle hook is applied. `EXTENSION`: the lifecycle hook will be triggered when AttachInstances, DetachInstances or RemoveInstaces is called. `NORMAL`: the lifecycle hook is not triggered by the above APIs. +func (o LifecycleHookOutput) LifecycleTransitionType() pulumi.StringOutput { + return o.ApplyT(func(v *LifecycleHook) pulumi.StringOutput { return v.LifecycleTransitionType }).(pulumi.StringOutput) +} + // Contains additional information that you want to include any time AS sends a message to the notification target. func (o LifecycleHookOutput) NotificationMetadata() pulumi.StringPtrOutput { return o.ApplyT(func(v *LifecycleHook) pulumi.StringPtrOutput { return v.NotificationMetadata }).(pulumi.StringPtrOutput) @@ -443,7 +517,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..aeef71b5a 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,339 @@ 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"` + // Maximum Extra Quantity. After setting this parameter, a batch of pay-as-you-go extra instances will be created according to the launch configuration before the rolling update starts, and the extra instances will be destroyed after the rolling update is completed. + MaxSurge *int `pulumi:"maxSurge"` +} + +// 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"` + // Maximum Extra Quantity. After setting this parameter, a batch of pay-as-you-go extra instances will be created according to the launch configuration before the rolling update starts, and the extra instances will be destroyed after the rolling update is completed. + MaxSurge pulumi.IntPtrInput `pulumi:"maxSurge"` +} + +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) +} + +// Maximum Extra Quantity. After setting this parameter, a batch of pay-as-you-go extra instances will be created according to the launch configuration before the rolling update starts, and the extra instances will be destroyed after the rolling update is completed. +func (o StartInstanceRefreshRefreshSettingsRollingUpdateSettingsOutput) MaxSurge() pulumi.IntPtrOutput { + return o.ApplyT(func(v StartInstanceRefreshRefreshSettingsRollingUpdateSettings) *int { return v.MaxSurge }).(pulumi.IntPtrOutput) +} + +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) +} + +// Maximum Extra Quantity. After setting this parameter, a batch of pay-as-you-go extra instances will be created according to the launch configuration before the rolling update starts, and the extra instances will be destroyed after the rolling update is completed. +func (o StartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutput) MaxSurge() pulumi.IntPtrOutput { + return o.ApplyT(func(v *StartInstanceRefreshRefreshSettingsRollingUpdateSettings) *int { + if v == nil { + return nil + } + return v.MaxSurge + }).(pulumi.IntPtrOutput) +} + type GetAdvicesAutoScalingAdviceSet struct { // A collection of suggestions for scaling group configurations. Advices []GetAdvicesAutoScalingAdviceSetAdvice `pulumi:"advices"` @@ -2285,6 +2774,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 +2830,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 +2987,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 +3835,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 +3851,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 +3885,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 +3901,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/scalingConfig.go b/sdk/go/tencentcloud/as/scalingConfig.go index 1480fad93..4c8eacf7c 100644 --- a/sdk/go/tencentcloud/as/scalingConfig.go +++ b/sdk/go/tencentcloud/as/scalingConfig.go @@ -56,13 +56,14 @@ import ( // DiskSize: pulumi.Int(50), // }, // }, -// InternetChargeType: pulumi.String("TRAFFIC_POSTPAID_BY_HOUR"), -// InternetMaxBandwidthOut: pulumi.Int(10), -// PublicIpAssigned: pulumi.Bool(true), -// Password: pulumi.String("Test@123#"), -// EnhancedSecurityService: pulumi.Bool(false), -// EnhancedMonitorService: pulumi.Bool(false), -// UserData: pulumi.String("dGVzdA=="), +// InternetChargeType: pulumi.String("TRAFFIC_POSTPAID_BY_HOUR"), +// InternetMaxBandwidthOut: pulumi.Int(10), +// PublicIpAssigned: pulumi.Bool(true), +// Password: pulumi.String("Test@123#"), +// EnhancedSecurityService: pulumi.Bool(false), +// EnhancedMonitorService: pulumi.Bool(false), +// EnhancedAutomationToolsService: pulumi.Bool(false), +// UserData: pulumi.String("dGVzdA=="), // HostNameSettings: &as.ScalingConfigHostNameSettingsArgs{ // HostName: pulumi.String("host-name-test"), // HostNameStyle: pulumi.String("UNIQUE"), @@ -126,6 +127,53 @@ import ( // ``` // // +// ### Using image family +// +// +// ```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.NewScalingConfig(ctx, "example", &As.ScalingConfigArgs{ +// ConfigurationName: pulumi.String("as-test-config"), +// DiskTypePolicy: pulumi.String("ORIGINAL"), +// EnhancedAutomationToolsService: pulumi.Bool(false), +// EnhancedMonitorService: pulumi.Bool(false), +// EnhancedSecurityService: pulumi.Bool(false), +// ImageFamily: pulumi.String("business-daily-update"), +// InstanceTags: nil, +// InstanceTypes: pulumi.StringArray{ +// pulumi.String("S5.SMALL2"), +// }, +// InternetChargeType: pulumi.String("TRAFFIC_POSTPAID_BY_HOUR"), +// InternetMaxBandwidthOut: pulumi.Int(0), +// KeyIds: pulumi.StringArray{}, +// ProjectId: pulumi.Int(0), +// PublicIpAssigned: pulumi.Bool(false), +// SecurityGroupIds: pulumi.StringArray{ +// pulumi.String("sg-5275dorp"), +// }, +// SystemDiskSize: pulumi.Int(50), +// SystemDiskType: pulumi.String("CLOUD_BSSD"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// // ## Import // // AutoScaling Configuration can be imported using the id, e.g. @@ -146,14 +194,18 @@ type ScalingConfig struct { DataDisks ScalingConfigDataDiskArrayOutput `pulumi:"dataDisks"` // Policy of cloud disk type. Valid values: `ORIGINAL` and `AUTOMATIC`. Default is `ORIGINAL`. DiskTypePolicy pulumi.StringPtrOutput `pulumi:"diskTypePolicy"` + // To specify whether to enable cloud automation tools service. + EnhancedAutomationToolsService pulumi.BoolPtrOutput `pulumi:"enhancedAutomationToolsService"` // To specify whether to enable cloud monitor service. Default is `TRUE`. EnhancedMonitorService pulumi.BoolPtrOutput `pulumi:"enhancedMonitorService"` // To specify whether to enable cloud security service. Default is `TRUE`. EnhancedSecurityService pulumi.BoolPtrOutput `pulumi:"enhancedSecurityService"` // Related settings of the cloud server hostname (HostName). HostNameSettings ScalingConfigHostNameSettingsPtrOutput `pulumi:"hostNameSettings"` + // Image Family Name. Either Image ID or Image Family Name must be provided, but not both. + ImageFamily pulumi.StringPtrOutput `pulumi:"imageFamily"` // An available image ID for a cvm instance. - ImageId pulumi.StringOutput `pulumi:"imageId"` + ImageId pulumi.StringPtrOutput `pulumi:"imageId"` // Charge type of instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `SPOTPAID`. The default is `POSTPAID_BY_HOUR`. NOTE: `SPOTPAID` instance must set `spotInstanceType` and `spotMaxPrice` at the same time. InstanceChargeType pulumi.StringPtrOutput `pulumi:"instanceChargeType"` // The tenancy (in month) of the prepaid instance, NOTE: it only works when instanceChargeType is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. @@ -206,9 +258,6 @@ func NewScalingConfig(ctx *pulumi.Context, if args.ConfigurationName == nil { return nil, errors.New("invalid value for required argument 'ConfigurationName'") } - if args.ImageId == nil { - return nil, errors.New("invalid value for required argument 'ImageId'") - } if args.InstanceTypes == nil { return nil, errors.New("invalid value for required argument 'InstanceTypes'") } @@ -252,12 +301,16 @@ type scalingConfigState struct { DataDisks []ScalingConfigDataDisk `pulumi:"dataDisks"` // Policy of cloud disk type. Valid values: `ORIGINAL` and `AUTOMATIC`. Default is `ORIGINAL`. DiskTypePolicy *string `pulumi:"diskTypePolicy"` + // To specify whether to enable cloud automation tools service. + EnhancedAutomationToolsService *bool `pulumi:"enhancedAutomationToolsService"` // To specify whether to enable cloud monitor service. Default is `TRUE`. EnhancedMonitorService *bool `pulumi:"enhancedMonitorService"` // To specify whether to enable cloud security service. Default is `TRUE`. EnhancedSecurityService *bool `pulumi:"enhancedSecurityService"` // Related settings of the cloud server hostname (HostName). HostNameSettings *ScalingConfigHostNameSettings `pulumi:"hostNameSettings"` + // Image Family Name. Either Image ID or Image Family Name must be provided, but not both. + ImageFamily *string `pulumi:"imageFamily"` // An available image ID for a cvm instance. ImageId *string `pulumi:"imageId"` // Charge type of instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `SPOTPAID`. The default is `POSTPAID_BY_HOUR`. NOTE: `SPOTPAID` instance must set `spotInstanceType` and `spotMaxPrice` at the same time. @@ -313,12 +366,16 @@ type ScalingConfigState struct { DataDisks ScalingConfigDataDiskArrayInput // Policy of cloud disk type. Valid values: `ORIGINAL` and `AUTOMATIC`. Default is `ORIGINAL`. DiskTypePolicy pulumi.StringPtrInput + // To specify whether to enable cloud automation tools service. + EnhancedAutomationToolsService pulumi.BoolPtrInput // To specify whether to enable cloud monitor service. Default is `TRUE`. EnhancedMonitorService pulumi.BoolPtrInput // To specify whether to enable cloud security service. Default is `TRUE`. EnhancedSecurityService pulumi.BoolPtrInput // Related settings of the cloud server hostname (HostName). HostNameSettings ScalingConfigHostNameSettingsPtrInput + // Image Family Name. Either Image ID or Image Family Name must be provided, but not both. + ImageFamily pulumi.StringPtrInput // An available image ID for a cvm instance. ImageId pulumi.StringPtrInput // Charge type of instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `SPOTPAID`. The default is `POSTPAID_BY_HOUR`. NOTE: `SPOTPAID` instance must set `spotInstanceType` and `spotMaxPrice` at the same time. @@ -376,14 +433,18 @@ type scalingConfigArgs struct { DataDisks []ScalingConfigDataDisk `pulumi:"dataDisks"` // Policy of cloud disk type. Valid values: `ORIGINAL` and `AUTOMATIC`. Default is `ORIGINAL`. DiskTypePolicy *string `pulumi:"diskTypePolicy"` + // To specify whether to enable cloud automation tools service. + EnhancedAutomationToolsService *bool `pulumi:"enhancedAutomationToolsService"` // To specify whether to enable cloud monitor service. Default is `TRUE`. EnhancedMonitorService *bool `pulumi:"enhancedMonitorService"` // To specify whether to enable cloud security service. Default is `TRUE`. EnhancedSecurityService *bool `pulumi:"enhancedSecurityService"` // Related settings of the cloud server hostname (HostName). HostNameSettings *ScalingConfigHostNameSettings `pulumi:"hostNameSettings"` + // Image Family Name. Either Image ID or Image Family Name must be provided, but not both. + ImageFamily *string `pulumi:"imageFamily"` // An available image ID for a cvm instance. - ImageId string `pulumi:"imageId"` + ImageId *string `pulumi:"imageId"` // Charge type of instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `SPOTPAID`. The default is `POSTPAID_BY_HOUR`. NOTE: `SPOTPAID` instance must set `spotInstanceType` and `spotMaxPrice` at the same time. InstanceChargeType *string `pulumi:"instanceChargeType"` // The tenancy (in month) of the prepaid instance, NOTE: it only works when instanceChargeType is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. @@ -434,14 +495,18 @@ type ScalingConfigArgs struct { DataDisks ScalingConfigDataDiskArrayInput // Policy of cloud disk type. Valid values: `ORIGINAL` and `AUTOMATIC`. Default is `ORIGINAL`. DiskTypePolicy pulumi.StringPtrInput + // To specify whether to enable cloud automation tools service. + EnhancedAutomationToolsService pulumi.BoolPtrInput // To specify whether to enable cloud monitor service. Default is `TRUE`. EnhancedMonitorService pulumi.BoolPtrInput // To specify whether to enable cloud security service. Default is `TRUE`. EnhancedSecurityService pulumi.BoolPtrInput // Related settings of the cloud server hostname (HostName). HostNameSettings ScalingConfigHostNameSettingsPtrInput + // Image Family Name. Either Image ID or Image Family Name must be provided, but not both. + ImageFamily pulumi.StringPtrInput // An available image ID for a cvm instance. - ImageId pulumi.StringInput + ImageId pulumi.StringPtrInput // Charge type of instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `SPOTPAID`. The default is `POSTPAID_BY_HOUR`. NOTE: `SPOTPAID` instance must set `spotInstanceType` and `spotMaxPrice` at the same time. InstanceChargeType pulumi.StringPtrInput // The tenancy (in month) of the prepaid instance, NOTE: it only works when instanceChargeType is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. @@ -594,6 +659,11 @@ func (o ScalingConfigOutput) DiskTypePolicy() pulumi.StringPtrOutput { return o.ApplyT(func(v *ScalingConfig) pulumi.StringPtrOutput { return v.DiskTypePolicy }).(pulumi.StringPtrOutput) } +// To specify whether to enable cloud automation tools service. +func (o ScalingConfigOutput) EnhancedAutomationToolsService() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ScalingConfig) pulumi.BoolPtrOutput { return v.EnhancedAutomationToolsService }).(pulumi.BoolPtrOutput) +} + // To specify whether to enable cloud monitor service. Default is `TRUE`. func (o ScalingConfigOutput) EnhancedMonitorService() pulumi.BoolPtrOutput { return o.ApplyT(func(v *ScalingConfig) pulumi.BoolPtrOutput { return v.EnhancedMonitorService }).(pulumi.BoolPtrOutput) @@ -609,9 +679,14 @@ func (o ScalingConfigOutput) HostNameSettings() ScalingConfigHostNameSettingsPtr return o.ApplyT(func(v *ScalingConfig) ScalingConfigHostNameSettingsPtrOutput { return v.HostNameSettings }).(ScalingConfigHostNameSettingsPtrOutput) } +// Image Family Name. Either Image ID or Image Family Name must be provided, but not both. +func (o ScalingConfigOutput) ImageFamily() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ScalingConfig) pulumi.StringPtrOutput { return v.ImageFamily }).(pulumi.StringPtrOutput) +} + // An available image ID for a cvm instance. -func (o ScalingConfigOutput) ImageId() pulumi.StringOutput { - return o.ApplyT(func(v *ScalingConfig) pulumi.StringOutput { return v.ImageId }).(pulumi.StringOutput) +func (o ScalingConfigOutput) ImageId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ScalingConfig) pulumi.StringPtrOutput { return v.ImageId }).(pulumi.StringPtrOutput) } // Charge type of instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `SPOTPAID`. The default is `POSTPAID_BY_HOUR`. NOTE: `SPOTPAID` instance must set `spotInstanceType` and `spotMaxPrice` at the same time. 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..457c9c4ff --- /dev/null +++ b/sdk/go/tencentcloud/as/startInstanceRefresh.go @@ -0,0 +1,289 @@ +// 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-8n7fdm28"), +// RefreshMode: pulumi.String("ROLLING_UPDATE_RESET"), +// RefreshSettings: &as.StartInstanceRefreshRefreshSettingsArgs{ +// CheckInstanceTargetHealth: pulumi.Bool(false), +// RollingUpdateSettings: &as.StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs{ +// BatchNumber: pulumi.Int(1), +// BatchPause: pulumi.String("AUTOMATIC"), +// MaxSurge: pulumi.Int(1), +// }, +// }, +// }) +// 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..826d20744 100644 --- a/sdk/go/tencentcloud/audit/pulumiTypes.go +++ b/sdk/go/tencentcloud/audit/pulumiTypes.go @@ -14,6 +14,10 @@ import ( var _ = internal.GetEnvOrDefault type TrackStorage struct { + // Designated to store user ID. + StorageAccountId *string `pulumi:"storageAccountId"` + // Designated to store user appid. + StorageAppId *string `pulumi:"storageAppId"` // 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`. StorageName string `pulumi:"storageName"` // Storage path prefix. @@ -36,6 +40,10 @@ type TrackStorageInput interface { } type TrackStorageArgs struct { + // Designated to store user ID. + StorageAccountId pulumi.StringPtrInput `pulumi:"storageAccountId"` + // Designated to store user appid. + StorageAppId pulumi.StringPtrInput `pulumi:"storageAppId"` // 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`. StorageName pulumi.StringInput `pulumi:"storageName"` // Storage path prefix. @@ -123,6 +131,16 @@ func (o TrackStorageOutput) ToTrackStoragePtrOutputWithContext(ctx context.Conte }).(TrackStoragePtrOutput) } +// Designated to store user ID. +func (o TrackStorageOutput) StorageAccountId() pulumi.StringPtrOutput { + return o.ApplyT(func(v TrackStorage) *string { return v.StorageAccountId }).(pulumi.StringPtrOutput) +} + +// Designated to store user appid. +func (o TrackStorageOutput) StorageAppId() pulumi.StringPtrOutput { + return o.ApplyT(func(v TrackStorage) *string { return v.StorageAppId }).(pulumi.StringPtrOutput) +} + // 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`. func (o TrackStorageOutput) StorageName() pulumi.StringOutput { return o.ApplyT(func(v TrackStorage) string { return v.StorageName }).(pulumi.StringOutput) @@ -167,6 +185,26 @@ func (o TrackStoragePtrOutput) Elem() TrackStorageOutput { }).(TrackStorageOutput) } +// Designated to store user ID. +func (o TrackStoragePtrOutput) StorageAccountId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TrackStorage) *string { + if v == nil { + return nil + } + return v.StorageAccountId + }).(pulumi.StringPtrOutput) +} + +// Designated to store user appid. +func (o TrackStoragePtrOutput) StorageAppId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TrackStorage) *string { + if v == nil { + return nil + } + return v.StorageAppId + }).(pulumi.StringPtrOutput) +} + // 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`. func (o TrackStoragePtrOutput) StorageName() pulumi.StringPtrOutput { return o.ApplyT(func(v *TrackStorage) *string { @@ -313,6 +351,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 +981,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/audit/track.go b/sdk/go/tencentcloud/audit/track.go index f872a905a..9329420a8 100644 --- a/sdk/go/tencentcloud/audit/track.go +++ b/sdk/go/tencentcloud/audit/track.go @@ -29,7 +29,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Audit.NewTrack(ctx, "track", &Audit.TrackArgs{ +// _, err := Audit.NewTrack(ctx, "example", &Audit.TrackArgs{ // ActionType: pulumi.String("Read"), // EventNames: pulumi.StringArray{ // pulumi.String("*"), @@ -54,12 +54,54 @@ import ( // ``` // // +// ### Specify storage user +// +// +// ```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.NewTrack(ctx, "example", &Audit.TrackArgs{ +// ActionType: pulumi.String("Read"), +// EventNames: pulumi.StringArray{ +// pulumi.String("*"), +// }, +// ResourceType: pulumi.String("*"), +// Status: pulumi.Int(1), +// Storage: &audit.TrackStorageArgs{ +// StorageAccountId: pulumi.String("100037717137"), +// StorageAppId: pulumi.String("1309116520"), +// StorageName: pulumi.String("db90b92c-91d2-46b0-94ac-debbbb21dc4e"), +// StoragePrefix: pulumi.String("cloudaudit"), +// StorageRegion: pulumi.String("ap-guangzhou"), +// StorageType: pulumi.String("cos"), +// }, +// TrackForAllMembers: pulumi.Int(0), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// // ## Import // // audit track can be imported using the id, e.g. // // ```sh -// $ pulumi import tencentcloud:Audit/track:Track track track_id +// $ pulumi import tencentcloud:Audit/track:Track example 24283 // ``` type Track struct { pulumi.CustomResourceState 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/cam/getRoleDetail.go b/sdk/go/tencentcloud/cam/getRoleDetail.go new file mode 100644 index 000000000..340bfee06 --- /dev/null +++ b/sdk/go/tencentcloud/cam/getRoleDetail.go @@ -0,0 +1,103 @@ +// 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 cam + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" +) + +func GetRoleDetail(ctx *pulumi.Context, args *GetRoleDetailArgs, opts ...pulumi.InvokeOption) (*GetRoleDetailResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetRoleDetailResult + err := ctx.Invoke("tencentcloud:Cam/getRoleDetail:getRoleDetail", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getRoleDetail. +type GetRoleDetailArgs struct { + ResultOutputFile *string `pulumi:"resultOutputFile"` + RoleId *string `pulumi:"roleId"` + RoleName *string `pulumi:"roleName"` +} + +// A collection of values returned by getRoleDetail. +type GetRoleDetailResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + ResultOutputFile *string `pulumi:"resultOutputFile"` + RoleId *string `pulumi:"roleId"` + RoleInfos []GetRoleDetailRoleInfo `pulumi:"roleInfos"` + RoleName *string `pulumi:"roleName"` +} + +func GetRoleDetailOutput(ctx *pulumi.Context, args GetRoleDetailOutputArgs, opts ...pulumi.InvokeOption) GetRoleDetailResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetRoleDetailResult, error) { + args := v.(GetRoleDetailArgs) + r, err := GetRoleDetail(ctx, &args, opts...) + var s GetRoleDetailResult + if r != nil { + s = *r + } + return s, err + }).(GetRoleDetailResultOutput) +} + +// A collection of arguments for invoking getRoleDetail. +type GetRoleDetailOutputArgs struct { + ResultOutputFile pulumi.StringPtrInput `pulumi:"resultOutputFile"` + RoleId pulumi.StringPtrInput `pulumi:"roleId"` + RoleName pulumi.StringPtrInput `pulumi:"roleName"` +} + +func (GetRoleDetailOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoleDetailArgs)(nil)).Elem() +} + +// A collection of values returned by getRoleDetail. +type GetRoleDetailResultOutput struct{ *pulumi.OutputState } + +func (GetRoleDetailResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoleDetailResult)(nil)).Elem() +} + +func (o GetRoleDetailResultOutput) ToGetRoleDetailResultOutput() GetRoleDetailResultOutput { + return o +} + +func (o GetRoleDetailResultOutput) ToGetRoleDetailResultOutputWithContext(ctx context.Context) GetRoleDetailResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetRoleDetailResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetRoleDetailResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetRoleDetailResultOutput) ResultOutputFile() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetRoleDetailResult) *string { return v.ResultOutputFile }).(pulumi.StringPtrOutput) +} + +func (o GetRoleDetailResultOutput) RoleId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetRoleDetailResult) *string { return v.RoleId }).(pulumi.StringPtrOutput) +} + +func (o GetRoleDetailResultOutput) RoleInfos() GetRoleDetailRoleInfoArrayOutput { + return o.ApplyT(func(v GetRoleDetailResult) []GetRoleDetailRoleInfo { return v.RoleInfos }).(GetRoleDetailRoleInfoArrayOutput) +} + +func (o GetRoleDetailResultOutput) RoleName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetRoleDetailResult) *string { return v.RoleName }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetRoleDetailResultOutput{}) +} diff --git a/sdk/go/tencentcloud/cam/getSubAccounts.go b/sdk/go/tencentcloud/cam/getSubAccounts.go new file mode 100644 index 000000000..89e20c8c2 --- /dev/null +++ b/sdk/go/tencentcloud/cam/getSubAccounts.go @@ -0,0 +1,96 @@ +// 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 cam + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" +) + +func GetSubAccounts(ctx *pulumi.Context, args *GetSubAccountsArgs, opts ...pulumi.InvokeOption) (*GetSubAccountsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetSubAccountsResult + err := ctx.Invoke("tencentcloud:Cam/getSubAccounts:getSubAccounts", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getSubAccounts. +type GetSubAccountsArgs struct { + FilterSubAccountUins []int `pulumi:"filterSubAccountUins"` + ResultOutputFile *string `pulumi:"resultOutputFile"` +} + +// A collection of values returned by getSubAccounts. +type GetSubAccountsResult struct { + FilterSubAccountUins []int `pulumi:"filterSubAccountUins"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + ResultOutputFile *string `pulumi:"resultOutputFile"` + SubAccounts []GetSubAccountsSubAccount `pulumi:"subAccounts"` +} + +func GetSubAccountsOutput(ctx *pulumi.Context, args GetSubAccountsOutputArgs, opts ...pulumi.InvokeOption) GetSubAccountsResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetSubAccountsResult, error) { + args := v.(GetSubAccountsArgs) + r, err := GetSubAccounts(ctx, &args, opts...) + var s GetSubAccountsResult + if r != nil { + s = *r + } + return s, err + }).(GetSubAccountsResultOutput) +} + +// A collection of arguments for invoking getSubAccounts. +type GetSubAccountsOutputArgs struct { + FilterSubAccountUins pulumi.IntArrayInput `pulumi:"filterSubAccountUins"` + ResultOutputFile pulumi.StringPtrInput `pulumi:"resultOutputFile"` +} + +func (GetSubAccountsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSubAccountsArgs)(nil)).Elem() +} + +// A collection of values returned by getSubAccounts. +type GetSubAccountsResultOutput struct{ *pulumi.OutputState } + +func (GetSubAccountsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSubAccountsResult)(nil)).Elem() +} + +func (o GetSubAccountsResultOutput) ToGetSubAccountsResultOutput() GetSubAccountsResultOutput { + return o +} + +func (o GetSubAccountsResultOutput) ToGetSubAccountsResultOutputWithContext(ctx context.Context) GetSubAccountsResultOutput { + return o +} + +func (o GetSubAccountsResultOutput) FilterSubAccountUins() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetSubAccountsResult) []int { return v.FilterSubAccountUins }).(pulumi.IntArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetSubAccountsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetSubAccountsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetSubAccountsResultOutput) ResultOutputFile() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetSubAccountsResult) *string { return v.ResultOutputFile }).(pulumi.StringPtrOutput) +} + +func (o GetSubAccountsResultOutput) SubAccounts() GetSubAccountsSubAccountArrayOutput { + return o.ApplyT(func(v GetSubAccountsResult) []GetSubAccountsSubAccount { return v.SubAccounts }).(GetSubAccountsSubAccountArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetSubAccountsResultOutput{}) +} diff --git a/sdk/go/tencentcloud/cam/pulumiTypes.go b/sdk/go/tencentcloud/cam/pulumiTypes.go index 04b285fa7..03e1ef925 100644 --- a/sdk/go/tencentcloud/cam/pulumiTypes.go +++ b/sdk/go/tencentcloud/cam/pulumiTypes.go @@ -2131,6 +2131,311 @@ func (o GetPolicyGrantingServiceAccessListServiceArrayOutput) Index(i pulumi.Int }).(GetPolicyGrantingServiceAccessListServiceOutput) } +type GetRoleDetailRoleInfo struct { + // Time role created + AddTime string `pulumi:"addTime"` + // If login is allowed for the role + ConsoleLogin int `pulumi:"consoleLogin"` + // Task identifier for deleting a service-linked role + // Note: this field may return null, indicating that no valid values can be obtained. + DeletionTaskId string `pulumi:"deletionTaskId"` + // Role description + Description string `pulumi:"description"` + // Role policy document + PolicyDocument string `pulumi:"policyDocument"` + // Role ID + RoleId string `pulumi:"roleId"` + // Role name + RoleName string `pulumi:"roleName"` + // User role. Valid values: `user`, `system`, `serviceLinked` + // Note: this field may return null, indicating that no valid values can be obtained. + RoleType string `pulumi:"roleType"` + // Valid period + // Note: this field may return null, indicating that no valid values can be obtained. + SessionDuration int `pulumi:"sessionDuration"` + // Tags. + // Note: This field may return `null`, indicating that no valid values can be obtained. + Tags []GetRoleDetailRoleInfoTag `pulumi:"tags"` + // Time role last updated + UpdateTime string `pulumi:"updateTime"` +} + +// GetRoleDetailRoleInfoInput is an input type that accepts GetRoleDetailRoleInfoArgs and GetRoleDetailRoleInfoOutput values. +// You can construct a concrete instance of `GetRoleDetailRoleInfoInput` via: +// +// GetRoleDetailRoleInfoArgs{...} +type GetRoleDetailRoleInfoInput interface { + pulumi.Input + + ToGetRoleDetailRoleInfoOutput() GetRoleDetailRoleInfoOutput + ToGetRoleDetailRoleInfoOutputWithContext(context.Context) GetRoleDetailRoleInfoOutput +} + +type GetRoleDetailRoleInfoArgs struct { + // Time role created + AddTime pulumi.StringInput `pulumi:"addTime"` + // If login is allowed for the role + ConsoleLogin pulumi.IntInput `pulumi:"consoleLogin"` + // Task identifier for deleting a service-linked role + // Note: this field may return null, indicating that no valid values can be obtained. + DeletionTaskId pulumi.StringInput `pulumi:"deletionTaskId"` + // Role description + Description pulumi.StringInput `pulumi:"description"` + // Role policy document + PolicyDocument pulumi.StringInput `pulumi:"policyDocument"` + // Role ID + RoleId pulumi.StringInput `pulumi:"roleId"` + // Role name + RoleName pulumi.StringInput `pulumi:"roleName"` + // User role. Valid values: `user`, `system`, `serviceLinked` + // Note: this field may return null, indicating that no valid values can be obtained. + RoleType pulumi.StringInput `pulumi:"roleType"` + // Valid period + // Note: this field may return null, indicating that no valid values can be obtained. + SessionDuration pulumi.IntInput `pulumi:"sessionDuration"` + // Tags. + // Note: This field may return `null`, indicating that no valid values can be obtained. + Tags GetRoleDetailRoleInfoTagArrayInput `pulumi:"tags"` + // Time role last updated + UpdateTime pulumi.StringInput `pulumi:"updateTime"` +} + +func (GetRoleDetailRoleInfoArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoleDetailRoleInfo)(nil)).Elem() +} + +func (i GetRoleDetailRoleInfoArgs) ToGetRoleDetailRoleInfoOutput() GetRoleDetailRoleInfoOutput { + return i.ToGetRoleDetailRoleInfoOutputWithContext(context.Background()) +} + +func (i GetRoleDetailRoleInfoArgs) ToGetRoleDetailRoleInfoOutputWithContext(ctx context.Context) GetRoleDetailRoleInfoOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRoleDetailRoleInfoOutput) +} + +// GetRoleDetailRoleInfoArrayInput is an input type that accepts GetRoleDetailRoleInfoArray and GetRoleDetailRoleInfoArrayOutput values. +// You can construct a concrete instance of `GetRoleDetailRoleInfoArrayInput` via: +// +// GetRoleDetailRoleInfoArray{ GetRoleDetailRoleInfoArgs{...} } +type GetRoleDetailRoleInfoArrayInput interface { + pulumi.Input + + ToGetRoleDetailRoleInfoArrayOutput() GetRoleDetailRoleInfoArrayOutput + ToGetRoleDetailRoleInfoArrayOutputWithContext(context.Context) GetRoleDetailRoleInfoArrayOutput +} + +type GetRoleDetailRoleInfoArray []GetRoleDetailRoleInfoInput + +func (GetRoleDetailRoleInfoArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRoleDetailRoleInfo)(nil)).Elem() +} + +func (i GetRoleDetailRoleInfoArray) ToGetRoleDetailRoleInfoArrayOutput() GetRoleDetailRoleInfoArrayOutput { + return i.ToGetRoleDetailRoleInfoArrayOutputWithContext(context.Background()) +} + +func (i GetRoleDetailRoleInfoArray) ToGetRoleDetailRoleInfoArrayOutputWithContext(ctx context.Context) GetRoleDetailRoleInfoArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRoleDetailRoleInfoArrayOutput) +} + +type GetRoleDetailRoleInfoOutput struct{ *pulumi.OutputState } + +func (GetRoleDetailRoleInfoOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoleDetailRoleInfo)(nil)).Elem() +} + +func (o GetRoleDetailRoleInfoOutput) ToGetRoleDetailRoleInfoOutput() GetRoleDetailRoleInfoOutput { + return o +} + +func (o GetRoleDetailRoleInfoOutput) ToGetRoleDetailRoleInfoOutputWithContext(ctx context.Context) GetRoleDetailRoleInfoOutput { + return o +} + +// Time role created +func (o GetRoleDetailRoleInfoOutput) AddTime() pulumi.StringOutput { + return o.ApplyT(func(v GetRoleDetailRoleInfo) string { return v.AddTime }).(pulumi.StringOutput) +} + +// If login is allowed for the role +func (o GetRoleDetailRoleInfoOutput) ConsoleLogin() pulumi.IntOutput { + return o.ApplyT(func(v GetRoleDetailRoleInfo) int { return v.ConsoleLogin }).(pulumi.IntOutput) +} + +// Task identifier for deleting a service-linked role +// Note: this field may return null, indicating that no valid values can be obtained. +func (o GetRoleDetailRoleInfoOutput) DeletionTaskId() pulumi.StringOutput { + return o.ApplyT(func(v GetRoleDetailRoleInfo) string { return v.DeletionTaskId }).(pulumi.StringOutput) +} + +// Role description +func (o GetRoleDetailRoleInfoOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetRoleDetailRoleInfo) string { return v.Description }).(pulumi.StringOutput) +} + +// Role policy document +func (o GetRoleDetailRoleInfoOutput) PolicyDocument() pulumi.StringOutput { + return o.ApplyT(func(v GetRoleDetailRoleInfo) string { return v.PolicyDocument }).(pulumi.StringOutput) +} + +// Role ID +func (o GetRoleDetailRoleInfoOutput) RoleId() pulumi.StringOutput { + return o.ApplyT(func(v GetRoleDetailRoleInfo) string { return v.RoleId }).(pulumi.StringOutput) +} + +// Role name +func (o GetRoleDetailRoleInfoOutput) RoleName() pulumi.StringOutput { + return o.ApplyT(func(v GetRoleDetailRoleInfo) string { return v.RoleName }).(pulumi.StringOutput) +} + +// User role. Valid values: `user`, `system`, `serviceLinked` +// Note: this field may return null, indicating that no valid values can be obtained. +func (o GetRoleDetailRoleInfoOutput) RoleType() pulumi.StringOutput { + return o.ApplyT(func(v GetRoleDetailRoleInfo) string { return v.RoleType }).(pulumi.StringOutput) +} + +// Valid period +// Note: this field may return null, indicating that no valid values can be obtained. +func (o GetRoleDetailRoleInfoOutput) SessionDuration() pulumi.IntOutput { + return o.ApplyT(func(v GetRoleDetailRoleInfo) int { return v.SessionDuration }).(pulumi.IntOutput) +} + +// Tags. +// Note: This field may return `null`, indicating that no valid values can be obtained. +func (o GetRoleDetailRoleInfoOutput) Tags() GetRoleDetailRoleInfoTagArrayOutput { + return o.ApplyT(func(v GetRoleDetailRoleInfo) []GetRoleDetailRoleInfoTag { return v.Tags }).(GetRoleDetailRoleInfoTagArrayOutput) +} + +// Time role last updated +func (o GetRoleDetailRoleInfoOutput) UpdateTime() pulumi.StringOutput { + return o.ApplyT(func(v GetRoleDetailRoleInfo) string { return v.UpdateTime }).(pulumi.StringOutput) +} + +type GetRoleDetailRoleInfoArrayOutput struct{ *pulumi.OutputState } + +func (GetRoleDetailRoleInfoArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRoleDetailRoleInfo)(nil)).Elem() +} + +func (o GetRoleDetailRoleInfoArrayOutput) ToGetRoleDetailRoleInfoArrayOutput() GetRoleDetailRoleInfoArrayOutput { + return o +} + +func (o GetRoleDetailRoleInfoArrayOutput) ToGetRoleDetailRoleInfoArrayOutputWithContext(ctx context.Context) GetRoleDetailRoleInfoArrayOutput { + return o +} + +func (o GetRoleDetailRoleInfoArrayOutput) Index(i pulumi.IntInput) GetRoleDetailRoleInfoOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRoleDetailRoleInfo { + return vs[0].([]GetRoleDetailRoleInfo)[vs[1].(int)] + }).(GetRoleDetailRoleInfoOutput) +} + +type GetRoleDetailRoleInfoTag struct { + // Tag key. + Key string `pulumi:"key"` + // Tag value. + Value string `pulumi:"value"` +} + +// GetRoleDetailRoleInfoTagInput is an input type that accepts GetRoleDetailRoleInfoTagArgs and GetRoleDetailRoleInfoTagOutput values. +// You can construct a concrete instance of `GetRoleDetailRoleInfoTagInput` via: +// +// GetRoleDetailRoleInfoTagArgs{...} +type GetRoleDetailRoleInfoTagInput interface { + pulumi.Input + + ToGetRoleDetailRoleInfoTagOutput() GetRoleDetailRoleInfoTagOutput + ToGetRoleDetailRoleInfoTagOutputWithContext(context.Context) GetRoleDetailRoleInfoTagOutput +} + +type GetRoleDetailRoleInfoTagArgs struct { + // Tag key. + Key pulumi.StringInput `pulumi:"key"` + // Tag value. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetRoleDetailRoleInfoTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoleDetailRoleInfoTag)(nil)).Elem() +} + +func (i GetRoleDetailRoleInfoTagArgs) ToGetRoleDetailRoleInfoTagOutput() GetRoleDetailRoleInfoTagOutput { + return i.ToGetRoleDetailRoleInfoTagOutputWithContext(context.Background()) +} + +func (i GetRoleDetailRoleInfoTagArgs) ToGetRoleDetailRoleInfoTagOutputWithContext(ctx context.Context) GetRoleDetailRoleInfoTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRoleDetailRoleInfoTagOutput) +} + +// GetRoleDetailRoleInfoTagArrayInput is an input type that accepts GetRoleDetailRoleInfoTagArray and GetRoleDetailRoleInfoTagArrayOutput values. +// You can construct a concrete instance of `GetRoleDetailRoleInfoTagArrayInput` via: +// +// GetRoleDetailRoleInfoTagArray{ GetRoleDetailRoleInfoTagArgs{...} } +type GetRoleDetailRoleInfoTagArrayInput interface { + pulumi.Input + + ToGetRoleDetailRoleInfoTagArrayOutput() GetRoleDetailRoleInfoTagArrayOutput + ToGetRoleDetailRoleInfoTagArrayOutputWithContext(context.Context) GetRoleDetailRoleInfoTagArrayOutput +} + +type GetRoleDetailRoleInfoTagArray []GetRoleDetailRoleInfoTagInput + +func (GetRoleDetailRoleInfoTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRoleDetailRoleInfoTag)(nil)).Elem() +} + +func (i GetRoleDetailRoleInfoTagArray) ToGetRoleDetailRoleInfoTagArrayOutput() GetRoleDetailRoleInfoTagArrayOutput { + return i.ToGetRoleDetailRoleInfoTagArrayOutputWithContext(context.Background()) +} + +func (i GetRoleDetailRoleInfoTagArray) ToGetRoleDetailRoleInfoTagArrayOutputWithContext(ctx context.Context) GetRoleDetailRoleInfoTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRoleDetailRoleInfoTagArrayOutput) +} + +type GetRoleDetailRoleInfoTagOutput struct{ *pulumi.OutputState } + +func (GetRoleDetailRoleInfoTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoleDetailRoleInfoTag)(nil)).Elem() +} + +func (o GetRoleDetailRoleInfoTagOutput) ToGetRoleDetailRoleInfoTagOutput() GetRoleDetailRoleInfoTagOutput { + return o +} + +func (o GetRoleDetailRoleInfoTagOutput) ToGetRoleDetailRoleInfoTagOutputWithContext(ctx context.Context) GetRoleDetailRoleInfoTagOutput { + return o +} + +// Tag key. +func (o GetRoleDetailRoleInfoTagOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetRoleDetailRoleInfoTag) string { return v.Key }).(pulumi.StringOutput) +} + +// Tag value. +func (o GetRoleDetailRoleInfoTagOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetRoleDetailRoleInfoTag) string { return v.Value }).(pulumi.StringOutput) +} + +type GetRoleDetailRoleInfoTagArrayOutput struct{ *pulumi.OutputState } + +func (GetRoleDetailRoleInfoTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRoleDetailRoleInfoTag)(nil)).Elem() +} + +func (o GetRoleDetailRoleInfoTagArrayOutput) ToGetRoleDetailRoleInfoTagArrayOutput() GetRoleDetailRoleInfoTagArrayOutput { + return o +} + +func (o GetRoleDetailRoleInfoTagArrayOutput) ToGetRoleDetailRoleInfoTagArrayOutputWithContext(ctx context.Context) GetRoleDetailRoleInfoTagArrayOutput { + return o +} + +func (o GetRoleDetailRoleInfoTagArrayOutput) Index(i pulumi.IntInput) GetRoleDetailRoleInfoTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRoleDetailRoleInfoTag { + return vs[0].([]GetRoleDetailRoleInfoTag)[vs[1].(int)] + }).(GetRoleDetailRoleInfoTagOutput) +} + type GetRolePolicyAttachmentsRolePolicyAttachmentList struct { // Mode of Creation of the CAM user policy attachment. `1` means the cam policy attachment is created by production, and the others indicate syntax strategy ways. CreateMode int `pulumi:"createMode"` @@ -2663,6 +2968,163 @@ func (o GetSecretLastUsedTimeSecretIdLastUsedRowArrayOutput) Index(i pulumi.IntI }).(GetSecretLastUsedTimeSecretIdLastUsedRowOutput) } +type GetSubAccountsSubAccount struct { + // Creation time + // Note: this field may return null, indicating that no valid values can be obtained. + CreateTime string `pulumi:"createTime"` + LastLoginIp string `pulumi:"lastLoginIp"` + LastLoginTime string `pulumi:"lastLoginTime"` + // Sub-user name + Name string `pulumi:"name"` + // Sub-user remarks + Remark string `pulumi:"remark"` + // Sub-user UID. UID is the unique identifier of a user who is a message recipient, while UIN is a unique identifier of a user. + Uid int `pulumi:"uid"` + // Sub-user ID + Uin int `pulumi:"uin"` + // User type (1: root account; 2: sub-user; 3: WeCom sub-user; 4: collaborator; 5: message recipient) + UserType int `pulumi:"userType"` +} + +// GetSubAccountsSubAccountInput is an input type that accepts GetSubAccountsSubAccountArgs and GetSubAccountsSubAccountOutput values. +// You can construct a concrete instance of `GetSubAccountsSubAccountInput` via: +// +// GetSubAccountsSubAccountArgs{...} +type GetSubAccountsSubAccountInput interface { + pulumi.Input + + ToGetSubAccountsSubAccountOutput() GetSubAccountsSubAccountOutput + ToGetSubAccountsSubAccountOutputWithContext(context.Context) GetSubAccountsSubAccountOutput +} + +type GetSubAccountsSubAccountArgs struct { + // Creation time + // Note: this field may return null, indicating that no valid values can be obtained. + CreateTime pulumi.StringInput `pulumi:"createTime"` + LastLoginIp pulumi.StringInput `pulumi:"lastLoginIp"` + LastLoginTime pulumi.StringInput `pulumi:"lastLoginTime"` + // Sub-user name + Name pulumi.StringInput `pulumi:"name"` + // Sub-user remarks + Remark pulumi.StringInput `pulumi:"remark"` + // Sub-user UID. UID is the unique identifier of a user who is a message recipient, while UIN is a unique identifier of a user. + Uid pulumi.IntInput `pulumi:"uid"` + // Sub-user ID + Uin pulumi.IntInput `pulumi:"uin"` + // User type (1: root account; 2: sub-user; 3: WeCom sub-user; 4: collaborator; 5: message recipient) + UserType pulumi.IntInput `pulumi:"userType"` +} + +func (GetSubAccountsSubAccountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSubAccountsSubAccount)(nil)).Elem() +} + +func (i GetSubAccountsSubAccountArgs) ToGetSubAccountsSubAccountOutput() GetSubAccountsSubAccountOutput { + return i.ToGetSubAccountsSubAccountOutputWithContext(context.Background()) +} + +func (i GetSubAccountsSubAccountArgs) ToGetSubAccountsSubAccountOutputWithContext(ctx context.Context) GetSubAccountsSubAccountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSubAccountsSubAccountOutput) +} + +// GetSubAccountsSubAccountArrayInput is an input type that accepts GetSubAccountsSubAccountArray and GetSubAccountsSubAccountArrayOutput values. +// You can construct a concrete instance of `GetSubAccountsSubAccountArrayInput` via: +// +// GetSubAccountsSubAccountArray{ GetSubAccountsSubAccountArgs{...} } +type GetSubAccountsSubAccountArrayInput interface { + pulumi.Input + + ToGetSubAccountsSubAccountArrayOutput() GetSubAccountsSubAccountArrayOutput + ToGetSubAccountsSubAccountArrayOutputWithContext(context.Context) GetSubAccountsSubAccountArrayOutput +} + +type GetSubAccountsSubAccountArray []GetSubAccountsSubAccountInput + +func (GetSubAccountsSubAccountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSubAccountsSubAccount)(nil)).Elem() +} + +func (i GetSubAccountsSubAccountArray) ToGetSubAccountsSubAccountArrayOutput() GetSubAccountsSubAccountArrayOutput { + return i.ToGetSubAccountsSubAccountArrayOutputWithContext(context.Background()) +} + +func (i GetSubAccountsSubAccountArray) ToGetSubAccountsSubAccountArrayOutputWithContext(ctx context.Context) GetSubAccountsSubAccountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSubAccountsSubAccountArrayOutput) +} + +type GetSubAccountsSubAccountOutput struct{ *pulumi.OutputState } + +func (GetSubAccountsSubAccountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSubAccountsSubAccount)(nil)).Elem() +} + +func (o GetSubAccountsSubAccountOutput) ToGetSubAccountsSubAccountOutput() GetSubAccountsSubAccountOutput { + return o +} + +func (o GetSubAccountsSubAccountOutput) ToGetSubAccountsSubAccountOutputWithContext(ctx context.Context) GetSubAccountsSubAccountOutput { + return o +} + +// Creation time +// Note: this field may return null, indicating that no valid values can be obtained. +func (o GetSubAccountsSubAccountOutput) CreateTime() pulumi.StringOutput { + return o.ApplyT(func(v GetSubAccountsSubAccount) string { return v.CreateTime }).(pulumi.StringOutput) +} + +func (o GetSubAccountsSubAccountOutput) LastLoginIp() pulumi.StringOutput { + return o.ApplyT(func(v GetSubAccountsSubAccount) string { return v.LastLoginIp }).(pulumi.StringOutput) +} + +func (o GetSubAccountsSubAccountOutput) LastLoginTime() pulumi.StringOutput { + return o.ApplyT(func(v GetSubAccountsSubAccount) string { return v.LastLoginTime }).(pulumi.StringOutput) +} + +// Sub-user name +func (o GetSubAccountsSubAccountOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetSubAccountsSubAccount) string { return v.Name }).(pulumi.StringOutput) +} + +// Sub-user remarks +func (o GetSubAccountsSubAccountOutput) Remark() pulumi.StringOutput { + return o.ApplyT(func(v GetSubAccountsSubAccount) string { return v.Remark }).(pulumi.StringOutput) +} + +// Sub-user UID. UID is the unique identifier of a user who is a message recipient, while UIN is a unique identifier of a user. +func (o GetSubAccountsSubAccountOutput) Uid() pulumi.IntOutput { + return o.ApplyT(func(v GetSubAccountsSubAccount) int { return v.Uid }).(pulumi.IntOutput) +} + +// Sub-user ID +func (o GetSubAccountsSubAccountOutput) Uin() pulumi.IntOutput { + return o.ApplyT(func(v GetSubAccountsSubAccount) int { return v.Uin }).(pulumi.IntOutput) +} + +// User type (1: root account; 2: sub-user; 3: WeCom sub-user; 4: collaborator; 5: message recipient) +func (o GetSubAccountsSubAccountOutput) UserType() pulumi.IntOutput { + return o.ApplyT(func(v GetSubAccountsSubAccount) int { return v.UserType }).(pulumi.IntOutput) +} + +type GetSubAccountsSubAccountArrayOutput struct{ *pulumi.OutputState } + +func (GetSubAccountsSubAccountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSubAccountsSubAccount)(nil)).Elem() +} + +func (o GetSubAccountsSubAccountArrayOutput) ToGetSubAccountsSubAccountArrayOutput() GetSubAccountsSubAccountArrayOutput { + return o +} + +func (o GetSubAccountsSubAccountArrayOutput) ToGetSubAccountsSubAccountArrayOutputWithContext(ctx context.Context) GetSubAccountsSubAccountArrayOutput { + return o +} + +func (o GetSubAccountsSubAccountArrayOutput) Index(i pulumi.IntInput) GetSubAccountsSubAccountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSubAccountsSubAccount { + return vs[0].([]GetSubAccountsSubAccount)[vs[1].(int)] + }).(GetSubAccountsSubAccountOutput) +} + type GetUserPolicyAttachmentsUserPolicyAttachmentList struct { // Mode of Creation of the CAM user policy attachment. `1` means the CAM policy attachment is created by production, and the others indicate syntax strategy ways. CreateMode int `pulumi:"createMode"` @@ -3022,6 +3484,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetPolicyGrantingServiceAccessListPolicyArrayInput)(nil)).Elem(), GetPolicyGrantingServiceAccessListPolicyArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetPolicyGrantingServiceAccessListServiceInput)(nil)).Elem(), GetPolicyGrantingServiceAccessListServiceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetPolicyGrantingServiceAccessListServiceArrayInput)(nil)).Elem(), GetPolicyGrantingServiceAccessListServiceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRoleDetailRoleInfoInput)(nil)).Elem(), GetRoleDetailRoleInfoArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRoleDetailRoleInfoArrayInput)(nil)).Elem(), GetRoleDetailRoleInfoArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRoleDetailRoleInfoTagInput)(nil)).Elem(), GetRoleDetailRoleInfoTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRoleDetailRoleInfoTagArrayInput)(nil)).Elem(), GetRoleDetailRoleInfoTagArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRolePolicyAttachmentsRolePolicyAttachmentListInput)(nil)).Elem(), GetRolePolicyAttachmentsRolePolicyAttachmentListArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRolePolicyAttachmentsRolePolicyAttachmentListArrayInput)(nil)).Elem(), GetRolePolicyAttachmentsRolePolicyAttachmentListArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRolesRoleListInput)(nil)).Elem(), GetRolesRoleListArgs{}) @@ -3030,6 +3496,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetSamlProvidersProviderListArrayInput)(nil)).Elem(), GetSamlProvidersProviderListArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSecretLastUsedTimeSecretIdLastUsedRowInput)(nil)).Elem(), GetSecretLastUsedTimeSecretIdLastUsedRowArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSecretLastUsedTimeSecretIdLastUsedRowArrayInput)(nil)).Elem(), GetSecretLastUsedTimeSecretIdLastUsedRowArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSubAccountsSubAccountInput)(nil)).Elem(), GetSubAccountsSubAccountArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSubAccountsSubAccountArrayInput)(nil)).Elem(), GetSubAccountsSubAccountArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetUserPolicyAttachmentsUserPolicyAttachmentListInput)(nil)).Elem(), GetUserPolicyAttachmentsUserPolicyAttachmentListArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetUserPolicyAttachmentsUserPolicyAttachmentListArrayInput)(nil)).Elem(), GetUserPolicyAttachmentsUserPolicyAttachmentListArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetUsersUserListInput)(nil)).Elem(), GetUsersUserListArgs{}) @@ -3066,6 +3534,10 @@ func init() { pulumi.RegisterOutputType(GetPolicyGrantingServiceAccessListPolicyArrayOutput{}) pulumi.RegisterOutputType(GetPolicyGrantingServiceAccessListServiceOutput{}) pulumi.RegisterOutputType(GetPolicyGrantingServiceAccessListServiceArrayOutput{}) + pulumi.RegisterOutputType(GetRoleDetailRoleInfoOutput{}) + pulumi.RegisterOutputType(GetRoleDetailRoleInfoArrayOutput{}) + pulumi.RegisterOutputType(GetRoleDetailRoleInfoTagOutput{}) + pulumi.RegisterOutputType(GetRoleDetailRoleInfoTagArrayOutput{}) pulumi.RegisterOutputType(GetRolePolicyAttachmentsRolePolicyAttachmentListOutput{}) pulumi.RegisterOutputType(GetRolePolicyAttachmentsRolePolicyAttachmentListArrayOutput{}) pulumi.RegisterOutputType(GetRolesRoleListOutput{}) @@ -3074,6 +3546,8 @@ func init() { pulumi.RegisterOutputType(GetSamlProvidersProviderListArrayOutput{}) pulumi.RegisterOutputType(GetSecretLastUsedTimeSecretIdLastUsedRowOutput{}) pulumi.RegisterOutputType(GetSecretLastUsedTimeSecretIdLastUsedRowArrayOutput{}) + pulumi.RegisterOutputType(GetSubAccountsSubAccountOutput{}) + pulumi.RegisterOutputType(GetSubAccountsSubAccountArrayOutput{}) pulumi.RegisterOutputType(GetUserPolicyAttachmentsUserPolicyAttachmentListOutput{}) pulumi.RegisterOutputType(GetUserPolicyAttachmentsUserPolicyAttachmentListArrayOutput{}) pulumi.RegisterOutputType(GetUsersUserListOutput{}) 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/getRouteTableInputPolicies.go b/sdk/go/tencentcloud/ccn/getRouteTableInputPolicies.go new file mode 100644 index 000000000..7d1c06953 --- /dev/null +++ b/sdk/go/tencentcloud/ccn/getRouteTableInputPolicies.go @@ -0,0 +1,150 @@ +// 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 CCN route table input policies. +// +// ## Example Usage +// +// +// ```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.GetRouteTableInputPolicies(ctx, &ccn.GetRouteTableInputPoliciesArgs{ +// CcnId: "ccn-06jek8tf", +// RouteTableId: "ccnrtb-4jv5ltb9", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +func LookupRouteTableInputPolicies(ctx *pulumi.Context, args *LookupRouteTableInputPoliciesArgs, opts ...pulumi.InvokeOption) (*LookupRouteTableInputPoliciesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupRouteTableInputPoliciesResult + err := ctx.Invoke("tencentcloud:Ccn/getRouteTableInputPolicies:getRouteTableInputPolicies", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getRouteTableInputPolicies. +type LookupRouteTableInputPoliciesArgs struct { + // CCN Instance ID. + CcnId string `pulumi:"ccnId"` + // Policy version. + PolicyVersion *int `pulumi:"policyVersion"` + // Used to save results. + ResultOutputFile *string `pulumi:"resultOutputFile"` + // CCN Route table ID. + RouteTableId string `pulumi:"routeTableId"` +} + +// A collection of values returned by getRouteTableInputPolicies. +type LookupRouteTableInputPoliciesResult struct { + CcnId string `pulumi:"ccnId"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + // Policy set. + PolicySets []GetRouteTableInputPoliciesPolicySet `pulumi:"policySets"` + PolicyVersion *int `pulumi:"policyVersion"` + ResultOutputFile *string `pulumi:"resultOutputFile"` + RouteTableId string `pulumi:"routeTableId"` +} + +func LookupRouteTableInputPoliciesOutput(ctx *pulumi.Context, args LookupRouteTableInputPoliciesOutputArgs, opts ...pulumi.InvokeOption) LookupRouteTableInputPoliciesResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupRouteTableInputPoliciesResult, error) { + args := v.(LookupRouteTableInputPoliciesArgs) + r, err := LookupRouteTableInputPolicies(ctx, &args, opts...) + var s LookupRouteTableInputPoliciesResult + if r != nil { + s = *r + } + return s, err + }).(LookupRouteTableInputPoliciesResultOutput) +} + +// A collection of arguments for invoking getRouteTableInputPolicies. +type LookupRouteTableInputPoliciesOutputArgs struct { + // CCN Instance ID. + CcnId pulumi.StringInput `pulumi:"ccnId"` + // Policy version. + PolicyVersion pulumi.IntPtrInput `pulumi:"policyVersion"` + // Used to save results. + ResultOutputFile pulumi.StringPtrInput `pulumi:"resultOutputFile"` + // CCN Route table ID. + RouteTableId pulumi.StringInput `pulumi:"routeTableId"` +} + +func (LookupRouteTableInputPoliciesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupRouteTableInputPoliciesArgs)(nil)).Elem() +} + +// A collection of values returned by getRouteTableInputPolicies. +type LookupRouteTableInputPoliciesResultOutput struct{ *pulumi.OutputState } + +func (LookupRouteTableInputPoliciesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupRouteTableInputPoliciesResult)(nil)).Elem() +} + +func (o LookupRouteTableInputPoliciesResultOutput) ToLookupRouteTableInputPoliciesResultOutput() LookupRouteTableInputPoliciesResultOutput { + return o +} + +func (o LookupRouteTableInputPoliciesResultOutput) ToLookupRouteTableInputPoliciesResultOutputWithContext(ctx context.Context) LookupRouteTableInputPoliciesResultOutput { + return o +} + +func (o LookupRouteTableInputPoliciesResultOutput) CcnId() pulumi.StringOutput { + return o.ApplyT(func(v LookupRouteTableInputPoliciesResult) string { return v.CcnId }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupRouteTableInputPoliciesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupRouteTableInputPoliciesResult) string { return v.Id }).(pulumi.StringOutput) +} + +// Policy set. +func (o LookupRouteTableInputPoliciesResultOutput) PolicySets() GetRouteTableInputPoliciesPolicySetArrayOutput { + return o.ApplyT(func(v LookupRouteTableInputPoliciesResult) []GetRouteTableInputPoliciesPolicySet { return v.PolicySets }).(GetRouteTableInputPoliciesPolicySetArrayOutput) +} + +func (o LookupRouteTableInputPoliciesResultOutput) PolicyVersion() pulumi.IntPtrOutput { + return o.ApplyT(func(v LookupRouteTableInputPoliciesResult) *int { return v.PolicyVersion }).(pulumi.IntPtrOutput) +} + +func (o LookupRouteTableInputPoliciesResultOutput) ResultOutputFile() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupRouteTableInputPoliciesResult) *string { return v.ResultOutputFile }).(pulumi.StringPtrOutput) +} + +func (o LookupRouteTableInputPoliciesResultOutput) RouteTableId() pulumi.StringOutput { + return o.ApplyT(func(v LookupRouteTableInputPoliciesResult) string { return v.RouteTableId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupRouteTableInputPoliciesResultOutput{}) +} 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..3fffef93c 100644 --- a/sdk/go/tencentcloud/ccn/pulumiTypes.go +++ b/sdk/go/tencentcloud/ccn/pulumiTypes.go @@ -412,979 +412,2486 @@ func (o InstancesResetAttachInstanceArrayOutput) Index(i pulumi.IntInput) Instan }).(InstancesResetAttachInstanceOutput) } -type GetBandwidthLimitsLimit struct { - // Limitation of bandwidth. - BandwidthLimit int `pulumi:"bandwidthLimit"` - // Destination area restriction. - DstRegion string `pulumi:"dstRegion"` - // Limitation of region. - Region string `pulumi:"region"` +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"` } -// GetBandwidthLimitsLimitInput is an input type that accepts GetBandwidthLimitsLimitArgs and GetBandwidthLimitsLimitOutput values. -// You can construct a concrete instance of `GetBandwidthLimitsLimitInput` via: +// RouteTableAssociateInstanceConfigInstanceInput is an input type that accepts RouteTableAssociateInstanceConfigInstanceArgs and RouteTableAssociateInstanceConfigInstanceOutput values. +// You can construct a concrete instance of `RouteTableAssociateInstanceConfigInstanceInput` via: // -// GetBandwidthLimitsLimitArgs{...} -type GetBandwidthLimitsLimitInput interface { +// RouteTableAssociateInstanceConfigInstanceArgs{...} +type RouteTableAssociateInstanceConfigInstanceInput interface { pulumi.Input - ToGetBandwidthLimitsLimitOutput() GetBandwidthLimitsLimitOutput - ToGetBandwidthLimitsLimitOutputWithContext(context.Context) GetBandwidthLimitsLimitOutput + ToRouteTableAssociateInstanceConfigInstanceOutput() RouteTableAssociateInstanceConfigInstanceOutput + ToRouteTableAssociateInstanceConfigInstanceOutputWithContext(context.Context) RouteTableAssociateInstanceConfigInstanceOutput } -type GetBandwidthLimitsLimitArgs struct { - // Limitation of bandwidth. - BandwidthLimit pulumi.IntInput `pulumi:"bandwidthLimit"` - // Destination area restriction. - DstRegion pulumi.StringInput `pulumi:"dstRegion"` - // Limitation of region. - Region pulumi.StringInput `pulumi:"region"` +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 (GetBandwidthLimitsLimitArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetBandwidthLimitsLimit)(nil)).Elem() +func (RouteTableAssociateInstanceConfigInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteTableAssociateInstanceConfigInstance)(nil)).Elem() } -func (i GetBandwidthLimitsLimitArgs) ToGetBandwidthLimitsLimitOutput() GetBandwidthLimitsLimitOutput { - return i.ToGetBandwidthLimitsLimitOutputWithContext(context.Background()) +func (i RouteTableAssociateInstanceConfigInstanceArgs) ToRouteTableAssociateInstanceConfigInstanceOutput() RouteTableAssociateInstanceConfigInstanceOutput { + return i.ToRouteTableAssociateInstanceConfigInstanceOutputWithContext(context.Background()) } -func (i GetBandwidthLimitsLimitArgs) ToGetBandwidthLimitsLimitOutputWithContext(ctx context.Context) GetBandwidthLimitsLimitOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetBandwidthLimitsLimitOutput) +func (i RouteTableAssociateInstanceConfigInstanceArgs) ToRouteTableAssociateInstanceConfigInstanceOutputWithContext(ctx context.Context) RouteTableAssociateInstanceConfigInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableAssociateInstanceConfigInstanceOutput) } -// GetBandwidthLimitsLimitArrayInput is an input type that accepts GetBandwidthLimitsLimitArray and GetBandwidthLimitsLimitArrayOutput values. -// You can construct a concrete instance of `GetBandwidthLimitsLimitArrayInput` via: +// RouteTableAssociateInstanceConfigInstanceArrayInput is an input type that accepts RouteTableAssociateInstanceConfigInstanceArray and RouteTableAssociateInstanceConfigInstanceArrayOutput values. +// You can construct a concrete instance of `RouteTableAssociateInstanceConfigInstanceArrayInput` via: // -// GetBandwidthLimitsLimitArray{ GetBandwidthLimitsLimitArgs{...} } -type GetBandwidthLimitsLimitArrayInput interface { +// RouteTableAssociateInstanceConfigInstanceArray{ RouteTableAssociateInstanceConfigInstanceArgs{...} } +type RouteTableAssociateInstanceConfigInstanceArrayInput interface { pulumi.Input - ToGetBandwidthLimitsLimitArrayOutput() GetBandwidthLimitsLimitArrayOutput - ToGetBandwidthLimitsLimitArrayOutputWithContext(context.Context) GetBandwidthLimitsLimitArrayOutput + ToRouteTableAssociateInstanceConfigInstanceArrayOutput() RouteTableAssociateInstanceConfigInstanceArrayOutput + ToRouteTableAssociateInstanceConfigInstanceArrayOutputWithContext(context.Context) RouteTableAssociateInstanceConfigInstanceArrayOutput } -type GetBandwidthLimitsLimitArray []GetBandwidthLimitsLimitInput +type RouteTableAssociateInstanceConfigInstanceArray []RouteTableAssociateInstanceConfigInstanceInput -func (GetBandwidthLimitsLimitArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetBandwidthLimitsLimit)(nil)).Elem() +func (RouteTableAssociateInstanceConfigInstanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteTableAssociateInstanceConfigInstance)(nil)).Elem() } -func (i GetBandwidthLimitsLimitArray) ToGetBandwidthLimitsLimitArrayOutput() GetBandwidthLimitsLimitArrayOutput { - return i.ToGetBandwidthLimitsLimitArrayOutputWithContext(context.Background()) +func (i RouteTableAssociateInstanceConfigInstanceArray) ToRouteTableAssociateInstanceConfigInstanceArrayOutput() RouteTableAssociateInstanceConfigInstanceArrayOutput { + return i.ToRouteTableAssociateInstanceConfigInstanceArrayOutputWithContext(context.Background()) } -func (i GetBandwidthLimitsLimitArray) ToGetBandwidthLimitsLimitArrayOutputWithContext(ctx context.Context) GetBandwidthLimitsLimitArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetBandwidthLimitsLimitArrayOutput) +func (i RouteTableAssociateInstanceConfigInstanceArray) ToRouteTableAssociateInstanceConfigInstanceArrayOutputWithContext(ctx context.Context) RouteTableAssociateInstanceConfigInstanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableAssociateInstanceConfigInstanceArrayOutput) } -type GetBandwidthLimitsLimitOutput struct{ *pulumi.OutputState } +type RouteTableAssociateInstanceConfigInstanceOutput struct{ *pulumi.OutputState } -func (GetBandwidthLimitsLimitOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetBandwidthLimitsLimit)(nil)).Elem() +func (RouteTableAssociateInstanceConfigInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteTableAssociateInstanceConfigInstance)(nil)).Elem() } -func (o GetBandwidthLimitsLimitOutput) ToGetBandwidthLimitsLimitOutput() GetBandwidthLimitsLimitOutput { +func (o RouteTableAssociateInstanceConfigInstanceOutput) ToRouteTableAssociateInstanceConfigInstanceOutput() RouteTableAssociateInstanceConfigInstanceOutput { return o } -func (o GetBandwidthLimitsLimitOutput) ToGetBandwidthLimitsLimitOutputWithContext(ctx context.Context) GetBandwidthLimitsLimitOutput { +func (o RouteTableAssociateInstanceConfigInstanceOutput) ToRouteTableAssociateInstanceConfigInstanceOutputWithContext(ctx context.Context) RouteTableAssociateInstanceConfigInstanceOutput { return o } -// Limitation of bandwidth. -func (o GetBandwidthLimitsLimitOutput) BandwidthLimit() pulumi.IntOutput { - return o.ApplyT(func(v GetBandwidthLimitsLimit) int { return v.BandwidthLimit }).(pulumi.IntOutput) -} - -// Destination area restriction. -func (o GetBandwidthLimitsLimitOutput) DstRegion() pulumi.StringOutput { - return o.ApplyT(func(v GetBandwidthLimitsLimit) string { return v.DstRegion }).(pulumi.StringOutput) +// Instances ID. +func (o RouteTableAssociateInstanceConfigInstanceOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v RouteTableAssociateInstanceConfigInstance) string { return v.InstanceId }).(pulumi.StringOutput) } -// Limitation of region. -func (o GetBandwidthLimitsLimitOutput) Region() pulumi.StringOutput { - return o.ApplyT(func(v GetBandwidthLimitsLimit) string { return v.Region }).(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 GetBandwidthLimitsLimitArrayOutput struct{ *pulumi.OutputState } +type RouteTableAssociateInstanceConfigInstanceArrayOutput struct{ *pulumi.OutputState } -func (GetBandwidthLimitsLimitArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetBandwidthLimitsLimit)(nil)).Elem() +func (RouteTableAssociateInstanceConfigInstanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteTableAssociateInstanceConfigInstance)(nil)).Elem() } -func (o GetBandwidthLimitsLimitArrayOutput) ToGetBandwidthLimitsLimitArrayOutput() GetBandwidthLimitsLimitArrayOutput { +func (o RouteTableAssociateInstanceConfigInstanceArrayOutput) ToRouteTableAssociateInstanceConfigInstanceArrayOutput() RouteTableAssociateInstanceConfigInstanceArrayOutput { return o } -func (o GetBandwidthLimitsLimitArrayOutput) ToGetBandwidthLimitsLimitArrayOutputWithContext(ctx context.Context) GetBandwidthLimitsLimitArrayOutput { +func (o RouteTableAssociateInstanceConfigInstanceArrayOutput) ToRouteTableAssociateInstanceConfigInstanceArrayOutputWithContext(ctx context.Context) RouteTableAssociateInstanceConfigInstanceArrayOutput { return o } -func (o GetBandwidthLimitsLimitArrayOutput) Index(i pulumi.IntInput) GetBandwidthLimitsLimitOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetBandwidthLimitsLimit { - return vs[0].([]GetBandwidthLimitsLimit)[vs[1].(int)] - }).(GetBandwidthLimitsLimitOutput) +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 GetCrossBorderFlowMonitorCrossBorderFlowMonitorData struct { - // in bandwidth, `bps`. - InBandwidths []int `pulumi:"inBandwidths"` - // in pkg, `pps`. - InPkgs []int `pulumi:"inPkgs"` - // out bandwidth, `bps`. - OutBandwidths []int `pulumi:"outBandwidths"` - // out pkg, `pps`. - OutPkgs []int `pulumi:"outPkgs"` +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"` } -// GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataInput is an input type that accepts GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArgs and GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput values. -// You can construct a concrete instance of `GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataInput` via: +// RouteTableBroadcastPoliciesPolicyInput is an input type that accepts RouteTableBroadcastPoliciesPolicyArgs and RouteTableBroadcastPoliciesPolicyOutput values. +// You can construct a concrete instance of `RouteTableBroadcastPoliciesPolicyInput` via: // -// GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArgs{...} -type GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataInput interface { +// RouteTableBroadcastPoliciesPolicyArgs{...} +type RouteTableBroadcastPoliciesPolicyInput interface { pulumi.Input - ToGetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput() GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput - ToGetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutputWithContext(context.Context) GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput + ToRouteTableBroadcastPoliciesPolicyOutput() RouteTableBroadcastPoliciesPolicyOutput + ToRouteTableBroadcastPoliciesPolicyOutputWithContext(context.Context) RouteTableBroadcastPoliciesPolicyOutput } -type GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArgs struct { - // in bandwidth, `bps`. - InBandwidths pulumi.IntArrayInput `pulumi:"inBandwidths"` - // in pkg, `pps`. - InPkgs pulumi.IntArrayInput `pulumi:"inPkgs"` - // out bandwidth, `bps`. - OutBandwidths pulumi.IntArrayInput `pulumi:"outBandwidths"` - // out pkg, `pps`. - OutPkgs pulumi.IntArrayInput `pulumi:"outPkgs"` +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 (GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCrossBorderFlowMonitorCrossBorderFlowMonitorData)(nil)).Elem() +func (RouteTableBroadcastPoliciesPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteTableBroadcastPoliciesPolicy)(nil)).Elem() } -func (i GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArgs) ToGetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput() GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput { - return i.ToGetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutputWithContext(context.Background()) +func (i RouteTableBroadcastPoliciesPolicyArgs) ToRouteTableBroadcastPoliciesPolicyOutput() RouteTableBroadcastPoliciesPolicyOutput { + return i.ToRouteTableBroadcastPoliciesPolicyOutputWithContext(context.Background()) } -func (i GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArgs) ToGetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutputWithContext(ctx context.Context) GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput) +func (i RouteTableBroadcastPoliciesPolicyArgs) ToRouteTableBroadcastPoliciesPolicyOutputWithContext(ctx context.Context) RouteTableBroadcastPoliciesPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableBroadcastPoliciesPolicyOutput) } -// GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayInput is an input type that accepts GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArray and GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutput values. -// You can construct a concrete instance of `GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayInput` via: +// RouteTableBroadcastPoliciesPolicyArrayInput is an input type that accepts RouteTableBroadcastPoliciesPolicyArray and RouteTableBroadcastPoliciesPolicyArrayOutput values. +// You can construct a concrete instance of `RouteTableBroadcastPoliciesPolicyArrayInput` via: // -// GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArray{ GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArgs{...} } -type GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayInput interface { +// RouteTableBroadcastPoliciesPolicyArray{ RouteTableBroadcastPoliciesPolicyArgs{...} } +type RouteTableBroadcastPoliciesPolicyArrayInput interface { pulumi.Input - ToGetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutput() GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutput - ToGetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutputWithContext(context.Context) GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutput + ToRouteTableBroadcastPoliciesPolicyArrayOutput() RouteTableBroadcastPoliciesPolicyArrayOutput + ToRouteTableBroadcastPoliciesPolicyArrayOutputWithContext(context.Context) RouteTableBroadcastPoliciesPolicyArrayOutput } -type GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArray []GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataInput +type RouteTableBroadcastPoliciesPolicyArray []RouteTableBroadcastPoliciesPolicyInput -func (GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCrossBorderFlowMonitorCrossBorderFlowMonitorData)(nil)).Elem() +func (RouteTableBroadcastPoliciesPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteTableBroadcastPoliciesPolicy)(nil)).Elem() } -func (i GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArray) ToGetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutput() GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutput { - return i.ToGetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutputWithContext(context.Background()) +func (i RouteTableBroadcastPoliciesPolicyArray) ToRouteTableBroadcastPoliciesPolicyArrayOutput() RouteTableBroadcastPoliciesPolicyArrayOutput { + return i.ToRouteTableBroadcastPoliciesPolicyArrayOutputWithContext(context.Background()) } -func (i GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArray) ToGetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutputWithContext(ctx context.Context) GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutput) +func (i RouteTableBroadcastPoliciesPolicyArray) ToRouteTableBroadcastPoliciesPolicyArrayOutputWithContext(ctx context.Context) RouteTableBroadcastPoliciesPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableBroadcastPoliciesPolicyArrayOutput) } -type GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput struct{ *pulumi.OutputState } +type RouteTableBroadcastPoliciesPolicyOutput struct{ *pulumi.OutputState } -func (GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCrossBorderFlowMonitorCrossBorderFlowMonitorData)(nil)).Elem() +func (RouteTableBroadcastPoliciesPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteTableBroadcastPoliciesPolicy)(nil)).Elem() } -func (o GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput) ToGetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput() GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput { +func (o RouteTableBroadcastPoliciesPolicyOutput) ToRouteTableBroadcastPoliciesPolicyOutput() RouteTableBroadcastPoliciesPolicyOutput { return o } -func (o GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput) ToGetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutputWithContext(ctx context.Context) GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput { +func (o RouteTableBroadcastPoliciesPolicyOutput) ToRouteTableBroadcastPoliciesPolicyOutputWithContext(ctx context.Context) RouteTableBroadcastPoliciesPolicyOutput { return o } -// in bandwidth, `bps`. -func (o GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput) InBandwidths() pulumi.IntArrayOutput { - return o.ApplyT(func(v GetCrossBorderFlowMonitorCrossBorderFlowMonitorData) []int { return v.InBandwidths }).(pulumi.IntArrayOutput) +// Routing behavior, `accept` allows, `drop` rejects. +func (o RouteTableBroadcastPoliciesPolicyOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v RouteTableBroadcastPoliciesPolicy) string { return v.Action }).(pulumi.StringOutput) } -// in pkg, `pps`. -func (o GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput) InPkgs() pulumi.IntArrayOutput { - return o.ApplyT(func(v GetCrossBorderFlowMonitorCrossBorderFlowMonitorData) []int { return v.InPkgs }).(pulumi.IntArrayOutput) +// propagation conditions. +func (o RouteTableBroadcastPoliciesPolicyOutput) BroadcastConditions() RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutput { + return o.ApplyT(func(v RouteTableBroadcastPoliciesPolicy) []RouteTableBroadcastPoliciesPolicyBroadcastCondition { + return v.BroadcastConditions + }).(RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutput) } -// out bandwidth, `bps`. -func (o GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput) OutBandwidths() pulumi.IntArrayOutput { - return o.ApplyT(func(v GetCrossBorderFlowMonitorCrossBorderFlowMonitorData) []int { return v.OutBandwidths }).(pulumi.IntArrayOutput) +// Policy description. +func (o RouteTableBroadcastPoliciesPolicyOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v RouteTableBroadcastPoliciesPolicy) string { return v.Description }).(pulumi.StringOutput) } -// out pkg, `pps`. -func (o GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput) OutPkgs() pulumi.IntArrayOutput { - return o.ApplyT(func(v GetCrossBorderFlowMonitorCrossBorderFlowMonitorData) []int { return v.OutPkgs }).(pulumi.IntArrayOutput) +// Routing conditions. +func (o RouteTableBroadcastPoliciesPolicyOutput) RouteConditions() RouteTableBroadcastPoliciesPolicyRouteConditionArrayOutput { + return o.ApplyT(func(v RouteTableBroadcastPoliciesPolicy) []RouteTableBroadcastPoliciesPolicyRouteCondition { + return v.RouteConditions + }).(RouteTableBroadcastPoliciesPolicyRouteConditionArrayOutput) } -type GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutput struct{ *pulumi.OutputState } +type RouteTableBroadcastPoliciesPolicyArrayOutput struct{ *pulumi.OutputState } -func (GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCrossBorderFlowMonitorCrossBorderFlowMonitorData)(nil)).Elem() +func (RouteTableBroadcastPoliciesPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteTableBroadcastPoliciesPolicy)(nil)).Elem() } -func (o GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutput) ToGetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutput() GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutput { +func (o RouteTableBroadcastPoliciesPolicyArrayOutput) ToRouteTableBroadcastPoliciesPolicyArrayOutput() RouteTableBroadcastPoliciesPolicyArrayOutput { return o } -func (o GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutput) ToGetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutputWithContext(ctx context.Context) GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutput { +func (o RouteTableBroadcastPoliciesPolicyArrayOutput) ToRouteTableBroadcastPoliciesPolicyArrayOutputWithContext(ctx context.Context) RouteTableBroadcastPoliciesPolicyArrayOutput { return o } -func (o GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutput) Index(i pulumi.IntInput) GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCrossBorderFlowMonitorCrossBorderFlowMonitorData { - return vs[0].([]GetCrossBorderFlowMonitorCrossBorderFlowMonitorData)[vs[1].(int)] - }).(GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput) +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 GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet struct { - // ccn id. - CcnId string `pulumi:"ccnId"` - // bandwidth limit of cross region. - CcnRegionBandwidthLimits []GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimit `pulumi:"ccnRegionBandwidthLimits"` - // create time. - CreatedTime string `pulumi:"createdTime"` - // expired time. - ExpiredTime string `pulumi:"expiredTime"` - // `POSTPAID` or `PREPAID`. - InstanceChargeType string `pulumi:"instanceChargeType"` - // if cross region. - IsCrossBorder bool `pulumi:"isCrossBorder"` - // `true` means locked. - IsSecurityLock bool `pulumi:"isSecurityLock"` - // market id. - MarketId string `pulumi:"marketId"` - // Id of RegionFlowControl. - RegionFlowControlId string `pulumi:"regionFlowControlId"` - // renew flag. - RenewFlag string `pulumi:"renewFlag"` - // update time. - UpdateTime string `pulumi:"updateTime"` - // user account id. - UserAccountId string `pulumi:"userAccountId"` +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"` } -// GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetInput is an input type that accepts GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArgs and GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput values. -// You can construct a concrete instance of `GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetInput` via: +// RouteTableBroadcastPoliciesPolicyBroadcastConditionInput is an input type that accepts RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs and RouteTableBroadcastPoliciesPolicyBroadcastConditionOutput values. +// You can construct a concrete instance of `RouteTableBroadcastPoliciesPolicyBroadcastConditionInput` via: // -// GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArgs{...} -type GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetInput interface { +// RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs{...} +type RouteTableBroadcastPoliciesPolicyBroadcastConditionInput interface { pulumi.Input - ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput() GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput - ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutputWithContext(context.Context) GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput + ToRouteTableBroadcastPoliciesPolicyBroadcastConditionOutput() RouteTableBroadcastPoliciesPolicyBroadcastConditionOutput + ToRouteTableBroadcastPoliciesPolicyBroadcastConditionOutputWithContext(context.Context) RouteTableBroadcastPoliciesPolicyBroadcastConditionOutput } -type GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArgs struct { - // ccn id. - CcnId pulumi.StringInput `pulumi:"ccnId"` - // bandwidth limit of cross region. - CcnRegionBandwidthLimits GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayInput `pulumi:"ccnRegionBandwidthLimits"` - // create time. - CreatedTime pulumi.StringInput `pulumi:"createdTime"` - // expired time. - ExpiredTime pulumi.StringInput `pulumi:"expiredTime"` - // `POSTPAID` or `PREPAID`. - InstanceChargeType pulumi.StringInput `pulumi:"instanceChargeType"` - // if cross region. - IsCrossBorder pulumi.BoolInput `pulumi:"isCrossBorder"` - // `true` means locked. - IsSecurityLock pulumi.BoolInput `pulumi:"isSecurityLock"` - // market id. - MarketId pulumi.StringInput `pulumi:"marketId"` - // Id of RegionFlowControl. - RegionFlowControlId pulumi.StringInput `pulumi:"regionFlowControlId"` - // renew flag. - RenewFlag pulumi.StringInput `pulumi:"renewFlag"` - // update time. - UpdateTime pulumi.StringInput `pulumi:"updateTime"` - // user account id. - UserAccountId pulumi.StringInput `pulumi:"userAccountId"` +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 (GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet)(nil)).Elem() +func (RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteTableBroadcastPoliciesPolicyBroadcastCondition)(nil)).Elem() } -func (i GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArgs) ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput() GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput { - return i.ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutputWithContext(context.Background()) +func (i RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs) ToRouteTableBroadcastPoliciesPolicyBroadcastConditionOutput() RouteTableBroadcastPoliciesPolicyBroadcastConditionOutput { + return i.ToRouteTableBroadcastPoliciesPolicyBroadcastConditionOutputWithContext(context.Background()) } -func (i GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArgs) ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutputWithContext(ctx context.Context) GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput) +func (i RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs) ToRouteTableBroadcastPoliciesPolicyBroadcastConditionOutputWithContext(ctx context.Context) RouteTableBroadcastPoliciesPolicyBroadcastConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableBroadcastPoliciesPolicyBroadcastConditionOutput) } -// GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayInput is an input type that accepts GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArray and GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutput values. -// You can construct a concrete instance of `GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayInput` via: +// RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayInput is an input type that accepts RouteTableBroadcastPoliciesPolicyBroadcastConditionArray and RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutput values. +// You can construct a concrete instance of `RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayInput` via: // -// GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArray{ GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArgs{...} } -type GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayInput interface { +// RouteTableBroadcastPoliciesPolicyBroadcastConditionArray{ RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs{...} } +type RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayInput interface { pulumi.Input - ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutput() GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutput - ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutputWithContext(context.Context) GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutput + ToRouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutput() RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutput + ToRouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutputWithContext(context.Context) RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutput } -type GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArray []GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetInput +type RouteTableBroadcastPoliciesPolicyBroadcastConditionArray []RouteTableBroadcastPoliciesPolicyBroadcastConditionInput -func (GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet)(nil)).Elem() +func (RouteTableBroadcastPoliciesPolicyBroadcastConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteTableBroadcastPoliciesPolicyBroadcastCondition)(nil)).Elem() } -func (i GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArray) ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutput() GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutput { - return i.ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutputWithContext(context.Background()) +func (i RouteTableBroadcastPoliciesPolicyBroadcastConditionArray) ToRouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutput() RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutput { + return i.ToRouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutputWithContext(context.Background()) } -func (i GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArray) ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutputWithContext(ctx context.Context) GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutput) +func (i RouteTableBroadcastPoliciesPolicyBroadcastConditionArray) ToRouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutputWithContext(ctx context.Context) RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutput) } -type GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput struct{ *pulumi.OutputState } +type RouteTableBroadcastPoliciesPolicyBroadcastConditionOutput struct{ *pulumi.OutputState } -func (GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet)(nil)).Elem() +func (RouteTableBroadcastPoliciesPolicyBroadcastConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteTableBroadcastPoliciesPolicyBroadcastCondition)(nil)).Elem() } -func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput) ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput() GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput { +func (o RouteTableBroadcastPoliciesPolicyBroadcastConditionOutput) ToRouteTableBroadcastPoliciesPolicyBroadcastConditionOutput() RouteTableBroadcastPoliciesPolicyBroadcastConditionOutput { return o } -func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput) ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutputWithContext(ctx context.Context) GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput { +func (o RouteTableBroadcastPoliciesPolicyBroadcastConditionOutput) ToRouteTableBroadcastPoliciesPolicyBroadcastConditionOutputWithContext(ctx context.Context) RouteTableBroadcastPoliciesPolicyBroadcastConditionOutput { return o } -// ccn id. -func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput) CcnId() pulumi.StringOutput { - return o.ApplyT(func(v GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet) string { return v.CcnId }).(pulumi.StringOutput) +// 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) } -// bandwidth limit of cross region. -func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput) CcnRegionBandwidthLimits() GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutput { - return o.ApplyT(func(v GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet) []GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimit { - return v.CcnRegionBandwidthLimits - }).(GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutput) +// condition type. +func (o RouteTableBroadcastPoliciesPolicyBroadcastConditionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v RouteTableBroadcastPoliciesPolicyBroadcastCondition) string { return v.Name }).(pulumi.StringOutput) } -// create time. -func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput) CreatedTime() pulumi.StringOutput { - return o.ApplyT(func(v GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet) string { return v.CreatedTime }).(pulumi.StringOutput) +// List of conditional values. +func (o RouteTableBroadcastPoliciesPolicyBroadcastConditionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v RouteTableBroadcastPoliciesPolicyBroadcastCondition) []string { return v.Values }).(pulumi.StringArrayOutput) } -// expired time. -func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput) ExpiredTime() pulumi.StringOutput { - return o.ApplyT(func(v GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet) string { return v.ExpiredTime }).(pulumi.StringOutput) +type RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutput struct{ *pulumi.OutputState } + +func (RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteTableBroadcastPoliciesPolicyBroadcastCondition)(nil)).Elem() } -// `POSTPAID` or `PREPAID`. -func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput) InstanceChargeType() pulumi.StringOutput { - return o.ApplyT(func(v GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet) string { return v.InstanceChargeType }).(pulumi.StringOutput) +func (o RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutput) ToRouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutput() RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutput { + return o } -// if cross region. -func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput) IsCrossBorder() pulumi.BoolOutput { - return o.ApplyT(func(v GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet) bool { return v.IsCrossBorder }).(pulumi.BoolOutput) +func (o RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutput) ToRouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutputWithContext(ctx context.Context) RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutput { + return o } -// `true` means locked. -func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput) IsSecurityLock() pulumi.BoolOutput { - return o.ApplyT(func(v GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet) bool { return v.IsSecurityLock }).(pulumi.BoolOutput) +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) } -// market id. -func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput) MarketId() pulumi.StringOutput { - return o.ApplyT(func(v GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet) string { return v.MarketId }).(pulumi.StringOutput) +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"` } -// Id of RegionFlowControl. -func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput) RegionFlowControlId() pulumi.StringOutput { +// 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"` + // Destination area restriction. + DstRegion string `pulumi:"dstRegion"` + // Limitation of region. + Region string `pulumi:"region"` +} + +// GetBandwidthLimitsLimitInput is an input type that accepts GetBandwidthLimitsLimitArgs and GetBandwidthLimitsLimitOutput values. +// You can construct a concrete instance of `GetBandwidthLimitsLimitInput` via: +// +// GetBandwidthLimitsLimitArgs{...} +type GetBandwidthLimitsLimitInput interface { + pulumi.Input + + ToGetBandwidthLimitsLimitOutput() GetBandwidthLimitsLimitOutput + ToGetBandwidthLimitsLimitOutputWithContext(context.Context) GetBandwidthLimitsLimitOutput +} + +type GetBandwidthLimitsLimitArgs struct { + // Limitation of bandwidth. + BandwidthLimit pulumi.IntInput `pulumi:"bandwidthLimit"` + // Destination area restriction. + DstRegion pulumi.StringInput `pulumi:"dstRegion"` + // Limitation of region. + Region pulumi.StringInput `pulumi:"region"` +} + +func (GetBandwidthLimitsLimitArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetBandwidthLimitsLimit)(nil)).Elem() +} + +func (i GetBandwidthLimitsLimitArgs) ToGetBandwidthLimitsLimitOutput() GetBandwidthLimitsLimitOutput { + return i.ToGetBandwidthLimitsLimitOutputWithContext(context.Background()) +} + +func (i GetBandwidthLimitsLimitArgs) ToGetBandwidthLimitsLimitOutputWithContext(ctx context.Context) GetBandwidthLimitsLimitOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetBandwidthLimitsLimitOutput) +} + +// GetBandwidthLimitsLimitArrayInput is an input type that accepts GetBandwidthLimitsLimitArray and GetBandwidthLimitsLimitArrayOutput values. +// You can construct a concrete instance of `GetBandwidthLimitsLimitArrayInput` via: +// +// GetBandwidthLimitsLimitArray{ GetBandwidthLimitsLimitArgs{...} } +type GetBandwidthLimitsLimitArrayInput interface { + pulumi.Input + + ToGetBandwidthLimitsLimitArrayOutput() GetBandwidthLimitsLimitArrayOutput + ToGetBandwidthLimitsLimitArrayOutputWithContext(context.Context) GetBandwidthLimitsLimitArrayOutput +} + +type GetBandwidthLimitsLimitArray []GetBandwidthLimitsLimitInput + +func (GetBandwidthLimitsLimitArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetBandwidthLimitsLimit)(nil)).Elem() +} + +func (i GetBandwidthLimitsLimitArray) ToGetBandwidthLimitsLimitArrayOutput() GetBandwidthLimitsLimitArrayOutput { + return i.ToGetBandwidthLimitsLimitArrayOutputWithContext(context.Background()) +} + +func (i GetBandwidthLimitsLimitArray) ToGetBandwidthLimitsLimitArrayOutputWithContext(ctx context.Context) GetBandwidthLimitsLimitArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetBandwidthLimitsLimitArrayOutput) +} + +type GetBandwidthLimitsLimitOutput struct{ *pulumi.OutputState } + +func (GetBandwidthLimitsLimitOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetBandwidthLimitsLimit)(nil)).Elem() +} + +func (o GetBandwidthLimitsLimitOutput) ToGetBandwidthLimitsLimitOutput() GetBandwidthLimitsLimitOutput { + return o +} + +func (o GetBandwidthLimitsLimitOutput) ToGetBandwidthLimitsLimitOutputWithContext(ctx context.Context) GetBandwidthLimitsLimitOutput { + return o +} + +// Limitation of bandwidth. +func (o GetBandwidthLimitsLimitOutput) BandwidthLimit() pulumi.IntOutput { + return o.ApplyT(func(v GetBandwidthLimitsLimit) int { return v.BandwidthLimit }).(pulumi.IntOutput) +} + +// Destination area restriction. +func (o GetBandwidthLimitsLimitOutput) DstRegion() pulumi.StringOutput { + return o.ApplyT(func(v GetBandwidthLimitsLimit) string { return v.DstRegion }).(pulumi.StringOutput) +} + +// Limitation of region. +func (o GetBandwidthLimitsLimitOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v GetBandwidthLimitsLimit) string { return v.Region }).(pulumi.StringOutput) +} + +type GetBandwidthLimitsLimitArrayOutput struct{ *pulumi.OutputState } + +func (GetBandwidthLimitsLimitArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetBandwidthLimitsLimit)(nil)).Elem() +} + +func (o GetBandwidthLimitsLimitArrayOutput) ToGetBandwidthLimitsLimitArrayOutput() GetBandwidthLimitsLimitArrayOutput { + return o +} + +func (o GetBandwidthLimitsLimitArrayOutput) ToGetBandwidthLimitsLimitArrayOutputWithContext(ctx context.Context) GetBandwidthLimitsLimitArrayOutput { + return o +} + +func (o GetBandwidthLimitsLimitArrayOutput) Index(i pulumi.IntInput) GetBandwidthLimitsLimitOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetBandwidthLimitsLimit { + return vs[0].([]GetBandwidthLimitsLimit)[vs[1].(int)] + }).(GetBandwidthLimitsLimitOutput) +} + +type GetCrossBorderFlowMonitorCrossBorderFlowMonitorData struct { + // in bandwidth, `bps`. + InBandwidths []int `pulumi:"inBandwidths"` + // in pkg, `pps`. + InPkgs []int `pulumi:"inPkgs"` + // out bandwidth, `bps`. + OutBandwidths []int `pulumi:"outBandwidths"` + // out pkg, `pps`. + OutPkgs []int `pulumi:"outPkgs"` +} + +// GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataInput is an input type that accepts GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArgs and GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput values. +// You can construct a concrete instance of `GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataInput` via: +// +// GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArgs{...} +type GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataInput interface { + pulumi.Input + + ToGetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput() GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput + ToGetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutputWithContext(context.Context) GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput +} + +type GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArgs struct { + // in bandwidth, `bps`. + InBandwidths pulumi.IntArrayInput `pulumi:"inBandwidths"` + // in pkg, `pps`. + InPkgs pulumi.IntArrayInput `pulumi:"inPkgs"` + // out bandwidth, `bps`. + OutBandwidths pulumi.IntArrayInput `pulumi:"outBandwidths"` + // out pkg, `pps`. + OutPkgs pulumi.IntArrayInput `pulumi:"outPkgs"` +} + +func (GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCrossBorderFlowMonitorCrossBorderFlowMonitorData)(nil)).Elem() +} + +func (i GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArgs) ToGetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput() GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput { + return i.ToGetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutputWithContext(context.Background()) +} + +func (i GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArgs) ToGetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutputWithContext(ctx context.Context) GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput) +} + +// GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayInput is an input type that accepts GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArray and GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutput values. +// You can construct a concrete instance of `GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayInput` via: +// +// GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArray{ GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArgs{...} } +type GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayInput interface { + pulumi.Input + + ToGetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutput() GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutput + ToGetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutputWithContext(context.Context) GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutput +} + +type GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArray []GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataInput + +func (GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCrossBorderFlowMonitorCrossBorderFlowMonitorData)(nil)).Elem() +} + +func (i GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArray) ToGetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutput() GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutput { + return i.ToGetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutputWithContext(context.Background()) +} + +func (i GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArray) ToGetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutputWithContext(ctx context.Context) GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutput) +} + +type GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput struct{ *pulumi.OutputState } + +func (GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCrossBorderFlowMonitorCrossBorderFlowMonitorData)(nil)).Elem() +} + +func (o GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput) ToGetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput() GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput { + return o +} + +func (o GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput) ToGetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutputWithContext(ctx context.Context) GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput { + return o +} + +// in bandwidth, `bps`. +func (o GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput) InBandwidths() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetCrossBorderFlowMonitorCrossBorderFlowMonitorData) []int { return v.InBandwidths }).(pulumi.IntArrayOutput) +} + +// in pkg, `pps`. +func (o GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput) InPkgs() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetCrossBorderFlowMonitorCrossBorderFlowMonitorData) []int { return v.InPkgs }).(pulumi.IntArrayOutput) +} + +// out bandwidth, `bps`. +func (o GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput) OutBandwidths() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetCrossBorderFlowMonitorCrossBorderFlowMonitorData) []int { return v.OutBandwidths }).(pulumi.IntArrayOutput) +} + +// out pkg, `pps`. +func (o GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput) OutPkgs() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetCrossBorderFlowMonitorCrossBorderFlowMonitorData) []int { return v.OutPkgs }).(pulumi.IntArrayOutput) +} + +type GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutput struct{ *pulumi.OutputState } + +func (GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCrossBorderFlowMonitorCrossBorderFlowMonitorData)(nil)).Elem() +} + +func (o GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutput) ToGetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutput() GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutput { + return o +} + +func (o GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutput) ToGetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutputWithContext(ctx context.Context) GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutput { + return o +} + +func (o GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArrayOutput) Index(i pulumi.IntInput) GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCrossBorderFlowMonitorCrossBorderFlowMonitorData { + return vs[0].([]GetCrossBorderFlowMonitorCrossBorderFlowMonitorData)[vs[1].(int)] + }).(GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput) +} + +type GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet struct { + // ccn id. + CcnId string `pulumi:"ccnId"` + // bandwidth limit of cross region. + CcnRegionBandwidthLimits []GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimit `pulumi:"ccnRegionBandwidthLimits"` + // create time. + CreatedTime string `pulumi:"createdTime"` + // expired time. + ExpiredTime string `pulumi:"expiredTime"` + // `POSTPAID` or `PREPAID`. + InstanceChargeType string `pulumi:"instanceChargeType"` + // if cross region. + IsCrossBorder bool `pulumi:"isCrossBorder"` + // `true` means locked. + IsSecurityLock bool `pulumi:"isSecurityLock"` + // market id. + MarketId string `pulumi:"marketId"` + // Id of RegionFlowControl. + RegionFlowControlId string `pulumi:"regionFlowControlId"` + // renew flag. + RenewFlag string `pulumi:"renewFlag"` + // update time. + UpdateTime string `pulumi:"updateTime"` + // user account id. + UserAccountId string `pulumi:"userAccountId"` +} + +// GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetInput is an input type that accepts GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArgs and GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput values. +// You can construct a concrete instance of `GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetInput` via: +// +// GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArgs{...} +type GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetInput interface { + pulumi.Input + + ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput() GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput + ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutputWithContext(context.Context) GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput +} + +type GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArgs struct { + // ccn id. + CcnId pulumi.StringInput `pulumi:"ccnId"` + // bandwidth limit of cross region. + CcnRegionBandwidthLimits GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayInput `pulumi:"ccnRegionBandwidthLimits"` + // create time. + CreatedTime pulumi.StringInput `pulumi:"createdTime"` + // expired time. + ExpiredTime pulumi.StringInput `pulumi:"expiredTime"` + // `POSTPAID` or `PREPAID`. + InstanceChargeType pulumi.StringInput `pulumi:"instanceChargeType"` + // if cross region. + IsCrossBorder pulumi.BoolInput `pulumi:"isCrossBorder"` + // `true` means locked. + IsSecurityLock pulumi.BoolInput `pulumi:"isSecurityLock"` + // market id. + MarketId pulumi.StringInput `pulumi:"marketId"` + // Id of RegionFlowControl. + RegionFlowControlId pulumi.StringInput `pulumi:"regionFlowControlId"` + // renew flag. + RenewFlag pulumi.StringInput `pulumi:"renewFlag"` + // update time. + UpdateTime pulumi.StringInput `pulumi:"updateTime"` + // user account id. + UserAccountId pulumi.StringInput `pulumi:"userAccountId"` +} + +func (GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet)(nil)).Elem() +} + +func (i GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArgs) ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput() GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput { + return i.ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutputWithContext(context.Background()) +} + +func (i GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArgs) ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutputWithContext(ctx context.Context) GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput) +} + +// GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayInput is an input type that accepts GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArray and GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutput values. +// You can construct a concrete instance of `GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayInput` via: +// +// GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArray{ GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArgs{...} } +type GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayInput interface { + pulumi.Input + + ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutput() GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutput + ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutputWithContext(context.Context) GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutput +} + +type GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArray []GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetInput + +func (GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet)(nil)).Elem() +} + +func (i GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArray) ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutput() GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutput { + return i.ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutputWithContext(context.Background()) +} + +func (i GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArray) ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutputWithContext(ctx context.Context) GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutput) +} + +type GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput struct{ *pulumi.OutputState } + +func (GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet)(nil)).Elem() +} + +func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput) ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput() GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput { + return o +} + +func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput) ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutputWithContext(ctx context.Context) GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput { + return o +} + +// ccn id. +func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput) CcnId() pulumi.StringOutput { + return o.ApplyT(func(v GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet) string { return v.CcnId }).(pulumi.StringOutput) +} + +// bandwidth limit of cross region. +func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput) CcnRegionBandwidthLimits() GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutput { + return o.ApplyT(func(v GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet) []GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimit { + return v.CcnRegionBandwidthLimits + }).(GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutput) +} + +// create time. +func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput) CreatedTime() pulumi.StringOutput { + return o.ApplyT(func(v GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet) string { return v.CreatedTime }).(pulumi.StringOutput) +} + +// expired time. +func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput) ExpiredTime() pulumi.StringOutput { + return o.ApplyT(func(v GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet) string { return v.ExpiredTime }).(pulumi.StringOutput) +} + +// `POSTPAID` or `PREPAID`. +func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput) InstanceChargeType() pulumi.StringOutput { + return o.ApplyT(func(v GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet) string { return v.InstanceChargeType }).(pulumi.StringOutput) +} + +// if cross region. +func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput) IsCrossBorder() pulumi.BoolOutput { + return o.ApplyT(func(v GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet) bool { return v.IsCrossBorder }).(pulumi.BoolOutput) +} + +// `true` means locked. +func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput) IsSecurityLock() pulumi.BoolOutput { + return o.ApplyT(func(v GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet) bool { return v.IsSecurityLock }).(pulumi.BoolOutput) +} + +// market id. +func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput) MarketId() pulumi.StringOutput { + return o.ApplyT(func(v GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet) string { return v.MarketId }).(pulumi.StringOutput) +} + +// Id of RegionFlowControl. +func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput) RegionFlowControlId() pulumi.StringOutput { return o.ApplyT(func(v GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet) string { return v.RegionFlowControlId }).(pulumi.StringOutput) } -// renew flag. -func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput) RenewFlag() pulumi.StringOutput { - return o.ApplyT(func(v GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet) string { return v.RenewFlag }).(pulumi.StringOutput) +// renew flag. +func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput) RenewFlag() pulumi.StringOutput { + return o.ApplyT(func(v GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet) string { return v.RenewFlag }).(pulumi.StringOutput) +} + +// update time. +func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput) UpdateTime() pulumi.StringOutput { + return o.ApplyT(func(v GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet) string { return v.UpdateTime }).(pulumi.StringOutput) +} + +// user account id. +func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput) UserAccountId() pulumi.StringOutput { + return o.ApplyT(func(v GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet) string { return v.UserAccountId }).(pulumi.StringOutput) +} + +type GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutput struct{ *pulumi.OutputState } + +func (GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet)(nil)).Elem() +} + +func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutput) ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutput() GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutput { + return o +} + +func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutput) ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutputWithContext(ctx context.Context) GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutput { + return o +} + +func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutput) Index(i pulumi.IntInput) GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet { + return vs[0].([]GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet)[vs[1].(int)] + }).(GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput) +} + +type GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimit struct { + // bandwidth list(Mbps). + BandwidthLimit int `pulumi:"bandwidthLimit"` + // destination region, such as. + DestinationRegion string `pulumi:"destinationRegion"` + // source region, such as 'ap-shanghai'. + SourceRegion string `pulumi:"sourceRegion"` +} + +// GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitInput is an input type that accepts GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArgs and GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput values. +// You can construct a concrete instance of `GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitInput` via: +// +// GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArgs{...} +type GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitInput interface { + pulumi.Input + + ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput() GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput + ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutputWithContext(context.Context) GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput +} + +type GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArgs struct { + // bandwidth list(Mbps). + BandwidthLimit pulumi.IntInput `pulumi:"bandwidthLimit"` + // destination region, such as. + DestinationRegion pulumi.StringInput `pulumi:"destinationRegion"` + // source region, such as 'ap-shanghai'. + SourceRegion pulumi.StringInput `pulumi:"sourceRegion"` +} + +func (GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimit)(nil)).Elem() +} + +func (i GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArgs) ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput() GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput { + return i.ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutputWithContext(context.Background()) +} + +func (i GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArgs) ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutputWithContext(ctx context.Context) GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput) +} + +// GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayInput is an input type that accepts GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArray and GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutput values. +// You can construct a concrete instance of `GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayInput` via: +// +// GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArray{ GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArgs{...} } +type GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayInput interface { + pulumi.Input + + ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutput() GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutput + ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutputWithContext(context.Context) GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutput +} + +type GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArray []GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitInput + +func (GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimit)(nil)).Elem() +} + +func (i GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArray) ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutput() GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutput { + return i.ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutputWithContext(context.Background()) +} + +func (i GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArray) ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutputWithContext(ctx context.Context) GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutput) +} + +type GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput struct{ *pulumi.OutputState } + +func (GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimit)(nil)).Elem() +} + +func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput) ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput() GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput { + return o +} + +func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput) ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutputWithContext(ctx context.Context) GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput { + return o +} + +// bandwidth list(Mbps). +func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput) BandwidthLimit() pulumi.IntOutput { + return o.ApplyT(func(v GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimit) int { + return v.BandwidthLimit + }).(pulumi.IntOutput) +} + +// destination region, such as. +func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput) DestinationRegion() pulumi.StringOutput { + return o.ApplyT(func(v GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimit) string { + return v.DestinationRegion + }).(pulumi.StringOutput) +} + +// source region, such as 'ap-shanghai'. +func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput) SourceRegion() pulumi.StringOutput { + return o.ApplyT(func(v GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimit) string { + return v.SourceRegion + }).(pulumi.StringOutput) +} + +type GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutput struct{ *pulumi.OutputState } + +func (GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimit)(nil)).Elem() +} + +func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutput) ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutput() GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutput { + return o +} + +func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutput) ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutputWithContext(ctx context.Context) GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutput { + return o +} + +func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutput) Index(i pulumi.IntInput) GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimit { + return vs[0].([]GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimit)[vs[1].(int)] + }).(GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput) +} + +type GetCrossBorderRegionBandwidthLimitsFilter struct { + // attribute name. + Name string `pulumi:"name"` + // Value of the field. + Values []string `pulumi:"values"` +} + +// GetCrossBorderRegionBandwidthLimitsFilterInput is an input type that accepts GetCrossBorderRegionBandwidthLimitsFilterArgs and GetCrossBorderRegionBandwidthLimitsFilterOutput values. +// You can construct a concrete instance of `GetCrossBorderRegionBandwidthLimitsFilterInput` via: +// +// GetCrossBorderRegionBandwidthLimitsFilterArgs{...} +type GetCrossBorderRegionBandwidthLimitsFilterInput interface { + pulumi.Input + + ToGetCrossBorderRegionBandwidthLimitsFilterOutput() GetCrossBorderRegionBandwidthLimitsFilterOutput + ToGetCrossBorderRegionBandwidthLimitsFilterOutputWithContext(context.Context) GetCrossBorderRegionBandwidthLimitsFilterOutput +} + +type GetCrossBorderRegionBandwidthLimitsFilterArgs struct { + // attribute name. + Name pulumi.StringInput `pulumi:"name"` + // Value of the field. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetCrossBorderRegionBandwidthLimitsFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCrossBorderRegionBandwidthLimitsFilter)(nil)).Elem() +} + +func (i GetCrossBorderRegionBandwidthLimitsFilterArgs) ToGetCrossBorderRegionBandwidthLimitsFilterOutput() GetCrossBorderRegionBandwidthLimitsFilterOutput { + return i.ToGetCrossBorderRegionBandwidthLimitsFilterOutputWithContext(context.Background()) +} + +func (i GetCrossBorderRegionBandwidthLimitsFilterArgs) ToGetCrossBorderRegionBandwidthLimitsFilterOutputWithContext(ctx context.Context) GetCrossBorderRegionBandwidthLimitsFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCrossBorderRegionBandwidthLimitsFilterOutput) +} + +// GetCrossBorderRegionBandwidthLimitsFilterArrayInput is an input type that accepts GetCrossBorderRegionBandwidthLimitsFilterArray and GetCrossBorderRegionBandwidthLimitsFilterArrayOutput values. +// You can construct a concrete instance of `GetCrossBorderRegionBandwidthLimitsFilterArrayInput` via: +// +// GetCrossBorderRegionBandwidthLimitsFilterArray{ GetCrossBorderRegionBandwidthLimitsFilterArgs{...} } +type GetCrossBorderRegionBandwidthLimitsFilterArrayInput interface { + pulumi.Input + + ToGetCrossBorderRegionBandwidthLimitsFilterArrayOutput() GetCrossBorderRegionBandwidthLimitsFilterArrayOutput + ToGetCrossBorderRegionBandwidthLimitsFilterArrayOutputWithContext(context.Context) GetCrossBorderRegionBandwidthLimitsFilterArrayOutput +} + +type GetCrossBorderRegionBandwidthLimitsFilterArray []GetCrossBorderRegionBandwidthLimitsFilterInput + +func (GetCrossBorderRegionBandwidthLimitsFilterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCrossBorderRegionBandwidthLimitsFilter)(nil)).Elem() +} + +func (i GetCrossBorderRegionBandwidthLimitsFilterArray) ToGetCrossBorderRegionBandwidthLimitsFilterArrayOutput() GetCrossBorderRegionBandwidthLimitsFilterArrayOutput { + return i.ToGetCrossBorderRegionBandwidthLimitsFilterArrayOutputWithContext(context.Background()) +} + +func (i GetCrossBorderRegionBandwidthLimitsFilterArray) ToGetCrossBorderRegionBandwidthLimitsFilterArrayOutputWithContext(ctx context.Context) GetCrossBorderRegionBandwidthLimitsFilterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCrossBorderRegionBandwidthLimitsFilterArrayOutput) +} + +type GetCrossBorderRegionBandwidthLimitsFilterOutput struct{ *pulumi.OutputState } + +func (GetCrossBorderRegionBandwidthLimitsFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCrossBorderRegionBandwidthLimitsFilter)(nil)).Elem() +} + +func (o GetCrossBorderRegionBandwidthLimitsFilterOutput) ToGetCrossBorderRegionBandwidthLimitsFilterOutput() GetCrossBorderRegionBandwidthLimitsFilterOutput { + return o +} + +func (o GetCrossBorderRegionBandwidthLimitsFilterOutput) ToGetCrossBorderRegionBandwidthLimitsFilterOutputWithContext(ctx context.Context) GetCrossBorderRegionBandwidthLimitsFilterOutput { + return o +} + +// attribute name. +func (o GetCrossBorderRegionBandwidthLimitsFilterOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetCrossBorderRegionBandwidthLimitsFilter) string { return v.Name }).(pulumi.StringOutput) +} + +// Value of the field. +func (o GetCrossBorderRegionBandwidthLimitsFilterOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCrossBorderRegionBandwidthLimitsFilter) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetCrossBorderRegionBandwidthLimitsFilterArrayOutput struct{ *pulumi.OutputState } + +func (GetCrossBorderRegionBandwidthLimitsFilterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCrossBorderRegionBandwidthLimitsFilter)(nil)).Elem() +} + +func (o GetCrossBorderRegionBandwidthLimitsFilterArrayOutput) ToGetCrossBorderRegionBandwidthLimitsFilterArrayOutput() GetCrossBorderRegionBandwidthLimitsFilterArrayOutput { + return o +} + +func (o GetCrossBorderRegionBandwidthLimitsFilterArrayOutput) ToGetCrossBorderRegionBandwidthLimitsFilterArrayOutputWithContext(ctx context.Context) GetCrossBorderRegionBandwidthLimitsFilterArrayOutput { + return o +} + +func (o GetCrossBorderRegionBandwidthLimitsFilterArrayOutput) Index(i pulumi.IntInput) GetCrossBorderRegionBandwidthLimitsFilterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCrossBorderRegionBandwidthLimitsFilter { + return vs[0].([]GetCrossBorderRegionBandwidthLimitsFilter)[vs[1].(int)] + }).(GetCrossBorderRegionBandwidthLimitsFilterOutput) +} + +type GetInstancesInstanceList struct { + // Information list of instance is attached. + AttachmentLists []GetInstancesInstanceListAttachmentList `pulumi:"attachmentLists"` + // The speed limit type. + BandwidthLimitType string `pulumi:"bandwidthLimitType"` + // ID of the CCN to be queried. + CcnId string `pulumi:"ccnId"` + // Billing mode. + ChargeType string `pulumi:"chargeType"` + // Creation time of resource. + CreateTime string `pulumi:"createTime"` + // Description of the CCN. + Description string `pulumi:"description"` + // Name of the CCN to be queried. + Name string `pulumi:"name"` + // Service quality of CCN, and the available value include 'PT', 'AU', 'AG'. The default is 'AU'. + Qos string `pulumi:"qos"` + // States of instance. The available value include 'ISOLATED'(arrears) and 'AVAILABLE'. + State string `pulumi:"state"` +} + +// GetInstancesInstanceListInput is an input type that accepts GetInstancesInstanceListArgs and GetInstancesInstanceListOutput values. +// You can construct a concrete instance of `GetInstancesInstanceListInput` via: +// +// GetInstancesInstanceListArgs{...} +type GetInstancesInstanceListInput interface { + pulumi.Input + + ToGetInstancesInstanceListOutput() GetInstancesInstanceListOutput + ToGetInstancesInstanceListOutputWithContext(context.Context) GetInstancesInstanceListOutput +} + +type GetInstancesInstanceListArgs struct { + // Information list of instance is attached. + AttachmentLists GetInstancesInstanceListAttachmentListArrayInput `pulumi:"attachmentLists"` + // The speed limit type. + BandwidthLimitType pulumi.StringInput `pulumi:"bandwidthLimitType"` + // ID of the CCN to be queried. + CcnId pulumi.StringInput `pulumi:"ccnId"` + // Billing mode. + ChargeType pulumi.StringInput `pulumi:"chargeType"` + // Creation time of resource. + CreateTime pulumi.StringInput `pulumi:"createTime"` + // Description of the CCN. + Description pulumi.StringInput `pulumi:"description"` + // Name of the CCN to be queried. + Name pulumi.StringInput `pulumi:"name"` + // Service quality of CCN, and the available value include 'PT', 'AU', 'AG'. The default is 'AU'. + Qos pulumi.StringInput `pulumi:"qos"` + // States of instance. The available value include 'ISOLATED'(arrears) and 'AVAILABLE'. + State pulumi.StringInput `pulumi:"state"` +} + +func (GetInstancesInstanceListArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstancesInstanceList)(nil)).Elem() +} + +func (i GetInstancesInstanceListArgs) ToGetInstancesInstanceListOutput() GetInstancesInstanceListOutput { + return i.ToGetInstancesInstanceListOutputWithContext(context.Background()) +} + +func (i GetInstancesInstanceListArgs) ToGetInstancesInstanceListOutputWithContext(ctx context.Context) GetInstancesInstanceListOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetInstancesInstanceListOutput) +} + +// GetInstancesInstanceListArrayInput is an input type that accepts GetInstancesInstanceListArray and GetInstancesInstanceListArrayOutput values. +// You can construct a concrete instance of `GetInstancesInstanceListArrayInput` via: +// +// GetInstancesInstanceListArray{ GetInstancesInstanceListArgs{...} } +type GetInstancesInstanceListArrayInput interface { + pulumi.Input + + ToGetInstancesInstanceListArrayOutput() GetInstancesInstanceListArrayOutput + ToGetInstancesInstanceListArrayOutputWithContext(context.Context) GetInstancesInstanceListArrayOutput +} + +type GetInstancesInstanceListArray []GetInstancesInstanceListInput + +func (GetInstancesInstanceListArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetInstancesInstanceList)(nil)).Elem() +} + +func (i GetInstancesInstanceListArray) ToGetInstancesInstanceListArrayOutput() GetInstancesInstanceListArrayOutput { + return i.ToGetInstancesInstanceListArrayOutputWithContext(context.Background()) +} + +func (i GetInstancesInstanceListArray) ToGetInstancesInstanceListArrayOutputWithContext(ctx context.Context) GetInstancesInstanceListArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetInstancesInstanceListArrayOutput) +} + +type GetInstancesInstanceListOutput struct{ *pulumi.OutputState } + +func (GetInstancesInstanceListOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstancesInstanceList)(nil)).Elem() +} + +func (o GetInstancesInstanceListOutput) ToGetInstancesInstanceListOutput() GetInstancesInstanceListOutput { + return o +} + +func (o GetInstancesInstanceListOutput) ToGetInstancesInstanceListOutputWithContext(ctx context.Context) GetInstancesInstanceListOutput { + return o +} + +// Information list of instance is attached. +func (o GetInstancesInstanceListOutput) AttachmentLists() GetInstancesInstanceListAttachmentListArrayOutput { + return o.ApplyT(func(v GetInstancesInstanceList) []GetInstancesInstanceListAttachmentList { return v.AttachmentLists }).(GetInstancesInstanceListAttachmentListArrayOutput) +} + +// The speed limit type. +func (o GetInstancesInstanceListOutput) BandwidthLimitType() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstanceList) string { return v.BandwidthLimitType }).(pulumi.StringOutput) +} + +// ID of the CCN to be queried. +func (o GetInstancesInstanceListOutput) CcnId() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstanceList) string { return v.CcnId }).(pulumi.StringOutput) +} + +// Billing mode. +func (o GetInstancesInstanceListOutput) ChargeType() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstanceList) string { return v.ChargeType }).(pulumi.StringOutput) +} + +// Creation time of resource. +func (o GetInstancesInstanceListOutput) CreateTime() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstanceList) string { return v.CreateTime }).(pulumi.StringOutput) +} + +// Description of the CCN. +func (o GetInstancesInstanceListOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstanceList) string { return v.Description }).(pulumi.StringOutput) +} + +// Name of the CCN to be queried. +func (o GetInstancesInstanceListOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstanceList) string { return v.Name }).(pulumi.StringOutput) +} + +// Service quality of CCN, and the available value include 'PT', 'AU', 'AG'. The default is 'AU'. +func (o GetInstancesInstanceListOutput) Qos() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstanceList) string { return v.Qos }).(pulumi.StringOutput) +} + +// States of instance. The available value include 'ISOLATED'(arrears) and 'AVAILABLE'. +func (o GetInstancesInstanceListOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstanceList) string { return v.State }).(pulumi.StringOutput) +} + +type GetInstancesInstanceListArrayOutput struct{ *pulumi.OutputState } + +func (GetInstancesInstanceListArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetInstancesInstanceList)(nil)).Elem() +} + +func (o GetInstancesInstanceListArrayOutput) ToGetInstancesInstanceListArrayOutput() GetInstancesInstanceListArrayOutput { + return o +} + +func (o GetInstancesInstanceListArrayOutput) ToGetInstancesInstanceListArrayOutputWithContext(ctx context.Context) GetInstancesInstanceListArrayOutput { + return o +} + +func (o GetInstancesInstanceListArrayOutput) Index(i pulumi.IntInput) GetInstancesInstanceListOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetInstancesInstanceList { + return vs[0].([]GetInstancesInstanceList)[vs[1].(int)] + }).(GetInstancesInstanceListOutput) +} + +type GetInstancesInstanceListAttachmentList struct { + // Time of attaching. + AttachedTime string `pulumi:"attachedTime"` + // A network address block of the instance that is attached. + CidrBlocks []string `pulumi:"cidrBlocks"` + // ID of instance is attached. + InstanceId string `pulumi:"instanceId"` + // The region that the instance locates at. + InstanceRegion string `pulumi:"instanceRegion"` + // Type of attached instance network, and available values include VPC, DIRECTCONNECT, BMVPC and VPNGW. + InstanceType string `pulumi:"instanceType"` + // States of instance. The available value include 'ISOLATED'(arrears) and 'AVAILABLE'. + State string `pulumi:"state"` +} + +// GetInstancesInstanceListAttachmentListInput is an input type that accepts GetInstancesInstanceListAttachmentListArgs and GetInstancesInstanceListAttachmentListOutput values. +// You can construct a concrete instance of `GetInstancesInstanceListAttachmentListInput` via: +// +// GetInstancesInstanceListAttachmentListArgs{...} +type GetInstancesInstanceListAttachmentListInput interface { + pulumi.Input + + ToGetInstancesInstanceListAttachmentListOutput() GetInstancesInstanceListAttachmentListOutput + ToGetInstancesInstanceListAttachmentListOutputWithContext(context.Context) GetInstancesInstanceListAttachmentListOutput +} + +type GetInstancesInstanceListAttachmentListArgs struct { + // Time of attaching. + AttachedTime pulumi.StringInput `pulumi:"attachedTime"` + // A network address block of the instance that is attached. + CidrBlocks pulumi.StringArrayInput `pulumi:"cidrBlocks"` + // ID of instance is attached. + InstanceId pulumi.StringInput `pulumi:"instanceId"` + // The region that the instance locates at. + InstanceRegion pulumi.StringInput `pulumi:"instanceRegion"` + // Type of attached instance network, and available values include VPC, DIRECTCONNECT, BMVPC and VPNGW. + InstanceType pulumi.StringInput `pulumi:"instanceType"` + // States of instance. The available value include 'ISOLATED'(arrears) and 'AVAILABLE'. + State pulumi.StringInput `pulumi:"state"` } -// update time. -func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput) UpdateTime() pulumi.StringOutput { - return o.ApplyT(func(v GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet) string { return v.UpdateTime }).(pulumi.StringOutput) +func (GetInstancesInstanceListAttachmentListArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstancesInstanceListAttachmentList)(nil)).Elem() } -// user account id. -func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput) UserAccountId() pulumi.StringOutput { - return o.ApplyT(func(v GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet) string { return v.UserAccountId }).(pulumi.StringOutput) +func (i GetInstancesInstanceListAttachmentListArgs) ToGetInstancesInstanceListAttachmentListOutput() GetInstancesInstanceListAttachmentListOutput { + return i.ToGetInstancesInstanceListAttachmentListOutputWithContext(context.Background()) } -type GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutput struct{ *pulumi.OutputState } +func (i GetInstancesInstanceListAttachmentListArgs) ToGetInstancesInstanceListAttachmentListOutputWithContext(ctx context.Context) GetInstancesInstanceListAttachmentListOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetInstancesInstanceListAttachmentListOutput) +} -func (GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet)(nil)).Elem() +// GetInstancesInstanceListAttachmentListArrayInput is an input type that accepts GetInstancesInstanceListAttachmentListArray and GetInstancesInstanceListAttachmentListArrayOutput values. +// You can construct a concrete instance of `GetInstancesInstanceListAttachmentListArrayInput` via: +// +// GetInstancesInstanceListAttachmentListArray{ GetInstancesInstanceListAttachmentListArgs{...} } +type GetInstancesInstanceListAttachmentListArrayInput interface { + pulumi.Input + + ToGetInstancesInstanceListAttachmentListArrayOutput() GetInstancesInstanceListAttachmentListArrayOutput + ToGetInstancesInstanceListAttachmentListArrayOutputWithContext(context.Context) GetInstancesInstanceListAttachmentListArrayOutput } -func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutput) ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutput() GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutput { +type GetInstancesInstanceListAttachmentListArray []GetInstancesInstanceListAttachmentListInput + +func (GetInstancesInstanceListAttachmentListArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetInstancesInstanceListAttachmentList)(nil)).Elem() +} + +func (i GetInstancesInstanceListAttachmentListArray) ToGetInstancesInstanceListAttachmentListArrayOutput() GetInstancesInstanceListAttachmentListArrayOutput { + return i.ToGetInstancesInstanceListAttachmentListArrayOutputWithContext(context.Background()) +} + +func (i GetInstancesInstanceListAttachmentListArray) ToGetInstancesInstanceListAttachmentListArrayOutputWithContext(ctx context.Context) GetInstancesInstanceListAttachmentListArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetInstancesInstanceListAttachmentListArrayOutput) +} + +type GetInstancesInstanceListAttachmentListOutput struct{ *pulumi.OutputState } + +func (GetInstancesInstanceListAttachmentListOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstancesInstanceListAttachmentList)(nil)).Elem() +} + +func (o GetInstancesInstanceListAttachmentListOutput) ToGetInstancesInstanceListAttachmentListOutput() GetInstancesInstanceListAttachmentListOutput { return o } -func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutput) ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutputWithContext(ctx context.Context) GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutput { +func (o GetInstancesInstanceListAttachmentListOutput) ToGetInstancesInstanceListAttachmentListOutputWithContext(ctx context.Context) GetInstancesInstanceListAttachmentListOutput { return o } -func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetArrayOutput) Index(i pulumi.IntInput) GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet { - return vs[0].([]GetCrossBorderRegionBandwidthLimitsCcnBandwidthSet)[vs[1].(int)] - }).(GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetOutput) +// Time of attaching. +func (o GetInstancesInstanceListAttachmentListOutput) AttachedTime() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstanceListAttachmentList) string { return v.AttachedTime }).(pulumi.StringOutput) } -type GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimit struct { - // bandwidth list(Mbps). - BandwidthLimit int `pulumi:"bandwidthLimit"` - // destination region, such as. - DestinationRegion string `pulumi:"destinationRegion"` - // source region, such as 'ap-shanghai'. - SourceRegion string `pulumi:"sourceRegion"` +// A network address block of the instance that is attached. +func (o GetInstancesInstanceListAttachmentListOutput) CidrBlocks() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetInstancesInstanceListAttachmentList) []string { return v.CidrBlocks }).(pulumi.StringArrayOutput) } -// GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitInput is an input type that accepts GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArgs and GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput values. -// You can construct a concrete instance of `GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitInput` via: +// ID of instance is attached. +func (o GetInstancesInstanceListAttachmentListOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstanceListAttachmentList) string { return v.InstanceId }).(pulumi.StringOutput) +} + +// The region that the instance locates at. +func (o GetInstancesInstanceListAttachmentListOutput) InstanceRegion() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstanceListAttachmentList) string { return v.InstanceRegion }).(pulumi.StringOutput) +} + +// Type of attached instance network, and available values include VPC, DIRECTCONNECT, BMVPC and VPNGW. +func (o GetInstancesInstanceListAttachmentListOutput) InstanceType() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstanceListAttachmentList) string { return v.InstanceType }).(pulumi.StringOutput) +} + +// States of instance. The available value include 'ISOLATED'(arrears) and 'AVAILABLE'. +func (o GetInstancesInstanceListAttachmentListOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstanceListAttachmentList) string { return v.State }).(pulumi.StringOutput) +} + +type GetInstancesInstanceListAttachmentListArrayOutput struct{ *pulumi.OutputState } + +func (GetInstancesInstanceListAttachmentListArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetInstancesInstanceListAttachmentList)(nil)).Elem() +} + +func (o GetInstancesInstanceListAttachmentListArrayOutput) ToGetInstancesInstanceListAttachmentListArrayOutput() GetInstancesInstanceListAttachmentListArrayOutput { + return o +} + +func (o GetInstancesInstanceListAttachmentListArrayOutput) ToGetInstancesInstanceListAttachmentListArrayOutputWithContext(ctx context.Context) GetInstancesInstanceListAttachmentListArrayOutput { + return o +} + +func (o GetInstancesInstanceListAttachmentListArrayOutput) Index(i pulumi.IntInput) GetInstancesInstanceListAttachmentListOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetInstancesInstanceListAttachmentList { + return vs[0].([]GetInstancesInstanceListAttachmentList)[vs[1].(int)] + }).(GetInstancesInstanceListAttachmentListOutput) +} + +type GetRouteTableInputPoliciesPolicySet struct { + // Create time. + CreateTime *string `pulumi:"createTime"` + // Policy version. + PolicyVersion *int `pulumi:"policyVersion"` + // Policys. + Policys []GetRouteTableInputPoliciesPolicySetPolicy `pulumi:"policys"` +} + +// GetRouteTableInputPoliciesPolicySetInput is an input type that accepts GetRouteTableInputPoliciesPolicySetArgs and GetRouteTableInputPoliciesPolicySetOutput values. +// You can construct a concrete instance of `GetRouteTableInputPoliciesPolicySetInput` via: // -// GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArgs{...} -type GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitInput interface { +// GetRouteTableInputPoliciesPolicySetArgs{...} +type GetRouteTableInputPoliciesPolicySetInput interface { pulumi.Input - ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput() GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput - ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutputWithContext(context.Context) GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput + ToGetRouteTableInputPoliciesPolicySetOutput() GetRouteTableInputPoliciesPolicySetOutput + ToGetRouteTableInputPoliciesPolicySetOutputWithContext(context.Context) GetRouteTableInputPoliciesPolicySetOutput } -type GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArgs struct { - // bandwidth list(Mbps). - BandwidthLimit pulumi.IntInput `pulumi:"bandwidthLimit"` - // destination region, such as. - DestinationRegion pulumi.StringInput `pulumi:"destinationRegion"` - // source region, such as 'ap-shanghai'. - SourceRegion pulumi.StringInput `pulumi:"sourceRegion"` +type GetRouteTableInputPoliciesPolicySetArgs struct { + // Create time. + CreateTime pulumi.StringPtrInput `pulumi:"createTime"` + // Policy version. + PolicyVersion pulumi.IntPtrInput `pulumi:"policyVersion"` + // Policys. + Policys GetRouteTableInputPoliciesPolicySetPolicyArrayInput `pulumi:"policys"` } -func (GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimit)(nil)).Elem() +func (GetRouteTableInputPoliciesPolicySetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteTableInputPoliciesPolicySet)(nil)).Elem() } -func (i GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArgs) ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput() GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput { - return i.ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutputWithContext(context.Background()) +func (i GetRouteTableInputPoliciesPolicySetArgs) ToGetRouteTableInputPoliciesPolicySetOutput() GetRouteTableInputPoliciesPolicySetOutput { + return i.ToGetRouteTableInputPoliciesPolicySetOutputWithContext(context.Background()) } -func (i GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArgs) ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutputWithContext(ctx context.Context) GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput) +func (i GetRouteTableInputPoliciesPolicySetArgs) ToGetRouteTableInputPoliciesPolicySetOutputWithContext(ctx context.Context) GetRouteTableInputPoliciesPolicySetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteTableInputPoliciesPolicySetOutput) } -// GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayInput is an input type that accepts GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArray and GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutput values. -// You can construct a concrete instance of `GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayInput` via: +// GetRouteTableInputPoliciesPolicySetArrayInput is an input type that accepts GetRouteTableInputPoliciesPolicySetArray and GetRouteTableInputPoliciesPolicySetArrayOutput values. +// You can construct a concrete instance of `GetRouteTableInputPoliciesPolicySetArrayInput` via: // -// GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArray{ GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArgs{...} } -type GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayInput interface { +// GetRouteTableInputPoliciesPolicySetArray{ GetRouteTableInputPoliciesPolicySetArgs{...} } +type GetRouteTableInputPoliciesPolicySetArrayInput interface { pulumi.Input - ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutput() GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutput - ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutputWithContext(context.Context) GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutput + ToGetRouteTableInputPoliciesPolicySetArrayOutput() GetRouteTableInputPoliciesPolicySetArrayOutput + ToGetRouteTableInputPoliciesPolicySetArrayOutputWithContext(context.Context) GetRouteTableInputPoliciesPolicySetArrayOutput } -type GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArray []GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitInput +type GetRouteTableInputPoliciesPolicySetArray []GetRouteTableInputPoliciesPolicySetInput -func (GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimit)(nil)).Elem() +func (GetRouteTableInputPoliciesPolicySetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteTableInputPoliciesPolicySet)(nil)).Elem() } -func (i GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArray) ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutput() GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutput { - return i.ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutputWithContext(context.Background()) +func (i GetRouteTableInputPoliciesPolicySetArray) ToGetRouteTableInputPoliciesPolicySetArrayOutput() GetRouteTableInputPoliciesPolicySetArrayOutput { + return i.ToGetRouteTableInputPoliciesPolicySetArrayOutputWithContext(context.Background()) } -func (i GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArray) ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutputWithContext(ctx context.Context) GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutput) +func (i GetRouteTableInputPoliciesPolicySetArray) ToGetRouteTableInputPoliciesPolicySetArrayOutputWithContext(ctx context.Context) GetRouteTableInputPoliciesPolicySetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteTableInputPoliciesPolicySetArrayOutput) } -type GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput struct{ *pulumi.OutputState } +type GetRouteTableInputPoliciesPolicySetOutput struct{ *pulumi.OutputState } -func (GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimit)(nil)).Elem() +func (GetRouteTableInputPoliciesPolicySetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteTableInputPoliciesPolicySet)(nil)).Elem() } -func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput) ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput() GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput { +func (o GetRouteTableInputPoliciesPolicySetOutput) ToGetRouteTableInputPoliciesPolicySetOutput() GetRouteTableInputPoliciesPolicySetOutput { return o } -func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput) ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutputWithContext(ctx context.Context) GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput { +func (o GetRouteTableInputPoliciesPolicySetOutput) ToGetRouteTableInputPoliciesPolicySetOutputWithContext(ctx context.Context) GetRouteTableInputPoliciesPolicySetOutput { return o } -// bandwidth list(Mbps). -func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput) BandwidthLimit() pulumi.IntOutput { - return o.ApplyT(func(v GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimit) int { - return v.BandwidthLimit - }).(pulumi.IntOutput) +// Create time. +func (o GetRouteTableInputPoliciesPolicySetOutput) CreateTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetRouteTableInputPoliciesPolicySet) *string { return v.CreateTime }).(pulumi.StringPtrOutput) } -// destination region, such as. -func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput) DestinationRegion() pulumi.StringOutput { - return o.ApplyT(func(v GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimit) string { - return v.DestinationRegion - }).(pulumi.StringOutput) +// Policy version. +func (o GetRouteTableInputPoliciesPolicySetOutput) PolicyVersion() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetRouteTableInputPoliciesPolicySet) *int { return v.PolicyVersion }).(pulumi.IntPtrOutput) } -// source region, such as 'ap-shanghai'. -func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput) SourceRegion() pulumi.StringOutput { - return o.ApplyT(func(v GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimit) string { - return v.SourceRegion - }).(pulumi.StringOutput) +// Policys. +func (o GetRouteTableInputPoliciesPolicySetOutput) Policys() GetRouteTableInputPoliciesPolicySetPolicyArrayOutput { + return o.ApplyT(func(v GetRouteTableInputPoliciesPolicySet) []GetRouteTableInputPoliciesPolicySetPolicy { + return v.Policys + }).(GetRouteTableInputPoliciesPolicySetPolicyArrayOutput) } -type GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutput struct{ *pulumi.OutputState } +type GetRouteTableInputPoliciesPolicySetArrayOutput struct{ *pulumi.OutputState } -func (GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimit)(nil)).Elem() +func (GetRouteTableInputPoliciesPolicySetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteTableInputPoliciesPolicySet)(nil)).Elem() } -func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutput) ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutput() GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutput { +func (o GetRouteTableInputPoliciesPolicySetArrayOutput) ToGetRouteTableInputPoliciesPolicySetArrayOutput() GetRouteTableInputPoliciesPolicySetArrayOutput { return o } -func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutput) ToGetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutputWithContext(ctx context.Context) GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutput { +func (o GetRouteTableInputPoliciesPolicySetArrayOutput) ToGetRouteTableInputPoliciesPolicySetArrayOutputWithContext(ctx context.Context) GetRouteTableInputPoliciesPolicySetArrayOutput { return o } -func (o GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitArrayOutput) Index(i pulumi.IntInput) GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimit { - return vs[0].([]GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimit)[vs[1].(int)] - }).(GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetCcnRegionBandwidthLimitOutput) +func (o GetRouteTableInputPoliciesPolicySetArrayOutput) Index(i pulumi.IntInput) GetRouteTableInputPoliciesPolicySetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteTableInputPoliciesPolicySet { + return vs[0].([]GetRouteTableInputPoliciesPolicySet)[vs[1].(int)] + }).(GetRouteTableInputPoliciesPolicySetOutput) } -type GetCrossBorderRegionBandwidthLimitsFilter struct { - // attribute name. +type GetRouteTableInputPoliciesPolicySetPolicy struct { + // Routing behavior, `accept` allows, `drop` rejects. + Action string `pulumi:"action"` + // as-path operate mode + AsPathOperateMode *string `pulumi:"asPathOperateMode"` + // Policy description + Description string `pulumi:"description"` + // as-path operate + OperateAsPath *string `pulumi:"operateAsPath"` + // Routing conditions. + RouteConditions []GetRouteTableInputPoliciesPolicySetPolicyRouteCondition `pulumi:"routeConditions"` +} + +// GetRouteTableInputPoliciesPolicySetPolicyInput is an input type that accepts GetRouteTableInputPoliciesPolicySetPolicyArgs and GetRouteTableInputPoliciesPolicySetPolicyOutput values. +// You can construct a concrete instance of `GetRouteTableInputPoliciesPolicySetPolicyInput` via: +// +// GetRouteTableInputPoliciesPolicySetPolicyArgs{...} +type GetRouteTableInputPoliciesPolicySetPolicyInput interface { + pulumi.Input + + ToGetRouteTableInputPoliciesPolicySetPolicyOutput() GetRouteTableInputPoliciesPolicySetPolicyOutput + ToGetRouteTableInputPoliciesPolicySetPolicyOutputWithContext(context.Context) GetRouteTableInputPoliciesPolicySetPolicyOutput +} + +type GetRouteTableInputPoliciesPolicySetPolicyArgs struct { + // Routing behavior, `accept` allows, `drop` rejects. + Action pulumi.StringInput `pulumi:"action"` + // as-path operate mode + AsPathOperateMode pulumi.StringPtrInput `pulumi:"asPathOperateMode"` + // Policy description + Description pulumi.StringInput `pulumi:"description"` + // as-path operate + OperateAsPath pulumi.StringPtrInput `pulumi:"operateAsPath"` + // Routing conditions. + RouteConditions GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArrayInput `pulumi:"routeConditions"` +} + +func (GetRouteTableInputPoliciesPolicySetPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteTableInputPoliciesPolicySetPolicy)(nil)).Elem() +} + +func (i GetRouteTableInputPoliciesPolicySetPolicyArgs) ToGetRouteTableInputPoliciesPolicySetPolicyOutput() GetRouteTableInputPoliciesPolicySetPolicyOutput { + return i.ToGetRouteTableInputPoliciesPolicySetPolicyOutputWithContext(context.Background()) +} + +func (i GetRouteTableInputPoliciesPolicySetPolicyArgs) ToGetRouteTableInputPoliciesPolicySetPolicyOutputWithContext(ctx context.Context) GetRouteTableInputPoliciesPolicySetPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteTableInputPoliciesPolicySetPolicyOutput) +} + +// GetRouteTableInputPoliciesPolicySetPolicyArrayInput is an input type that accepts GetRouteTableInputPoliciesPolicySetPolicyArray and GetRouteTableInputPoliciesPolicySetPolicyArrayOutput values. +// You can construct a concrete instance of `GetRouteTableInputPoliciesPolicySetPolicyArrayInput` via: +// +// GetRouteTableInputPoliciesPolicySetPolicyArray{ GetRouteTableInputPoliciesPolicySetPolicyArgs{...} } +type GetRouteTableInputPoliciesPolicySetPolicyArrayInput interface { + pulumi.Input + + ToGetRouteTableInputPoliciesPolicySetPolicyArrayOutput() GetRouteTableInputPoliciesPolicySetPolicyArrayOutput + ToGetRouteTableInputPoliciesPolicySetPolicyArrayOutputWithContext(context.Context) GetRouteTableInputPoliciesPolicySetPolicyArrayOutput +} + +type GetRouteTableInputPoliciesPolicySetPolicyArray []GetRouteTableInputPoliciesPolicySetPolicyInput + +func (GetRouteTableInputPoliciesPolicySetPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteTableInputPoliciesPolicySetPolicy)(nil)).Elem() +} + +func (i GetRouteTableInputPoliciesPolicySetPolicyArray) ToGetRouteTableInputPoliciesPolicySetPolicyArrayOutput() GetRouteTableInputPoliciesPolicySetPolicyArrayOutput { + return i.ToGetRouteTableInputPoliciesPolicySetPolicyArrayOutputWithContext(context.Background()) +} + +func (i GetRouteTableInputPoliciesPolicySetPolicyArray) ToGetRouteTableInputPoliciesPolicySetPolicyArrayOutputWithContext(ctx context.Context) GetRouteTableInputPoliciesPolicySetPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteTableInputPoliciesPolicySetPolicyArrayOutput) +} + +type GetRouteTableInputPoliciesPolicySetPolicyOutput struct{ *pulumi.OutputState } + +func (GetRouteTableInputPoliciesPolicySetPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteTableInputPoliciesPolicySetPolicy)(nil)).Elem() +} + +func (o GetRouteTableInputPoliciesPolicySetPolicyOutput) ToGetRouteTableInputPoliciesPolicySetPolicyOutput() GetRouteTableInputPoliciesPolicySetPolicyOutput { + return o +} + +func (o GetRouteTableInputPoliciesPolicySetPolicyOutput) ToGetRouteTableInputPoliciesPolicySetPolicyOutputWithContext(ctx context.Context) GetRouteTableInputPoliciesPolicySetPolicyOutput { + return o +} + +// Routing behavior, `accept` allows, `drop` rejects. +func (o GetRouteTableInputPoliciesPolicySetPolicyOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteTableInputPoliciesPolicySetPolicy) string { return v.Action }).(pulumi.StringOutput) +} + +// as-path operate mode +func (o GetRouteTableInputPoliciesPolicySetPolicyOutput) AsPathOperateMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetRouteTableInputPoliciesPolicySetPolicy) *string { return v.AsPathOperateMode }).(pulumi.StringPtrOutput) +} + +// Policy description +func (o GetRouteTableInputPoliciesPolicySetPolicyOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteTableInputPoliciesPolicySetPolicy) string { return v.Description }).(pulumi.StringOutput) +} + +// as-path operate +func (o GetRouteTableInputPoliciesPolicySetPolicyOutput) OperateAsPath() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetRouteTableInputPoliciesPolicySetPolicy) *string { return v.OperateAsPath }).(pulumi.StringPtrOutput) +} + +// Routing conditions. +func (o GetRouteTableInputPoliciesPolicySetPolicyOutput) RouteConditions() GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArrayOutput { + return o.ApplyT(func(v GetRouteTableInputPoliciesPolicySetPolicy) []GetRouteTableInputPoliciesPolicySetPolicyRouteCondition { + return v.RouteConditions + }).(GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArrayOutput) +} + +type GetRouteTableInputPoliciesPolicySetPolicyArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteTableInputPoliciesPolicySetPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteTableInputPoliciesPolicySetPolicy)(nil)).Elem() +} + +func (o GetRouteTableInputPoliciesPolicySetPolicyArrayOutput) ToGetRouteTableInputPoliciesPolicySetPolicyArrayOutput() GetRouteTableInputPoliciesPolicySetPolicyArrayOutput { + return o +} + +func (o GetRouteTableInputPoliciesPolicySetPolicyArrayOutput) ToGetRouteTableInputPoliciesPolicySetPolicyArrayOutputWithContext(ctx context.Context) GetRouteTableInputPoliciesPolicySetPolicyArrayOutput { + return o +} + +func (o GetRouteTableInputPoliciesPolicySetPolicyArrayOutput) Index(i pulumi.IntInput) GetRouteTableInputPoliciesPolicySetPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteTableInputPoliciesPolicySetPolicy { + return vs[0].([]GetRouteTableInputPoliciesPolicySetPolicy)[vs[1].(int)] + }).(GetRouteTableInputPoliciesPolicySetPolicyOutput) +} + +type GetRouteTableInputPoliciesPolicySetPolicyRouteCondition struct { + // Matching mode, `1` precise matching, `0` fuzzy matching. + MatchPattern int `pulumi:"matchPattern"` + // condition type. Name string `pulumi:"name"` - // Value of the field. + // List of conditional values. Values []string `pulumi:"values"` } -// GetCrossBorderRegionBandwidthLimitsFilterInput is an input type that accepts GetCrossBorderRegionBandwidthLimitsFilterArgs and GetCrossBorderRegionBandwidthLimitsFilterOutput values. -// You can construct a concrete instance of `GetCrossBorderRegionBandwidthLimitsFilterInput` via: +// GetRouteTableInputPoliciesPolicySetPolicyRouteConditionInput is an input type that accepts GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArgs and GetRouteTableInputPoliciesPolicySetPolicyRouteConditionOutput values. +// You can construct a concrete instance of `GetRouteTableInputPoliciesPolicySetPolicyRouteConditionInput` via: // -// GetCrossBorderRegionBandwidthLimitsFilterArgs{...} -type GetCrossBorderRegionBandwidthLimitsFilterInput interface { +// GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArgs{...} +type GetRouteTableInputPoliciesPolicySetPolicyRouteConditionInput interface { pulumi.Input - ToGetCrossBorderRegionBandwidthLimitsFilterOutput() GetCrossBorderRegionBandwidthLimitsFilterOutput - ToGetCrossBorderRegionBandwidthLimitsFilterOutputWithContext(context.Context) GetCrossBorderRegionBandwidthLimitsFilterOutput + ToGetRouteTableInputPoliciesPolicySetPolicyRouteConditionOutput() GetRouteTableInputPoliciesPolicySetPolicyRouteConditionOutput + ToGetRouteTableInputPoliciesPolicySetPolicyRouteConditionOutputWithContext(context.Context) GetRouteTableInputPoliciesPolicySetPolicyRouteConditionOutput } -type GetCrossBorderRegionBandwidthLimitsFilterArgs struct { - // attribute name. +type GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArgs struct { + // Matching mode, `1` precise matching, `0` fuzzy matching. + MatchPattern pulumi.IntInput `pulumi:"matchPattern"` + // condition type. Name pulumi.StringInput `pulumi:"name"` - // Value of the field. + // List of conditional values. Values pulumi.StringArrayInput `pulumi:"values"` } -func (GetCrossBorderRegionBandwidthLimitsFilterArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCrossBorderRegionBandwidthLimitsFilter)(nil)).Elem() +func (GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteTableInputPoliciesPolicySetPolicyRouteCondition)(nil)).Elem() } -func (i GetCrossBorderRegionBandwidthLimitsFilterArgs) ToGetCrossBorderRegionBandwidthLimitsFilterOutput() GetCrossBorderRegionBandwidthLimitsFilterOutput { - return i.ToGetCrossBorderRegionBandwidthLimitsFilterOutputWithContext(context.Background()) +func (i GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArgs) ToGetRouteTableInputPoliciesPolicySetPolicyRouteConditionOutput() GetRouteTableInputPoliciesPolicySetPolicyRouteConditionOutput { + return i.ToGetRouteTableInputPoliciesPolicySetPolicyRouteConditionOutputWithContext(context.Background()) } -func (i GetCrossBorderRegionBandwidthLimitsFilterArgs) ToGetCrossBorderRegionBandwidthLimitsFilterOutputWithContext(ctx context.Context) GetCrossBorderRegionBandwidthLimitsFilterOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCrossBorderRegionBandwidthLimitsFilterOutput) +func (i GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArgs) ToGetRouteTableInputPoliciesPolicySetPolicyRouteConditionOutputWithContext(ctx context.Context) GetRouteTableInputPoliciesPolicySetPolicyRouteConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteTableInputPoliciesPolicySetPolicyRouteConditionOutput) } -// GetCrossBorderRegionBandwidthLimitsFilterArrayInput is an input type that accepts GetCrossBorderRegionBandwidthLimitsFilterArray and GetCrossBorderRegionBandwidthLimitsFilterArrayOutput values. -// You can construct a concrete instance of `GetCrossBorderRegionBandwidthLimitsFilterArrayInput` via: +// GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArrayInput is an input type that accepts GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArray and GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArrayOutput values. +// You can construct a concrete instance of `GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArrayInput` via: // -// GetCrossBorderRegionBandwidthLimitsFilterArray{ GetCrossBorderRegionBandwidthLimitsFilterArgs{...} } -type GetCrossBorderRegionBandwidthLimitsFilterArrayInput interface { +// GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArray{ GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArgs{...} } +type GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArrayInput interface { pulumi.Input - ToGetCrossBorderRegionBandwidthLimitsFilterArrayOutput() GetCrossBorderRegionBandwidthLimitsFilterArrayOutput - ToGetCrossBorderRegionBandwidthLimitsFilterArrayOutputWithContext(context.Context) GetCrossBorderRegionBandwidthLimitsFilterArrayOutput + ToGetRouteTableInputPoliciesPolicySetPolicyRouteConditionArrayOutput() GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArrayOutput + ToGetRouteTableInputPoliciesPolicySetPolicyRouteConditionArrayOutputWithContext(context.Context) GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArrayOutput } -type GetCrossBorderRegionBandwidthLimitsFilterArray []GetCrossBorderRegionBandwidthLimitsFilterInput +type GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArray []GetRouteTableInputPoliciesPolicySetPolicyRouteConditionInput -func (GetCrossBorderRegionBandwidthLimitsFilterArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCrossBorderRegionBandwidthLimitsFilter)(nil)).Elem() +func (GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteTableInputPoliciesPolicySetPolicyRouteCondition)(nil)).Elem() } -func (i GetCrossBorderRegionBandwidthLimitsFilterArray) ToGetCrossBorderRegionBandwidthLimitsFilterArrayOutput() GetCrossBorderRegionBandwidthLimitsFilterArrayOutput { - return i.ToGetCrossBorderRegionBandwidthLimitsFilterArrayOutputWithContext(context.Background()) +func (i GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArray) ToGetRouteTableInputPoliciesPolicySetPolicyRouteConditionArrayOutput() GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArrayOutput { + return i.ToGetRouteTableInputPoliciesPolicySetPolicyRouteConditionArrayOutputWithContext(context.Background()) } -func (i GetCrossBorderRegionBandwidthLimitsFilterArray) ToGetCrossBorderRegionBandwidthLimitsFilterArrayOutputWithContext(ctx context.Context) GetCrossBorderRegionBandwidthLimitsFilterArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCrossBorderRegionBandwidthLimitsFilterArrayOutput) +func (i GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArray) ToGetRouteTableInputPoliciesPolicySetPolicyRouteConditionArrayOutputWithContext(ctx context.Context) GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArrayOutput) } -type GetCrossBorderRegionBandwidthLimitsFilterOutput struct{ *pulumi.OutputState } +type GetRouteTableInputPoliciesPolicySetPolicyRouteConditionOutput struct{ *pulumi.OutputState } -func (GetCrossBorderRegionBandwidthLimitsFilterOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCrossBorderRegionBandwidthLimitsFilter)(nil)).Elem() +func (GetRouteTableInputPoliciesPolicySetPolicyRouteConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteTableInputPoliciesPolicySetPolicyRouteCondition)(nil)).Elem() } -func (o GetCrossBorderRegionBandwidthLimitsFilterOutput) ToGetCrossBorderRegionBandwidthLimitsFilterOutput() GetCrossBorderRegionBandwidthLimitsFilterOutput { +func (o GetRouteTableInputPoliciesPolicySetPolicyRouteConditionOutput) ToGetRouteTableInputPoliciesPolicySetPolicyRouteConditionOutput() GetRouteTableInputPoliciesPolicySetPolicyRouteConditionOutput { return o } -func (o GetCrossBorderRegionBandwidthLimitsFilterOutput) ToGetCrossBorderRegionBandwidthLimitsFilterOutputWithContext(ctx context.Context) GetCrossBorderRegionBandwidthLimitsFilterOutput { +func (o GetRouteTableInputPoliciesPolicySetPolicyRouteConditionOutput) ToGetRouteTableInputPoliciesPolicySetPolicyRouteConditionOutputWithContext(ctx context.Context) GetRouteTableInputPoliciesPolicySetPolicyRouteConditionOutput { return o } -// attribute name. -func (o GetCrossBorderRegionBandwidthLimitsFilterOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetCrossBorderRegionBandwidthLimitsFilter) string { return v.Name }).(pulumi.StringOutput) +// Matching mode, `1` precise matching, `0` fuzzy matching. +func (o GetRouteTableInputPoliciesPolicySetPolicyRouteConditionOutput) MatchPattern() pulumi.IntOutput { + return o.ApplyT(func(v GetRouteTableInputPoliciesPolicySetPolicyRouteCondition) int { return v.MatchPattern }).(pulumi.IntOutput) } -// Value of the field. -func (o GetCrossBorderRegionBandwidthLimitsFilterOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCrossBorderRegionBandwidthLimitsFilter) []string { return v.Values }).(pulumi.StringArrayOutput) +// condition type. +func (o GetRouteTableInputPoliciesPolicySetPolicyRouteConditionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteTableInputPoliciesPolicySetPolicyRouteCondition) string { return v.Name }).(pulumi.StringOutput) } -type GetCrossBorderRegionBandwidthLimitsFilterArrayOutput struct{ *pulumi.OutputState } +// List of conditional values. +func (o GetRouteTableInputPoliciesPolicySetPolicyRouteConditionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetRouteTableInputPoliciesPolicySetPolicyRouteCondition) []string { return v.Values }).(pulumi.StringArrayOutput) +} -func (GetCrossBorderRegionBandwidthLimitsFilterArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCrossBorderRegionBandwidthLimitsFilter)(nil)).Elem() +type GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteTableInputPoliciesPolicySetPolicyRouteCondition)(nil)).Elem() } -func (o GetCrossBorderRegionBandwidthLimitsFilterArrayOutput) ToGetCrossBorderRegionBandwidthLimitsFilterArrayOutput() GetCrossBorderRegionBandwidthLimitsFilterArrayOutput { +func (o GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArrayOutput) ToGetRouteTableInputPoliciesPolicySetPolicyRouteConditionArrayOutput() GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArrayOutput { return o } -func (o GetCrossBorderRegionBandwidthLimitsFilterArrayOutput) ToGetCrossBorderRegionBandwidthLimitsFilterArrayOutputWithContext(ctx context.Context) GetCrossBorderRegionBandwidthLimitsFilterArrayOutput { +func (o GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArrayOutput) ToGetRouteTableInputPoliciesPolicySetPolicyRouteConditionArrayOutputWithContext(ctx context.Context) GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArrayOutput { return o } -func (o GetCrossBorderRegionBandwidthLimitsFilterArrayOutput) Index(i pulumi.IntInput) GetCrossBorderRegionBandwidthLimitsFilterOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCrossBorderRegionBandwidthLimitsFilter { - return vs[0].([]GetCrossBorderRegionBandwidthLimitsFilter)[vs[1].(int)] - }).(GetCrossBorderRegionBandwidthLimitsFilterOutput) +func (o GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArrayOutput) Index(i pulumi.IntInput) GetRouteTableInputPoliciesPolicySetPolicyRouteConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteTableInputPoliciesPolicySetPolicyRouteCondition { + return vs[0].([]GetRouteTableInputPoliciesPolicySetPolicyRouteCondition)[vs[1].(int)] + }).(GetRouteTableInputPoliciesPolicySetPolicyRouteConditionOutput) } -type GetInstancesInstanceList struct { - // Information list of instance is attached. - AttachmentLists []GetInstancesInstanceListAttachmentList `pulumi:"attachmentLists"` - // The speed limit type. - BandwidthLimitType string `pulumi:"bandwidthLimitType"` - // ID of the CCN to be queried. - CcnId string `pulumi:"ccnId"` - // Billing mode. - ChargeType string `pulumi:"chargeType"` - // Creation time of resource. - CreateTime string `pulumi:"createTime"` - // Description of the CCN. - Description string `pulumi:"description"` - // Name of the CCN to be queried. +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"` - // Service quality of CCN, and the available value include 'PT', 'AU', 'AG'. The default is 'AU'. - Qos string `pulumi:"qos"` - // States of instance. The available value include 'ISOLATED'(arrears) and 'AVAILABLE'. - State string `pulumi:"state"` + // Filter value of the field. + Values []string `pulumi:"values"` } -// GetInstancesInstanceListInput is an input type that accepts GetInstancesInstanceListArgs and GetInstancesInstanceListOutput values. -// You can construct a concrete instance of `GetInstancesInstanceListInput` via: +// GetRoutesFilterInput is an input type that accepts GetRoutesFilterArgs and GetRoutesFilterOutput values. +// You can construct a concrete instance of `GetRoutesFilterInput` via: // -// GetInstancesInstanceListArgs{...} -type GetInstancesInstanceListInput interface { +// GetRoutesFilterArgs{...} +type GetRoutesFilterInput interface { pulumi.Input - ToGetInstancesInstanceListOutput() GetInstancesInstanceListOutput - ToGetInstancesInstanceListOutputWithContext(context.Context) GetInstancesInstanceListOutput + ToGetRoutesFilterOutput() GetRoutesFilterOutput + ToGetRoutesFilterOutputWithContext(context.Context) GetRoutesFilterOutput } -type GetInstancesInstanceListArgs struct { - // Information list of instance is attached. - AttachmentLists GetInstancesInstanceListAttachmentListArrayInput `pulumi:"attachmentLists"` - // The speed limit type. - BandwidthLimitType pulumi.StringInput `pulumi:"bandwidthLimitType"` - // ID of the CCN to be queried. - CcnId pulumi.StringInput `pulumi:"ccnId"` - // Billing mode. - ChargeType pulumi.StringInput `pulumi:"chargeType"` - // Creation time of resource. - CreateTime pulumi.StringInput `pulumi:"createTime"` - // Description of the CCN. - Description pulumi.StringInput `pulumi:"description"` - // Name of the CCN to be queried. +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"` - // Service quality of CCN, and the available value include 'PT', 'AU', 'AG'. The default is 'AU'. - Qos pulumi.StringInput `pulumi:"qos"` - // States of instance. The available value include 'ISOLATED'(arrears) and 'AVAILABLE'. - State pulumi.StringInput `pulumi:"state"` + // Filter value of the field. + Values pulumi.StringArrayInput `pulumi:"values"` } -func (GetInstancesInstanceListArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetInstancesInstanceList)(nil)).Elem() +func (GetRoutesFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoutesFilter)(nil)).Elem() } -func (i GetInstancesInstanceListArgs) ToGetInstancesInstanceListOutput() GetInstancesInstanceListOutput { - return i.ToGetInstancesInstanceListOutputWithContext(context.Background()) +func (i GetRoutesFilterArgs) ToGetRoutesFilterOutput() GetRoutesFilterOutput { + return i.ToGetRoutesFilterOutputWithContext(context.Background()) } -func (i GetInstancesInstanceListArgs) ToGetInstancesInstanceListOutputWithContext(ctx context.Context) GetInstancesInstanceListOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetInstancesInstanceListOutput) +func (i GetRoutesFilterArgs) ToGetRoutesFilterOutputWithContext(ctx context.Context) GetRoutesFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRoutesFilterOutput) } -// GetInstancesInstanceListArrayInput is an input type that accepts GetInstancesInstanceListArray and GetInstancesInstanceListArrayOutput values. -// You can construct a concrete instance of `GetInstancesInstanceListArrayInput` via: +// GetRoutesFilterArrayInput is an input type that accepts GetRoutesFilterArray and GetRoutesFilterArrayOutput values. +// You can construct a concrete instance of `GetRoutesFilterArrayInput` via: // -// GetInstancesInstanceListArray{ GetInstancesInstanceListArgs{...} } -type GetInstancesInstanceListArrayInput interface { +// GetRoutesFilterArray{ GetRoutesFilterArgs{...} } +type GetRoutesFilterArrayInput interface { pulumi.Input - ToGetInstancesInstanceListArrayOutput() GetInstancesInstanceListArrayOutput - ToGetInstancesInstanceListArrayOutputWithContext(context.Context) GetInstancesInstanceListArrayOutput + ToGetRoutesFilterArrayOutput() GetRoutesFilterArrayOutput + ToGetRoutesFilterArrayOutputWithContext(context.Context) GetRoutesFilterArrayOutput } -type GetInstancesInstanceListArray []GetInstancesInstanceListInput +type GetRoutesFilterArray []GetRoutesFilterInput -func (GetInstancesInstanceListArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetInstancesInstanceList)(nil)).Elem() +func (GetRoutesFilterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRoutesFilter)(nil)).Elem() } -func (i GetInstancesInstanceListArray) ToGetInstancesInstanceListArrayOutput() GetInstancesInstanceListArrayOutput { - return i.ToGetInstancesInstanceListArrayOutputWithContext(context.Background()) +func (i GetRoutesFilterArray) ToGetRoutesFilterArrayOutput() GetRoutesFilterArrayOutput { + return i.ToGetRoutesFilterArrayOutputWithContext(context.Background()) } -func (i GetInstancesInstanceListArray) ToGetInstancesInstanceListArrayOutputWithContext(ctx context.Context) GetInstancesInstanceListArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetInstancesInstanceListArrayOutput) +func (i GetRoutesFilterArray) ToGetRoutesFilterArrayOutputWithContext(ctx context.Context) GetRoutesFilterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRoutesFilterArrayOutput) } -type GetInstancesInstanceListOutput struct{ *pulumi.OutputState } +type GetRoutesFilterOutput struct{ *pulumi.OutputState } -func (GetInstancesInstanceListOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetInstancesInstanceList)(nil)).Elem() +func (GetRoutesFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoutesFilter)(nil)).Elem() } -func (o GetInstancesInstanceListOutput) ToGetInstancesInstanceListOutput() GetInstancesInstanceListOutput { +func (o GetRoutesFilterOutput) ToGetRoutesFilterOutput() GetRoutesFilterOutput { return o } -func (o GetInstancesInstanceListOutput) ToGetInstancesInstanceListOutputWithContext(ctx context.Context) GetInstancesInstanceListOutput { +func (o GetRoutesFilterOutput) ToGetRoutesFilterOutputWithContext(ctx context.Context) GetRoutesFilterOutput { return o } -// Information list of instance is attached. -func (o GetInstancesInstanceListOutput) AttachmentLists() GetInstancesInstanceListAttachmentListArrayOutput { - return o.ApplyT(func(v GetInstancesInstanceList) []GetInstancesInstanceListAttachmentList { return v.AttachmentLists }).(GetInstancesInstanceListAttachmentListArrayOutput) -} - -// The speed limit type. -func (o GetInstancesInstanceListOutput) BandwidthLimitType() pulumi.StringOutput { - return o.ApplyT(func(v GetInstancesInstanceList) string { return v.BandwidthLimitType }).(pulumi.StringOutput) -} - -// ID of the CCN to be queried. -func (o GetInstancesInstanceListOutput) CcnId() pulumi.StringOutput { - return o.ApplyT(func(v GetInstancesInstanceList) string { return v.CcnId }).(pulumi.StringOutput) -} - -// Billing mode. -func (o GetInstancesInstanceListOutput) ChargeType() pulumi.StringOutput { - return o.ApplyT(func(v GetInstancesInstanceList) string { return v.ChargeType }).(pulumi.StringOutput) -} - -// Creation time of resource. -func (o GetInstancesInstanceListOutput) CreateTime() pulumi.StringOutput { - return o.ApplyT(func(v GetInstancesInstanceList) string { return v.CreateTime }).(pulumi.StringOutput) -} - -// Description of the CCN. -func (o GetInstancesInstanceListOutput) Description() pulumi.StringOutput { - return o.ApplyT(func(v GetInstancesInstanceList) string { return v.Description }).(pulumi.StringOutput) -} - -// Name of the CCN to be queried. -func (o GetInstancesInstanceListOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetInstancesInstanceList) string { return v.Name }).(pulumi.StringOutput) -} - -// Service quality of CCN, and the available value include 'PT', 'AU', 'AG'. The default is 'AU'. -func (o GetInstancesInstanceListOutput) Qos() pulumi.StringOutput { - return o.ApplyT(func(v GetInstancesInstanceList) string { return v.Qos }).(pulumi.StringOutput) +// 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) } -// States of instance. The available value include 'ISOLATED'(arrears) and 'AVAILABLE'. -func (o GetInstancesInstanceListOutput) State() pulumi.StringOutput { - return o.ApplyT(func(v GetInstancesInstanceList) string { return v.State }).(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 GetInstancesInstanceListArrayOutput struct{ *pulumi.OutputState } +type GetRoutesFilterArrayOutput struct{ *pulumi.OutputState } -func (GetInstancesInstanceListArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetInstancesInstanceList)(nil)).Elem() +func (GetRoutesFilterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRoutesFilter)(nil)).Elem() } -func (o GetInstancesInstanceListArrayOutput) ToGetInstancesInstanceListArrayOutput() GetInstancesInstanceListArrayOutput { +func (o GetRoutesFilterArrayOutput) ToGetRoutesFilterArrayOutput() GetRoutesFilterArrayOutput { return o } -func (o GetInstancesInstanceListArrayOutput) ToGetInstancesInstanceListArrayOutputWithContext(ctx context.Context) GetInstancesInstanceListArrayOutput { +func (o GetRoutesFilterArrayOutput) ToGetRoutesFilterArrayOutputWithContext(ctx context.Context) GetRoutesFilterArrayOutput { return o } -func (o GetInstancesInstanceListArrayOutput) Index(i pulumi.IntInput) GetInstancesInstanceListOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetInstancesInstanceList { - return vs[0].([]GetInstancesInstanceList)[vs[1].(int)] - }).(GetInstancesInstanceListOutput) +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 GetInstancesInstanceListAttachmentList struct { - // Time of attaching. - AttachedTime string `pulumi:"attachedTime"` - // A network address block of the instance that is attached. - CidrBlocks []string `pulumi:"cidrBlocks"` - // ID of instance is attached. +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"` - // The region that the instance locates at. + // Next jump (associated instance name). + InstanceName string `pulumi:"instanceName"` + // Next jump (associated instance region). InstanceRegion string `pulumi:"instanceRegion"` - // Type of attached instance network, and available values include VPC, DIRECTCONNECT, BMVPC and VPNGW. + // Next hop type (associated instance type), all types: VPC, DIRECTCONNECT. InstanceType string `pulumi:"instanceType"` - // States of instance. The available value include 'ISOLATED'(arrears) and 'AVAILABLE'. - State string `pulumi:"state"` + // 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"` } -// GetInstancesInstanceListAttachmentListInput is an input type that accepts GetInstancesInstanceListAttachmentListArgs and GetInstancesInstanceListAttachmentListOutput values. -// You can construct a concrete instance of `GetInstancesInstanceListAttachmentListInput` via: +// GetRoutesRouteListInput is an input type that accepts GetRoutesRouteListArgs and GetRoutesRouteListOutput values. +// You can construct a concrete instance of `GetRoutesRouteListInput` via: // -// GetInstancesInstanceListAttachmentListArgs{...} -type GetInstancesInstanceListAttachmentListInput interface { +// GetRoutesRouteListArgs{...} +type GetRoutesRouteListInput interface { pulumi.Input - ToGetInstancesInstanceListAttachmentListOutput() GetInstancesInstanceListAttachmentListOutput - ToGetInstancesInstanceListAttachmentListOutputWithContext(context.Context) GetInstancesInstanceListAttachmentListOutput + ToGetRoutesRouteListOutput() GetRoutesRouteListOutput + ToGetRoutesRouteListOutputWithContext(context.Context) GetRoutesRouteListOutput } -type GetInstancesInstanceListAttachmentListArgs struct { - // Time of attaching. - AttachedTime pulumi.StringInput `pulumi:"attachedTime"` - // A network address block of the instance that is attached. - CidrBlocks pulumi.StringArrayInput `pulumi:"cidrBlocks"` - // ID of instance is attached. +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"` - // The region that the instance locates at. + // Next jump (associated instance name). + InstanceName pulumi.StringInput `pulumi:"instanceName"` + // Next jump (associated instance region). InstanceRegion pulumi.StringInput `pulumi:"instanceRegion"` - // Type of attached instance network, and available values include VPC, DIRECTCONNECT, BMVPC and VPNGW. + // Next hop type (associated instance type), all types: VPC, DIRECTCONNECT. InstanceType pulumi.StringInput `pulumi:"instanceType"` - // States of instance. The available value include 'ISOLATED'(arrears) and 'AVAILABLE'. - State pulumi.StringInput `pulumi:"state"` + // 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 (GetInstancesInstanceListAttachmentListArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetInstancesInstanceListAttachmentList)(nil)).Elem() +func (GetRoutesRouteListArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoutesRouteList)(nil)).Elem() } -func (i GetInstancesInstanceListAttachmentListArgs) ToGetInstancesInstanceListAttachmentListOutput() GetInstancesInstanceListAttachmentListOutput { - return i.ToGetInstancesInstanceListAttachmentListOutputWithContext(context.Background()) +func (i GetRoutesRouteListArgs) ToGetRoutesRouteListOutput() GetRoutesRouteListOutput { + return i.ToGetRoutesRouteListOutputWithContext(context.Background()) } -func (i GetInstancesInstanceListAttachmentListArgs) ToGetInstancesInstanceListAttachmentListOutputWithContext(ctx context.Context) GetInstancesInstanceListAttachmentListOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetInstancesInstanceListAttachmentListOutput) +func (i GetRoutesRouteListArgs) ToGetRoutesRouteListOutputWithContext(ctx context.Context) GetRoutesRouteListOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRoutesRouteListOutput) } -// GetInstancesInstanceListAttachmentListArrayInput is an input type that accepts GetInstancesInstanceListAttachmentListArray and GetInstancesInstanceListAttachmentListArrayOutput values. -// You can construct a concrete instance of `GetInstancesInstanceListAttachmentListArrayInput` via: +// GetRoutesRouteListArrayInput is an input type that accepts GetRoutesRouteListArray and GetRoutesRouteListArrayOutput values. +// You can construct a concrete instance of `GetRoutesRouteListArrayInput` via: // -// GetInstancesInstanceListAttachmentListArray{ GetInstancesInstanceListAttachmentListArgs{...} } -type GetInstancesInstanceListAttachmentListArrayInput interface { +// GetRoutesRouteListArray{ GetRoutesRouteListArgs{...} } +type GetRoutesRouteListArrayInput interface { pulumi.Input - ToGetInstancesInstanceListAttachmentListArrayOutput() GetInstancesInstanceListAttachmentListArrayOutput - ToGetInstancesInstanceListAttachmentListArrayOutputWithContext(context.Context) GetInstancesInstanceListAttachmentListArrayOutput + ToGetRoutesRouteListArrayOutput() GetRoutesRouteListArrayOutput + ToGetRoutesRouteListArrayOutputWithContext(context.Context) GetRoutesRouteListArrayOutput } -type GetInstancesInstanceListAttachmentListArray []GetInstancesInstanceListAttachmentListInput +type GetRoutesRouteListArray []GetRoutesRouteListInput -func (GetInstancesInstanceListAttachmentListArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetInstancesInstanceListAttachmentList)(nil)).Elem() +func (GetRoutesRouteListArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRoutesRouteList)(nil)).Elem() } -func (i GetInstancesInstanceListAttachmentListArray) ToGetInstancesInstanceListAttachmentListArrayOutput() GetInstancesInstanceListAttachmentListArrayOutput { - return i.ToGetInstancesInstanceListAttachmentListArrayOutputWithContext(context.Background()) +func (i GetRoutesRouteListArray) ToGetRoutesRouteListArrayOutput() GetRoutesRouteListArrayOutput { + return i.ToGetRoutesRouteListArrayOutputWithContext(context.Background()) } -func (i GetInstancesInstanceListAttachmentListArray) ToGetInstancesInstanceListAttachmentListArrayOutputWithContext(ctx context.Context) GetInstancesInstanceListAttachmentListArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetInstancesInstanceListAttachmentListArrayOutput) +func (i GetRoutesRouteListArray) ToGetRoutesRouteListArrayOutputWithContext(ctx context.Context) GetRoutesRouteListArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRoutesRouteListArrayOutput) } -type GetInstancesInstanceListAttachmentListOutput struct{ *pulumi.OutputState } +type GetRoutesRouteListOutput struct{ *pulumi.OutputState } -func (GetInstancesInstanceListAttachmentListOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetInstancesInstanceListAttachmentList)(nil)).Elem() +func (GetRoutesRouteListOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoutesRouteList)(nil)).Elem() } -func (o GetInstancesInstanceListAttachmentListOutput) ToGetInstancesInstanceListAttachmentListOutput() GetInstancesInstanceListAttachmentListOutput { +func (o GetRoutesRouteListOutput) ToGetRoutesRouteListOutput() GetRoutesRouteListOutput { return o } -func (o GetInstancesInstanceListAttachmentListOutput) ToGetInstancesInstanceListAttachmentListOutputWithContext(ctx context.Context) GetInstancesInstanceListAttachmentListOutput { +func (o GetRoutesRouteListOutput) ToGetRoutesRouteListOutputWithContext(ctx context.Context) GetRoutesRouteListOutput { return o } -// Time of attaching. -func (o GetInstancesInstanceListAttachmentListOutput) AttachedTime() pulumi.StringOutput { - return o.ApplyT(func(v GetInstancesInstanceListAttachmentList) string { return v.AttachedTime }).(pulumi.StringOutput) +// Destination. +func (o GetRoutesRouteListOutput) DestinationCidrBlock() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutesRouteList) string { return v.DestinationCidrBlock }).(pulumi.StringOutput) } -// A network address block of the instance that is attached. -func (o GetInstancesInstanceListAttachmentListOutput) CidrBlocks() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetInstancesInstanceListAttachmentList) []string { return v.CidrBlocks }).(pulumi.StringArrayOutput) +// Is routing enabled. +func (o GetRoutesRouteListOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetRoutesRouteList) bool { return v.Enabled }).(pulumi.BoolOutput) } -// ID of instance is attached. -func (o GetInstancesInstanceListAttachmentListOutput) InstanceId() pulumi.StringOutput { - return o.ApplyT(func(v GetInstancesInstanceListAttachmentList) string { return v.InstanceId }).(pulumi.StringOutput) +// Extension status of routing. +func (o GetRoutesRouteListOutput) ExtraState() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutesRouteList) string { return v.ExtraState }).(pulumi.StringOutput) } -// The region that the instance locates at. -func (o GetInstancesInstanceListAttachmentListOutput) InstanceRegion() pulumi.StringOutput { - return o.ApplyT(func(v GetInstancesInstanceListAttachmentList) string { return v.InstanceRegion }).(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) } -// Type of attached instance network, and available values include VPC, DIRECTCONNECT, BMVPC and VPNGW. -func (o GetInstancesInstanceListAttachmentListOutput) InstanceType() pulumi.StringOutput { - return o.ApplyT(func(v GetInstancesInstanceListAttachmentList) string { return v.InstanceType }).(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) } -// States of instance. The available value include 'ISOLATED'(arrears) and 'AVAILABLE'. -func (o GetInstancesInstanceListAttachmentListOutput) State() pulumi.StringOutput { - return o.ApplyT(func(v GetInstancesInstanceListAttachmentList) string { return v.State }).(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) } -type GetInstancesInstanceListAttachmentListArrayOutput struct{ *pulumi.OutputState } +// Next jump (associated instance region). +func (o GetRoutesRouteListOutput) InstanceRegion() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutesRouteList) string { return v.InstanceRegion }).(pulumi.StringOutput) +} -func (GetInstancesInstanceListAttachmentListArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetInstancesInstanceListAttachmentList)(nil)).Elem() +// 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) } -func (o GetInstancesInstanceListAttachmentListArrayOutput) ToGetInstancesInstanceListAttachmentListArrayOutput() GetInstancesInstanceListAttachmentListArrayOutput { +// 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 GetInstancesInstanceListAttachmentListArrayOutput) ToGetInstancesInstanceListAttachmentListArrayOutputWithContext(ctx context.Context) GetInstancesInstanceListAttachmentListArrayOutput { +func (o GetRoutesRouteListArrayOutput) ToGetRoutesRouteListArrayOutputWithContext(ctx context.Context) GetRoutesRouteListArrayOutput { return o } -func (o GetInstancesInstanceListAttachmentListArrayOutput) Index(i pulumi.IntInput) GetInstancesInstanceListAttachmentListOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetInstancesInstanceListAttachmentList { - return vs[0].([]GetInstancesInstanceListAttachmentList)[vs[1].(int)] - }).(GetInstancesInstanceListAttachmentListOutput) +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() { @@ -1394,6 +2901,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 +2929,36 @@ 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((*GetRouteTableInputPoliciesPolicySetInput)(nil)).Elem(), GetRouteTableInputPoliciesPolicySetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRouteTableInputPoliciesPolicySetArrayInput)(nil)).Elem(), GetRouteTableInputPoliciesPolicySetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRouteTableInputPoliciesPolicySetPolicyInput)(nil)).Elem(), GetRouteTableInputPoliciesPolicySetPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRouteTableInputPoliciesPolicySetPolicyArrayInput)(nil)).Elem(), GetRouteTableInputPoliciesPolicySetPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRouteTableInputPoliciesPolicySetPolicyRouteConditionInput)(nil)).Elem(), GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArrayInput)(nil)).Elem(), GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArray{}) + 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 +2973,14 @@ func init() { pulumi.RegisterOutputType(GetInstancesInstanceListArrayOutput{}) pulumi.RegisterOutputType(GetInstancesInstanceListAttachmentListOutput{}) pulumi.RegisterOutputType(GetInstancesInstanceListAttachmentListArrayOutput{}) + pulumi.RegisterOutputType(GetRouteTableInputPoliciesPolicySetOutput{}) + pulumi.RegisterOutputType(GetRouteTableInputPoliciesPolicySetArrayOutput{}) + pulumi.RegisterOutputType(GetRouteTableInputPoliciesPolicySetPolicyOutput{}) + pulumi.RegisterOutputType(GetRouteTableInputPoliciesPolicySetPolicyArrayOutput{}) + pulumi.RegisterOutputType(GetRouteTableInputPoliciesPolicySetPolicyRouteConditionOutput{}) + pulumi.RegisterOutputType(GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArrayOutput{}) + 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..626b558ee 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("ccnr-5uhewx1s"), +// 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..12396c948 100644 --- a/sdk/go/tencentcloud/cdn/pulumiTypes.go +++ b/sdk/go/tencentcloud/cdn/pulumiTypes.go @@ -5292,17 +5292,19 @@ 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"` // 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`. CosPrivateAccess *string `pulumi:"cosPrivateAccess"` + // Object storage back to the source vendor. Required when the source station type is a third-party storage source station (third_party). Optional values include the following: `awsS3`: AWS S3; `aliOss`: Alibaba Cloud OSS; `hwObs`: Huawei OBS; `qiniuKodo`: Qiniu Cloud kodo; `others`: other vendors' object storage, only supports object storage compatible with AWS signature algorithm, such as Tencent Cloud Financial Zone COS. Example value: `hwObs`. + OriginCompany *string `pulumi:"originCompany"` // Master origin server list. Valid values can be ip or domain name. When modifying the origin server, you need to enter the corresponding `originType`. 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,17 +5324,19 @@ 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"` // 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`. CosPrivateAccess pulumi.StringPtrInput `pulumi:"cosPrivateAccess"` + // Object storage back to the source vendor. Required when the source station type is a third-party storage source station (third_party). Optional values include the following: `awsS3`: AWS S3; `aliOss`: Alibaba Cloud OSS; `hwObs`: Huawei OBS; `qiniuKodo`: Qiniu Cloud kodo; `others`: other vendors' object storage, only supports object storage compatible with AWS signature algorithm, such as Tencent Cloud Financial Zone COS. Example value: `hwObs`. + OriginCompany pulumi.StringPtrInput `pulumi:"originCompany"` // Master origin server list. Valid values can be ip or domain name. When modifying the origin server, you need to enter the corresponding `originType`. 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 +5424,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) } @@ -5435,6 +5439,11 @@ func (o DomainOriginOutput) CosPrivateAccess() pulumi.StringPtrOutput { return o.ApplyT(func(v DomainOrigin) *string { return v.CosPrivateAccess }).(pulumi.StringPtrOutput) } +// Object storage back to the source vendor. Required when the source station type is a third-party storage source station (third_party). Optional values include the following: `awsS3`: AWS S3; `aliOss`: Alibaba Cloud OSS; `hwObs`: Huawei OBS; `qiniuKodo`: Qiniu Cloud kodo; `others`: other vendors' object storage, only supports object storage compatible with AWS signature algorithm, such as Tencent Cloud Financial Zone COS. Example value: `hwObs`. +func (o DomainOriginOutput) OriginCompany() pulumi.StringPtrOutput { + return o.ApplyT(func(v DomainOrigin) *string { return v.OriginCompany }).(pulumi.StringPtrOutput) +} + // Master origin server list. Valid values can be ip or domain name. When modifying the origin server, you need to enter the corresponding `originType`. func (o DomainOriginOutput) OriginLists() pulumi.StringArrayOutput { return o.ApplyT(func(v DomainOrigin) []string { return v.OriginLists }).(pulumi.StringArrayOutput) @@ -5445,7 +5454,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 +5498,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 { @@ -5519,6 +5528,16 @@ func (o DomainOriginPtrOutput) CosPrivateAccess() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +// Object storage back to the source vendor. Required when the source station type is a third-party storage source station (third_party). Optional values include the following: `awsS3`: AWS S3; `aliOss`: Alibaba Cloud OSS; `hwObs`: Huawei OBS; `qiniuKodo`: Qiniu Cloud kodo; `others`: other vendors' object storage, only supports object storage compatible with AWS signature algorithm, such as Tencent Cloud Financial Zone COS. Example value: `hwObs`. +func (o DomainOriginPtrOutput) OriginCompany() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DomainOrigin) *string { + if v == nil { + return nil + } + return v.OriginCompany + }).(pulumi.StringPtrOutput) +} + // Master origin server list. Valid values can be ip or domain name. When modifying the origin server, you need to enter the corresponding `originType`. func (o DomainOriginPtrOutput) OriginLists() pulumi.StringArrayOutput { return o.ApplyT(func(v *DomainOrigin) []string { @@ -5539,7 +5558,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 +6103,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 +9223,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 +9326,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/init.go b/sdk/go/tencentcloud/clb/init.go index d4e1296d7..082bc1794 100644 --- a/sdk/go/tencentcloud/clb/init.go +++ b/sdk/go/tencentcloud/clb/init.go @@ -35,6 +35,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &InstanceSlaConfig{} case "tencentcloud:Clb/listener:Listener": r = &Listener{} + case "tencentcloud:Clb/listenerDefaultDomain:ListenerDefaultDomain": + r = &ListenerDefaultDomain{} case "tencentcloud:Clb/listenerRule:ListenerRule": r = &ListenerRule{} case "tencentcloud:Clb/logSet:LogSet": @@ -105,6 +107,11 @@ func init() { "Clb/listener", &module{version}, ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Clb/listenerDefaultDomain", + &module{version}, + ) pulumi.RegisterResourceModule( "tencentcloud", "Clb/listenerRule", diff --git a/sdk/go/tencentcloud/clb/instance.go b/sdk/go/tencentcloud/clb/instance.go index f7d6e1f5b..3eadde457 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,12 +762,12 @@ 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 - // IP version, only applicable to open CLB. Valid values are `ipv4`, `ipv6` and `IPv6FullChain`. + // It's only applicable to public network CLB instances. IP version. Values: `IPV4`, `IPV6` and `IPv6FullChain` (case-insensitive). Default: `IPV4`. Note: IPV6 indicates IPv6 NAT64, while IPv6FullChain indicates IPv6. AddressIpVersion pulumi.StringOutput `pulumi:"addressIpVersion"` // The IPv6 address of the load balancing instance. AddressIpv6 pulumi.StringOutput `pulumi:"addressIpv6"` @@ -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. @@ -599,7 +867,7 @@ func GetInstance(ctx *pulumi.Context, // Input properties used for looking up and filtering Instance resources. type instanceState struct { - // IP version, only applicable to open CLB. Valid values are `ipv4`, `ipv6` and `IPv6FullChain`. + // It's only applicable to public network CLB instances. IP version. Values: `IPV4`, `IPV6` and `IPv6FullChain` (case-insensitive). Default: `IPV4`. Note: IPV6 indicates IPv6 NAT64, while IPv6FullChain indicates IPv6. AddressIpVersion *string `pulumi:"addressIpVersion"` // The IPv6 address of the load balancing instance. AddressIpv6 *string `pulumi:"addressIpv6"` @@ -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. @@ -662,7 +932,7 @@ type instanceState struct { } type InstanceState struct { - // IP version, only applicable to open CLB. Valid values are `ipv4`, `ipv6` and `IPv6FullChain`. + // It's only applicable to public network CLB instances. IP version. Values: `IPV4`, `IPV6` and `IPv6FullChain` (case-insensitive). Default: `IPV4`. Note: IPV6 indicates IPv6 NAT64, while IPv6FullChain indicates IPv6. AddressIpVersion pulumi.StringPtrInput // The IPv6 address of the load balancing instance. AddressIpv6 pulumi.StringPtrInput @@ -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. @@ -729,12 +1001,14 @@ func (InstanceState) ElementType() reflect.Type { } type instanceArgs struct { - // IP version, only applicable to open CLB. Valid values are `ipv4`, `ipv6` and `IPv6FullChain`. + // It's only applicable to public network CLB instances. IP version. Values: `IPV4`, `IPV6` and `IPv6FullChain` (case-insensitive). Default: `IPV4`. Note: IPV6 indicates IPv6 NAT64, while IPv6FullChain indicates IPv6. AddressIpVersion *string `pulumi:"addressIpVersion"` // Bandwidth package id. If set, the `internetChargeType` must be `BANDWIDTH_PACKAGE`. BandwidthPackageId *string `pulumi:"bandwidthPackageId"` // Name of the CLB. The name can only contain Chinese characters, English letters, numbers, underscore and hyphen '-'. 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`. @@ -785,12 +1059,14 @@ type instanceArgs struct { // The set of arguments for constructing a Instance resource. type InstanceArgs struct { - // IP version, only applicable to open CLB. Valid values are `ipv4`, `ipv6` and `IPv6FullChain`. + // It's only applicable to public network CLB instances. IP version. Values: `IPV4`, `IPV6` and `IPv6FullChain` (case-insensitive). Default: `IPV4`. Note: IPV6 indicates IPv6 NAT64, while IPv6FullChain indicates IPv6. AddressIpVersion pulumi.StringPtrInput // Bandwidth package id. If set, the `internetChargeType` must be `BANDWIDTH_PACKAGE`. BandwidthPackageId pulumi.StringPtrInput // Name of the CLB. The name can only contain Chinese characters, English letters, numbers, underscore and hyphen '-'. 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`. @@ -926,7 +1202,7 @@ func (o InstanceOutput) ToInstanceOutputWithContext(ctx context.Context) Instanc return o } -// IP version, only applicable to open CLB. Valid values are `ipv4`, `ipv6` and `IPv6FullChain`. +// It's only applicable to public network CLB instances. IP version. Values: `IPV4`, `IPV6` and `IPv6FullChain` (case-insensitive). Default: `IPV4`. Note: IPV6 indicates IPv6 NAT64, while IPv6FullChain indicates IPv6. func (o InstanceOutput) AddressIpVersion() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.AddressIpVersion }).(pulumi.StringOutput) } @@ -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/listener.go b/sdk/go/tencentcloud/clb/listener.go index 11753ade6..8618f73f1 100644 --- a/sdk/go/tencentcloud/clb/listener.go +++ b/sdk/go/tencentcloud/clb/listener.go @@ -355,6 +355,8 @@ type Listener struct { ClbId pulumi.StringOutput `pulumi:"clbId"` // This parameter is used to specify the end port and is required when creating a port range listener. Only one member can be passed in when inputting the `Ports` parameter, which is used to specify the start port. If you want to try the port range feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category). EndPort pulumi.IntOutput `pulumi:"endPort"` + // Enable H2C switch for intranet HTTP listener. + H2cSwitch pulumi.BoolOutput `pulumi:"h2cSwitch"` // Health check protocol. When the value of `healthCheckType` of the health check protocol is `CUSTOM`, this field is required, which represents the input format of the health check. Valid values: `HEX`, `TEXT`. HealthCheckContextType pulumi.StringOutput `pulumi:"healthCheckContextType"` // Health threshold of health check, and the default is `3`. If a success result is returned for the health check for 3 consecutive times, the backend CVM is identified as healthy. The value range is 2-10. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in tencentcloud_clb_listener_rule. @@ -458,6 +460,8 @@ type listenerState struct { ClbId *string `pulumi:"clbId"` // This parameter is used to specify the end port and is required when creating a port range listener. Only one member can be passed in when inputting the `Ports` parameter, which is used to specify the start port. If you want to try the port range feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category). EndPort *int `pulumi:"endPort"` + // Enable H2C switch for intranet HTTP listener. + H2cSwitch *bool `pulumi:"h2cSwitch"` // Health check protocol. When the value of `healthCheckType` of the health check protocol is `CUSTOM`, this field is required, which represents the input format of the health check. Valid values: `HEX`, `TEXT`. HealthCheckContextType *string `pulumi:"healthCheckContextType"` // Health threshold of health check, and the default is `3`. If a success result is returned for the health check for 3 consecutive times, the backend CVM is identified as healthy. The value range is 2-10. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in tencentcloud_clb_listener_rule. @@ -523,6 +527,8 @@ type ListenerState struct { ClbId pulumi.StringPtrInput // This parameter is used to specify the end port and is required when creating a port range listener. Only one member can be passed in when inputting the `Ports` parameter, which is used to specify the start port. If you want to try the port range feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category). EndPort pulumi.IntPtrInput + // Enable H2C switch for intranet HTTP listener. + H2cSwitch pulumi.BoolPtrInput // Health check protocol. When the value of `healthCheckType` of the health check protocol is `CUSTOM`, this field is required, which represents the input format of the health check. Valid values: `HEX`, `TEXT`. HealthCheckContextType pulumi.StringPtrInput // Health threshold of health check, and the default is `3`. If a success result is returned for the health check for 3 consecutive times, the backend CVM is identified as healthy. The value range is 2-10. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in tencentcloud_clb_listener_rule. @@ -592,6 +598,8 @@ type listenerArgs struct { ClbId string `pulumi:"clbId"` // This parameter is used to specify the end port and is required when creating a port range listener. Only one member can be passed in when inputting the `Ports` parameter, which is used to specify the start port. If you want to try the port range feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category). EndPort *int `pulumi:"endPort"` + // Enable H2C switch for intranet HTTP listener. + H2cSwitch *bool `pulumi:"h2cSwitch"` // Health check protocol. When the value of `healthCheckType` of the health check protocol is `CUSTOM`, this field is required, which represents the input format of the health check. Valid values: `HEX`, `TEXT`. HealthCheckContextType *string `pulumi:"healthCheckContextType"` // Health threshold of health check, and the default is `3`. If a success result is returned for the health check for 3 consecutive times, the backend CVM is identified as healthy. The value range is 2-10. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in tencentcloud_clb_listener_rule. @@ -656,6 +664,8 @@ type ListenerArgs struct { ClbId pulumi.StringInput // This parameter is used to specify the end port and is required when creating a port range listener. Only one member can be passed in when inputting the `Ports` parameter, which is used to specify the start port. If you want to try the port range feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category). EndPort pulumi.IntPtrInput + // Enable H2C switch for intranet HTTP listener. + H2cSwitch pulumi.BoolPtrInput // Health check protocol. When the value of `healthCheckType` of the health check protocol is `CUSTOM`, this field is required, which represents the input format of the health check. Valid values: `HEX`, `TEXT`. HealthCheckContextType pulumi.StringPtrInput // Health threshold of health check, and the default is `3`. If a success result is returned for the health check for 3 consecutive times, the backend CVM is identified as healthy. The value range is 2-10. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in tencentcloud_clb_listener_rule. @@ -820,6 +830,11 @@ func (o ListenerOutput) EndPort() pulumi.IntOutput { return o.ApplyT(func(v *Listener) pulumi.IntOutput { return v.EndPort }).(pulumi.IntOutput) } +// Enable H2C switch for intranet HTTP listener. +func (o ListenerOutput) H2cSwitch() pulumi.BoolOutput { + return o.ApplyT(func(v *Listener) pulumi.BoolOutput { return v.H2cSwitch }).(pulumi.BoolOutput) +} + // Health check protocol. When the value of `healthCheckType` of the health check protocol is `CUSTOM`, this field is required, which represents the input format of the health check. Valid values: `HEX`, `TEXT`. func (o ListenerOutput) HealthCheckContextType() pulumi.StringOutput { return o.ApplyT(func(v *Listener) pulumi.StringOutput { return v.HealthCheckContextType }).(pulumi.StringOutput) diff --git a/sdk/go/tencentcloud/clb/listenerDefaultDomain.go b/sdk/go/tencentcloud/clb/listenerDefaultDomain.go new file mode 100644 index 000000000..f59e3682c --- /dev/null +++ b/sdk/go/tencentcloud/clb/listenerDefaultDomain.go @@ -0,0 +1,306 @@ +// 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 clb + +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 set clb listener default domain +// +// ## Example Usage +// +// ### Set default domain +// +// +// ```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.NewListenerDefaultDomain(ctx, "example", &Clb.ListenerDefaultDomainArgs{ +// ClbId: pulumi.String("lb-g1miv1ok"), +// Domain: pulumi.String("3.com"), +// ListenerId: pulumi.String("lbl-duilx5qm"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// CLB listener default domain can be imported using the id (version >= 1.47.0), e.g. +// +// ```sh +// $ pulumi import tencentcloud:Clb/listenerDefaultDomain:ListenerDefaultDomain example lb-k2zjp9lv#lbl-hh141sn9 +// ``` +type ListenerDefaultDomain struct { + pulumi.CustomResourceState + + // ID of CLB instance. + ClbId pulumi.StringOutput `pulumi:"clbId"` + // 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"` + // ID of CLB listener. + ListenerId pulumi.StringOutput `pulumi:"listenerId"` + // ID of this CLB listener rule. + RuleId pulumi.StringOutput `pulumi:"ruleId"` +} + +// NewListenerDefaultDomain registers a new resource with the given unique name, arguments, and options. +func NewListenerDefaultDomain(ctx *pulumi.Context, + name string, args *ListenerDefaultDomainArgs, opts ...pulumi.ResourceOption) (*ListenerDefaultDomain, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + 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'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ListenerDefaultDomain + err := ctx.RegisterResource("tencentcloud:Clb/listenerDefaultDomain:ListenerDefaultDomain", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetListenerDefaultDomain gets an existing ListenerDefaultDomain 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 GetListenerDefaultDomain(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ListenerDefaultDomainState, opts ...pulumi.ResourceOption) (*ListenerDefaultDomain, error) { + var resource ListenerDefaultDomain + err := ctx.ReadResource("tencentcloud:Clb/listenerDefaultDomain:ListenerDefaultDomain", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ListenerDefaultDomain resources. +type listenerDefaultDomainState struct { + // ID of CLB instance. + ClbId *string `pulumi:"clbId"` + // 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"` + // ID of CLB listener. + ListenerId *string `pulumi:"listenerId"` + // ID of this CLB listener rule. + RuleId *string `pulumi:"ruleId"` +} + +type ListenerDefaultDomainState struct { + // ID of CLB instance. + ClbId pulumi.StringPtrInput + // Domain name of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. + Domain pulumi.StringPtrInput + // ID of CLB listener. + ListenerId pulumi.StringPtrInput + // ID of this CLB listener rule. + RuleId pulumi.StringPtrInput +} + +func (ListenerDefaultDomainState) ElementType() reflect.Type { + return reflect.TypeOf((*listenerDefaultDomainState)(nil)).Elem() +} + +type listenerDefaultDomainArgs struct { + // ID of CLB instance. + ClbId string `pulumi:"clbId"` + // 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"` + // ID of CLB listener. + ListenerId string `pulumi:"listenerId"` +} + +// The set of arguments for constructing a ListenerDefaultDomain resource. +type ListenerDefaultDomainArgs struct { + // ID of CLB instance. + ClbId 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.StringInput + // ID of CLB listener. + ListenerId pulumi.StringInput +} + +func (ListenerDefaultDomainArgs) ElementType() reflect.Type { + return reflect.TypeOf((*listenerDefaultDomainArgs)(nil)).Elem() +} + +type ListenerDefaultDomainInput interface { + pulumi.Input + + ToListenerDefaultDomainOutput() ListenerDefaultDomainOutput + ToListenerDefaultDomainOutputWithContext(ctx context.Context) ListenerDefaultDomainOutput +} + +func (*ListenerDefaultDomain) ElementType() reflect.Type { + return reflect.TypeOf((**ListenerDefaultDomain)(nil)).Elem() +} + +func (i *ListenerDefaultDomain) ToListenerDefaultDomainOutput() ListenerDefaultDomainOutput { + return i.ToListenerDefaultDomainOutputWithContext(context.Background()) +} + +func (i *ListenerDefaultDomain) ToListenerDefaultDomainOutputWithContext(ctx context.Context) ListenerDefaultDomainOutput { + return pulumi.ToOutputWithContext(ctx, i).(ListenerDefaultDomainOutput) +} + +// ListenerDefaultDomainArrayInput is an input type that accepts ListenerDefaultDomainArray and ListenerDefaultDomainArrayOutput values. +// You can construct a concrete instance of `ListenerDefaultDomainArrayInput` via: +// +// ListenerDefaultDomainArray{ ListenerDefaultDomainArgs{...} } +type ListenerDefaultDomainArrayInput interface { + pulumi.Input + + ToListenerDefaultDomainArrayOutput() ListenerDefaultDomainArrayOutput + ToListenerDefaultDomainArrayOutputWithContext(context.Context) ListenerDefaultDomainArrayOutput +} + +type ListenerDefaultDomainArray []ListenerDefaultDomainInput + +func (ListenerDefaultDomainArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ListenerDefaultDomain)(nil)).Elem() +} + +func (i ListenerDefaultDomainArray) ToListenerDefaultDomainArrayOutput() ListenerDefaultDomainArrayOutput { + return i.ToListenerDefaultDomainArrayOutputWithContext(context.Background()) +} + +func (i ListenerDefaultDomainArray) ToListenerDefaultDomainArrayOutputWithContext(ctx context.Context) ListenerDefaultDomainArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ListenerDefaultDomainArrayOutput) +} + +// ListenerDefaultDomainMapInput is an input type that accepts ListenerDefaultDomainMap and ListenerDefaultDomainMapOutput values. +// You can construct a concrete instance of `ListenerDefaultDomainMapInput` via: +// +// ListenerDefaultDomainMap{ "key": ListenerDefaultDomainArgs{...} } +type ListenerDefaultDomainMapInput interface { + pulumi.Input + + ToListenerDefaultDomainMapOutput() ListenerDefaultDomainMapOutput + ToListenerDefaultDomainMapOutputWithContext(context.Context) ListenerDefaultDomainMapOutput +} + +type ListenerDefaultDomainMap map[string]ListenerDefaultDomainInput + +func (ListenerDefaultDomainMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ListenerDefaultDomain)(nil)).Elem() +} + +func (i ListenerDefaultDomainMap) ToListenerDefaultDomainMapOutput() ListenerDefaultDomainMapOutput { + return i.ToListenerDefaultDomainMapOutputWithContext(context.Background()) +} + +func (i ListenerDefaultDomainMap) ToListenerDefaultDomainMapOutputWithContext(ctx context.Context) ListenerDefaultDomainMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ListenerDefaultDomainMapOutput) +} + +type ListenerDefaultDomainOutput struct{ *pulumi.OutputState } + +func (ListenerDefaultDomainOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ListenerDefaultDomain)(nil)).Elem() +} + +func (o ListenerDefaultDomainOutput) ToListenerDefaultDomainOutput() ListenerDefaultDomainOutput { + return o +} + +func (o ListenerDefaultDomainOutput) ToListenerDefaultDomainOutputWithContext(ctx context.Context) ListenerDefaultDomainOutput { + return o +} + +// ID of CLB instance. +func (o ListenerDefaultDomainOutput) ClbId() pulumi.StringOutput { + return o.ApplyT(func(v *ListenerDefaultDomain) pulumi.StringOutput { return v.ClbId }).(pulumi.StringOutput) +} + +// Domain name of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. +func (o ListenerDefaultDomainOutput) Domain() pulumi.StringOutput { + return o.ApplyT(func(v *ListenerDefaultDomain) pulumi.StringOutput { return v.Domain }).(pulumi.StringOutput) +} + +// ID of CLB listener. +func (o ListenerDefaultDomainOutput) ListenerId() pulumi.StringOutput { + return o.ApplyT(func(v *ListenerDefaultDomain) pulumi.StringOutput { return v.ListenerId }).(pulumi.StringOutput) +} + +// ID of this CLB listener rule. +func (o ListenerDefaultDomainOutput) RuleId() pulumi.StringOutput { + return o.ApplyT(func(v *ListenerDefaultDomain) pulumi.StringOutput { return v.RuleId }).(pulumi.StringOutput) +} + +type ListenerDefaultDomainArrayOutput struct{ *pulumi.OutputState } + +func (ListenerDefaultDomainArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ListenerDefaultDomain)(nil)).Elem() +} + +func (o ListenerDefaultDomainArrayOutput) ToListenerDefaultDomainArrayOutput() ListenerDefaultDomainArrayOutput { + return o +} + +func (o ListenerDefaultDomainArrayOutput) ToListenerDefaultDomainArrayOutputWithContext(ctx context.Context) ListenerDefaultDomainArrayOutput { + return o +} + +func (o ListenerDefaultDomainArrayOutput) Index(i pulumi.IntInput) ListenerDefaultDomainOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ListenerDefaultDomain { + return vs[0].([]*ListenerDefaultDomain)[vs[1].(int)] + }).(ListenerDefaultDomainOutput) +} + +type ListenerDefaultDomainMapOutput struct{ *pulumi.OutputState } + +func (ListenerDefaultDomainMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ListenerDefaultDomain)(nil)).Elem() +} + +func (o ListenerDefaultDomainMapOutput) ToListenerDefaultDomainMapOutput() ListenerDefaultDomainMapOutput { + return o +} + +func (o ListenerDefaultDomainMapOutput) ToListenerDefaultDomainMapOutputWithContext(ctx context.Context) ListenerDefaultDomainMapOutput { + return o +} + +func (o ListenerDefaultDomainMapOutput) MapIndex(k pulumi.StringInput) ListenerDefaultDomainOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ListenerDefaultDomain { + return vs[0].(map[string]*ListenerDefaultDomain)[vs[1].(string)] + }).(ListenerDefaultDomainOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ListenerDefaultDomainInput)(nil)).Elem(), &ListenerDefaultDomain{}) + pulumi.RegisterInputType(reflect.TypeOf((*ListenerDefaultDomainArrayInput)(nil)).Elem(), ListenerDefaultDomainArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ListenerDefaultDomainMapInput)(nil)).Elem(), ListenerDefaultDomainMap{}) + pulumi.RegisterOutputType(ListenerDefaultDomainOutput{}) + pulumi.RegisterOutputType(ListenerDefaultDomainArrayOutput{}) + pulumi.RegisterOutputType(ListenerDefaultDomainMapOutput{}) +} diff --git a/sdk/go/tencentcloud/clb/listenerRule.go b/sdk/go/tencentcloud/clb/listenerRule.go index cefedf322..532a0b8b7 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,9 +123,11 @@ 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"` - // Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `TRPC`. The default is `HTTP`. + // 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`, `GRPC`, `GRPCS`, `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`. HealthCheckHealthNum pulumi.IntOutput `pulumi:"healthCheckHealthNum"` @@ -98,7 +145,7 @@ type ListenerRule struct { HealthCheckSwitch pulumi.BoolOutput `pulumi:"healthCheckSwitch"` // Time out of health check. The value range is 2-60. HealthCheckTimeOut pulumi.IntOutput `pulumi:"healthCheckTimeOut"` - // Type of health check. Valid value is `CUSTOM`, `TCP`, `HTTP`. + // Type of health check. Valid value is `CUSTOM`, `PING`, `TCP`, `HTTP`, `HTTPS`, `GRPC`, `GRPCS`. HealthCheckType pulumi.StringOutput `pulumi:"healthCheckType"` // Unhealthy threshold of health check, and the default is `3`. If the unhealthy result is returned 3 consecutive times, indicates that the forwarding is abnormal. 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`. HealthCheckUnhealthNum pulumi.IntOutput `pulumi:"healthCheckUnhealthNum"` @@ -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,9 +214,11 @@ 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"` - // Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `TRPC`. The default is `HTTP`. + // 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`, `GRPC`, `GRPCS`, `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`. HealthCheckHealthNum *int `pulumi:"healthCheckHealthNum"` @@ -190,7 +236,7 @@ type listenerRuleState struct { HealthCheckSwitch *bool `pulumi:"healthCheckSwitch"` // Time out of health check. The value range is 2-60. HealthCheckTimeOut *int `pulumi:"healthCheckTimeOut"` - // Type of health check. Valid value is `CUSTOM`, `TCP`, `HTTP`. + // Type of health check. Valid value is `CUSTOM`, `PING`, `TCP`, `HTTP`, `HTTPS`, `GRPC`, `GRPCS`. HealthCheckType *string `pulumi:"healthCheckType"` // Unhealthy threshold of health check, and the default is `3`. If the unhealthy result is returned 3 consecutive times, indicates that the forwarding is abnormal. 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`. HealthCheckUnhealthNum *int `pulumi:"healthCheckUnhealthNum"` @@ -221,9 +267,11 @@ 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 - // Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `TRPC`. The default is `HTTP`. + // 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`, `GRPC`, `GRPCS`, `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`. HealthCheckHealthNum pulumi.IntPtrInput @@ -241,7 +289,7 @@ type ListenerRuleState struct { HealthCheckSwitch pulumi.BoolPtrInput // Time out of health check. The value range is 2-60. HealthCheckTimeOut pulumi.IntPtrInput - // Type of health check. Valid value is `CUSTOM`, `TCP`, `HTTP`. + // Type of health check. Valid value is `CUSTOM`, `PING`, `TCP`, `HTTP`, `HTTPS`, `GRPC`, `GRPCS`. HealthCheckType pulumi.StringPtrInput // Unhealthy threshold of health check, and the default is `3`. If the unhealthy result is returned 3 consecutive times, indicates that the forwarding is abnormal. 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`. HealthCheckUnhealthNum pulumi.IntPtrInput @@ -276,9 +324,11 @@ 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"` - // Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `TRPC`. The default is `HTTP`. + // 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`, `GRPC`, `GRPCS`, `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`. HealthCheckHealthNum *int `pulumi:"healthCheckHealthNum"` @@ -296,7 +346,7 @@ type listenerRuleArgs struct { HealthCheckSwitch *bool `pulumi:"healthCheckSwitch"` // Time out of health check. The value range is 2-60. HealthCheckTimeOut *int `pulumi:"healthCheckTimeOut"` - // Type of health check. Valid value is `CUSTOM`, `TCP`, `HTTP`. + // Type of health check. Valid value is `CUSTOM`, `PING`, `TCP`, `HTTP`, `HTTPS`, `GRPC`, `GRPCS`. HealthCheckType *string `pulumi:"healthCheckType"` // Unhealthy threshold of health check, and the default is `3`. If the unhealthy result is returned 3 consecutive times, indicates that the forwarding is abnormal. 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`. HealthCheckUnhealthNum *int `pulumi:"healthCheckUnhealthNum"` @@ -326,9 +376,11 @@ type ListenerRuleArgs struct { CertificateSslMode pulumi.StringPtrInput // ID of CLB instance. ClbId pulumi.StringInput - // Domain name of the listener rule. - Domain pulumi.StringInput - // Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `TRPC`. The default is `HTTP`. + // 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`, `GRPC`, `GRPCS`, `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`. HealthCheckHealthNum pulumi.IntPtrInput @@ -346,7 +398,7 @@ type ListenerRuleArgs struct { HealthCheckSwitch pulumi.BoolPtrInput // Time out of health check. The value range is 2-60. HealthCheckTimeOut pulumi.IntPtrInput - // Type of health check. Valid value is `CUSTOM`, `TCP`, `HTTP`. + // Type of health check. Valid value is `CUSTOM`, `PING`, `TCP`, `HTTP`, `HTTPS`, `GRPC`, `GRPCS`. HealthCheckType pulumi.StringPtrInput // Unhealthy threshold of health check, and the default is `3`. If the unhealthy result is returned 3 consecutive times, indicates that the forwarding is abnormal. 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`. HealthCheckUnhealthNum pulumi.IntPtrInput @@ -473,12 +525,17 @@ 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) } -// Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `TRPC`. The default is `HTTP`. +// 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`, `GRPC`, `GRPCS`, `TRPC`. The default is `HTTP`. func (o ListenerRuleOutput) ForwardType() pulumi.StringOutput { return o.ApplyT(func(v *ListenerRule) pulumi.StringOutput { return v.ForwardType }).(pulumi.StringOutput) } @@ -523,7 +580,7 @@ func (o ListenerRuleOutput) HealthCheckTimeOut() pulumi.IntOutput { return o.ApplyT(func(v *ListenerRule) pulumi.IntOutput { return v.HealthCheckTimeOut }).(pulumi.IntOutput) } -// Type of health check. Valid value is `CUSTOM`, `TCP`, `HTTP`. +// Type of health check. Valid value is `CUSTOM`, `PING`, `TCP`, `HTTP`, `HTTPS`, `GRPC`, `GRPCS`. func (o ListenerRuleOutput) HealthCheckType() pulumi.StringOutput { return o.ApplyT(func(v *ListenerRule) pulumi.StringOutput { return v.HealthCheckType }).(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..2eb546cc1 100644 --- a/sdk/go/tencentcloud/config/pulumiTypes.go +++ b/sdk/go/tencentcloud/config/pulumiTypes.go @@ -14,6 +14,8 @@ import ( var _ = internal.GetEnvOrDefault type AssumeRole struct { + // External role ID, which can be obtained by clicking the role name in the CAM console. It can contain 2-128 letters, digits, and symbols (=,.@:/-). Regex: [\w+=,.@:/-]*. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_EXTERNAL_ID`. + ExternalId *string `pulumi:"externalId"` // A more restrictive policy when making the AssumeRole call. Its content must not contains `principal` elements. Notice: more syntax references, please refer to: [policies syntax logic](https://intl.cloud.tencent.com/document/product/598/10603). Policy *string `pulumi:"policy"` // The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`. @@ -36,6 +38,8 @@ type AssumeRoleInput interface { } type AssumeRoleArgs struct { + // External role ID, which can be obtained by clicking the role name in the CAM console. It can contain 2-128 letters, digits, and symbols (=,.@:/-). Regex: [\w+=,.@:/-]*. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_EXTERNAL_ID`. + ExternalId pulumi.StringPtrInput `pulumi:"externalId"` // A more restrictive policy when making the AssumeRole call. Its content must not contains `principal` elements. Notice: more syntax references, please refer to: [policies syntax logic](https://intl.cloud.tencent.com/document/product/598/10603). Policy pulumi.StringPtrInput `pulumi:"policy"` // The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`. @@ -72,6 +76,11 @@ func (o AssumeRoleOutput) ToAssumeRoleOutputWithContext(ctx context.Context) Ass return o } +// External role ID, which can be obtained by clicking the role name in the CAM console. It can contain 2-128 letters, digits, and symbols (=,.@:/-). Regex: [\w+=,.@:/-]*. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_EXTERNAL_ID`. +func (o AssumeRoleOutput) ExternalId() pulumi.StringPtrOutput { + return o.ApplyT(func(v AssumeRole) *string { return v.ExternalId }).(pulumi.StringPtrOutput) +} + // A more restrictive policy when making the AssumeRole call. Its content must not contains `principal` elements. Notice: more syntax references, please refer to: [policies syntax logic](https://intl.cloud.tencent.com/document/product/598/10603). func (o AssumeRoleOutput) Policy() pulumi.StringPtrOutput { return o.ApplyT(func(v AssumeRole) *string { return v.Policy }).(pulumi.StringPtrOutput) @@ -92,7 +101,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..8ad01d366 100644 --- a/sdk/go/tencentcloud/cos/bucket.go +++ b/sdk/go/tencentcloud/cos/bucket.go @@ -14,6 +14,8 @@ import ( // Provides a COS resource to create a COS bucket and set its attributes. // +// > **NOTE:** The following capabilities do not support cdc scenarios: `multiAz`, `website`, and bucket replication `replicaRole`. +// // ## Example Usage // // ### Private Bucket @@ -39,7 +41,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 +55,102 @@ 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 { +// _ := "ap-guangzhou" +// _ := "cluster-262n63e8" +// 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)), +// 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(false), +// ForceClean: pulumi.Bool(true), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// // ### Creation of multiple available zone bucket // // @@ -192,6 +290,70 @@ import ( // ``` // // +// ### Using verbose acl 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 { +// _ := "ap-guangzhou" +// _ := "cluster-262n63e8" +// info, err := User.GetInfo(ctx, nil, nil) +// if err != nil { +// return err +// } +// appId := info.AppId +// _, err = Cos.NewBucket(ctx, "bucketWithAcl", &Cos.BucketArgs{ +// Bucket: pulumi.String(fmt.Sprintf("private-bucket-%v", appId)), +// Acl: pulumi.String("private"), +// AclBody: pulumi.String(` +// +// qcs::cam::uin/100023201586:uin/100023201586 +// qcs::cam::uin/100023201586:uin/100023201586 +// +// +// +// +// qcs::cam::uin/100015006748:uin/100015006748 +// qcs::cam::uin/100015006748:uin/100015006748 +// +// WRITE +// +// +// +// qcs::cam::uin/100023201586:uin/100023201586 +// qcs::cam::uin/100023201586:uin/100023201586 +// +// FULL_CONTROL +// +// +// +// +// `), +// +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// // ### Static Website // // @@ -218,8 +380,9 @@ import ( // bucketWithStaticWebsite, err := Cos.NewBucket(ctx, "bucketWithStaticWebsite", &Cos.BucketArgs{ // Bucket: pulumi.String(fmt.Sprintf("bucket-with-static-website-%v", appId)), // Website: &cos.BucketWebsiteArgs{ -// IndexDocument: pulumi.String("index.html"), -// ErrorDocument: pulumi.String("error.html"), +// IndexDocument: pulumi.String("index.html"), +// ErrorDocument: pulumi.String("error.html"), +// RedirectAllRequestsTo: pulumi.String("https"), // }, // }) // if err != nil { @@ -290,6 +453,62 @@ 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 { +// _ := "ap-guangzhou" +// _ := "cluster-262n63e8" +// 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)), +// 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 +560,53 @@ 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 { +// _ := "ap-guangzhou" +// _ := "cluster-262n63e8" +// 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)), +// 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 +685,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 +701,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 +770,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 +786,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 +823,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 +839,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 +880,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 +894,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 +932,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 +946,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 +1081,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 +1101,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 +1121,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/bucketPolicy.go b/sdk/go/tencentcloud/cos/bucketPolicy.go index 1473847d8..f2bcb3234 100644 --- a/sdk/go/tencentcloud/cos/bucketPolicy.go +++ b/sdk/go/tencentcloud/cos/bucketPolicy.go @@ -77,7 +77,7 @@ type BucketPolicy struct { // The name of a bucket to be created. Bucket format should be [custom name]-[appid], for example `mycos-1258798060`. Bucket pulumi.StringOutput `pulumi:"bucket"` - // The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023). + // The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023), The six-segment resource scenario example in the document is as follows: Example of specifying a bucket: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/*`; Example of specifying a folder: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/*`; Specified object example: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/exampleobject`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/exampleobject`. Policy pulumi.StringOutput `pulumi:"policy"` } @@ -119,14 +119,14 @@ func GetBucketPolicy(ctx *pulumi.Context, type bucketPolicyState struct { // The name of a bucket to be created. Bucket format should be [custom name]-[appid], for example `mycos-1258798060`. Bucket *string `pulumi:"bucket"` - // The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023). + // The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023), The six-segment resource scenario example in the document is as follows: Example of specifying a bucket: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/*`; Example of specifying a folder: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/*`; Specified object example: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/exampleobject`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/exampleobject`. Policy *string `pulumi:"policy"` } type BucketPolicyState struct { // The name of a bucket to be created. Bucket format should be [custom name]-[appid], for example `mycos-1258798060`. Bucket pulumi.StringPtrInput - // The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023). + // The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023), The six-segment resource scenario example in the document is as follows: Example of specifying a bucket: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/*`; Example of specifying a folder: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/*`; Specified object example: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/exampleobject`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/exampleobject`. Policy pulumi.StringPtrInput } @@ -137,7 +137,7 @@ func (BucketPolicyState) ElementType() reflect.Type { type bucketPolicyArgs struct { // The name of a bucket to be created. Bucket format should be [custom name]-[appid], for example `mycos-1258798060`. Bucket string `pulumi:"bucket"` - // The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023). + // The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023), The six-segment resource scenario example in the document is as follows: Example of specifying a bucket: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/*`; Example of specifying a folder: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/*`; Specified object example: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/exampleobject`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/exampleobject`. Policy string `pulumi:"policy"` } @@ -145,7 +145,7 @@ type bucketPolicyArgs struct { type BucketPolicyArgs struct { // The name of a bucket to be created. Bucket format should be [custom name]-[appid], for example `mycos-1258798060`. Bucket pulumi.StringInput - // The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023). + // The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023), The six-segment resource scenario example in the document is as follows: Example of specifying a bucket: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/*`; Example of specifying a folder: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/*`; Specified object example: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/exampleobject`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/exampleobject`. Policy pulumi.StringInput } @@ -241,7 +241,7 @@ func (o BucketPolicyOutput) Bucket() pulumi.StringOutput { return o.ApplyT(func(v *BucketPolicy) pulumi.StringOutput { return v.Bucket }).(pulumi.StringOutput) } -// The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023). +// The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023), The six-segment resource scenario example in the document is as follows: Example of specifying a bucket: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/*`; Example of specifying a folder: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/*`; Specified object example: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/exampleobject`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/exampleobject`. func (o BucketPolicyOutput) Policy() pulumi.StringOutput { return o.ApplyT(func(v *BucketPolicy) pulumi.StringOutput { return v.Policy }).(pulumi.StringOutput) } 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/objectCopyOperation.go b/sdk/go/tencentcloud/cos/objectCopyOperation.go index 6fd90e783..2b0b274b5 100644 --- a/sdk/go/tencentcloud/cos/objectCopyOperation.go +++ b/sdk/go/tencentcloud/cos/objectCopyOperation.go @@ -50,7 +50,7 @@ type ObjectCopyOperation struct { Bucket pulumi.StringOutput `pulumi:"bucket"` // Object key. Key pulumi.StringOutput `pulumi:"key"` - // Object key. + // Source url. In the CDC scenario, the CDC source url is used. SourceUrl pulumi.StringOutput `pulumi:"sourceUrl"` } @@ -97,7 +97,7 @@ type objectCopyOperationState struct { Bucket *string `pulumi:"bucket"` // Object key. Key *string `pulumi:"key"` - // Object key. + // Source url. In the CDC scenario, the CDC source url is used. SourceUrl *string `pulumi:"sourceUrl"` } @@ -106,7 +106,7 @@ type ObjectCopyOperationState struct { Bucket pulumi.StringPtrInput // Object key. Key pulumi.StringPtrInput - // Object key. + // Source url. In the CDC scenario, the CDC source url is used. SourceUrl pulumi.StringPtrInput } @@ -119,7 +119,7 @@ type objectCopyOperationArgs struct { Bucket string `pulumi:"bucket"` // Object key. Key string `pulumi:"key"` - // Object key. + // Source url. In the CDC scenario, the CDC source url is used. SourceUrl string `pulumi:"sourceUrl"` } @@ -129,7 +129,7 @@ type ObjectCopyOperationArgs struct { Bucket pulumi.StringInput // Object key. Key pulumi.StringInput - // Object key. + // Source url. In the CDC scenario, the CDC source url is used. SourceUrl pulumi.StringInput } @@ -230,7 +230,7 @@ func (o ObjectCopyOperationOutput) Key() pulumi.StringOutput { return o.ApplyT(func(v *ObjectCopyOperation) pulumi.StringOutput { return v.Key }).(pulumi.StringOutput) } -// Object key. +// Source url. In the CDC scenario, the CDC source url is used. func (o ObjectCopyOperationOutput) SourceUrl() pulumi.StringOutput { return o.ApplyT(func(v *ObjectCopyOperation) pulumi.StringOutput { return v.SourceUrl }).(pulumi.StringOutput) } 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/cos/pulumiTypes.go b/sdk/go/tencentcloud/cos/pulumiTypes.go index 281400c38..064706969 100644 --- a/sdk/go/tencentcloud/cos/pulumiTypes.go +++ b/sdk/go/tencentcloud/cos/pulumiTypes.go @@ -4876,6 +4876,8 @@ type BucketWebsite struct { ErrorDocument *string `pulumi:"errorDocument"` // COS returns this index document when requests are made to the root domain or any of the subfolders. IndexDocument *string `pulumi:"indexDocument"` + // Redirects all request configurations. Valid values: http, https. Default is `http`. + RedirectAllRequestsTo *string `pulumi:"redirectAllRequestsTo"` } // BucketWebsiteInput is an input type that accepts BucketWebsiteArgs and BucketWebsiteOutput values. @@ -4896,6 +4898,8 @@ type BucketWebsiteArgs struct { ErrorDocument pulumi.StringPtrInput `pulumi:"errorDocument"` // COS returns this index document when requests are made to the root domain or any of the subfolders. IndexDocument pulumi.StringPtrInput `pulumi:"indexDocument"` + // Redirects all request configurations. Valid values: http, https. Default is `http`. + RedirectAllRequestsTo pulumi.StringPtrInput `pulumi:"redirectAllRequestsTo"` } func (BucketWebsiteArgs) ElementType() reflect.Type { @@ -4990,6 +4994,11 @@ func (o BucketWebsiteOutput) IndexDocument() pulumi.StringPtrOutput { return o.ApplyT(func(v BucketWebsite) *string { return v.IndexDocument }).(pulumi.StringPtrOutput) } +// Redirects all request configurations. Valid values: http, https. Default is `http`. +func (o BucketWebsiteOutput) RedirectAllRequestsTo() pulumi.StringPtrOutput { + return o.ApplyT(func(v BucketWebsite) *string { return v.RedirectAllRequestsTo }).(pulumi.StringPtrOutput) +} + type BucketWebsitePtrOutput struct{ *pulumi.OutputState } func (BucketWebsitePtrOutput) ElementType() reflect.Type { @@ -5044,6 +5053,16 @@ func (o BucketWebsitePtrOutput) IndexDocument() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +// Redirects all request configurations. Valid values: http, https. Default is `http`. +func (o BucketWebsitePtrOutput) RedirectAllRequestsTo() pulumi.StringPtrOutput { + return o.ApplyT(func(v *BucketWebsite) *string { + if v == nil { + return nil + } + return v.RedirectAllRequestsTo + }).(pulumi.StringPtrOutput) +} + type GetBatchsJob struct { // Job creation time. CreationTime string `pulumi:"creationTime"` diff --git a/sdk/go/tencentcloud/cvm/actionTimer.go b/sdk/go/tencentcloud/cvm/actionTimer.go new file mode 100644 index 000000000..fd0729073 --- /dev/null +++ b/sdk/go/tencentcloud/cvm/actionTimer.go @@ -0,0 +1,332 @@ +// 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 cvm + +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 CVM instance action timer +// +// ## 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/Cvm" +// "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-6" +// if param := cfg.Get("availabilityZone"); param != "" { +// availabilityZone = param +// } +// images, err := Images.GetInstance(ctx, &images.GetInstanceArgs{ +// ImageTypes: []string{ +// "PUBLIC_IMAGE", +// }, +// ImageNameRegex: pulumi.StringRef("TencentOS Server"), +// }, 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 vpc subnet +// subnet, err := Subnet.NewInstance(ctx, "subnet", &Subnet.InstanceArgs{ +// VpcId: vpc.ID(), +// AvailabilityZone: pulumi.String(availabilityZone), +// CidrBlock: pulumi.String("10.0.20.0/28"), +// IsMulticast: pulumi.Bool(false), +// }) +// if err != nil { +// return err +// } +// // create cvm +// exampleInstance, err := Instance.NewInstance(ctx, "exampleInstance", &Instance.InstanceArgs{ +// InstanceName: pulumi.String("tf_example"), +// AvailabilityZone: pulumi.String(availabilityZone), +// ImageId: pulumi.String(images.Images[0].ImageId), +// InstanceType: pulumi.String("SA3.MEDIUM4"), +// SystemDiskType: pulumi.String("CLOUD_HSSD"), +// SystemDiskSize: pulumi.Int(100), +// Hostname: pulumi.String("example"), +// ProjectId: pulumi.Int(0), +// VpcId: vpc.ID(), +// SubnetId: subnet.ID(), +// DataDisks: instance.InstanceDataDiskArray{ +// &instance.InstanceDataDiskArgs{ +// DataDiskType: pulumi.String("CLOUD_HSSD"), +// DataDiskSize: pulumi.Int(50), +// Encrypt: pulumi.Bool(false), +// }, +// }, +// Tags: pulumi.Map{ +// "createBy": pulumi.Any("terraform"), +// }, +// }) +// if err != nil { +// return err +// } +// // create cvm action timer +// _, err = Cvm.NewActionTimer(ctx, "exampleActionTimer", &Cvm.ActionTimerArgs{ +// InstanceId: exampleInstance.ID(), +// ActionTimer: &cvm.ActionTimerActionTimerArgs{ +// TimerAction: pulumi.String("TerminateInstances"), +// ActionTime: pulumi.String("2024-11-11T11:26:40Z"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +type ActionTimer struct { + pulumi.CustomResourceState + + // Scheduled tasks. This parameter can be used to specify scheduled tasks for instances, and currently only supports scheduled destruction. + ActionTimer ActionTimerActionTimerOutput `pulumi:"actionTimer"` + // Instance ID. + InstanceId pulumi.StringOutput `pulumi:"instanceId"` +} + +// NewActionTimer registers a new resource with the given unique name, arguments, and options. +func NewActionTimer(ctx *pulumi.Context, + name string, args *ActionTimerArgs, opts ...pulumi.ResourceOption) (*ActionTimer, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ActionTimer == nil { + return nil, errors.New("invalid value for required argument 'ActionTimer'") + } + if args.InstanceId == nil { + return nil, errors.New("invalid value for required argument 'InstanceId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ActionTimer + err := ctx.RegisterResource("tencentcloud:Cvm/actionTimer:ActionTimer", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetActionTimer gets an existing ActionTimer 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 GetActionTimer(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ActionTimerState, opts ...pulumi.ResourceOption) (*ActionTimer, error) { + var resource ActionTimer + err := ctx.ReadResource("tencentcloud:Cvm/actionTimer:ActionTimer", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ActionTimer resources. +type actionTimerState struct { + // Scheduled tasks. This parameter can be used to specify scheduled tasks for instances, and currently only supports scheduled destruction. + ActionTimer *ActionTimerActionTimer `pulumi:"actionTimer"` + // Instance ID. + InstanceId *string `pulumi:"instanceId"` +} + +type ActionTimerState struct { + // Scheduled tasks. This parameter can be used to specify scheduled tasks for instances, and currently only supports scheduled destruction. + ActionTimer ActionTimerActionTimerPtrInput + // Instance ID. + InstanceId pulumi.StringPtrInput +} + +func (ActionTimerState) ElementType() reflect.Type { + return reflect.TypeOf((*actionTimerState)(nil)).Elem() +} + +type actionTimerArgs struct { + // Scheduled tasks. This parameter can be used to specify scheduled tasks for instances, and currently only supports scheduled destruction. + ActionTimer ActionTimerActionTimer `pulumi:"actionTimer"` + // Instance ID. + InstanceId string `pulumi:"instanceId"` +} + +// The set of arguments for constructing a ActionTimer resource. +type ActionTimerArgs struct { + // Scheduled tasks. This parameter can be used to specify scheduled tasks for instances, and currently only supports scheduled destruction. + ActionTimer ActionTimerActionTimerInput + // Instance ID. + InstanceId pulumi.StringInput +} + +func (ActionTimerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*actionTimerArgs)(nil)).Elem() +} + +type ActionTimerInput interface { + pulumi.Input + + ToActionTimerOutput() ActionTimerOutput + ToActionTimerOutputWithContext(ctx context.Context) ActionTimerOutput +} + +func (*ActionTimer) ElementType() reflect.Type { + return reflect.TypeOf((**ActionTimer)(nil)).Elem() +} + +func (i *ActionTimer) ToActionTimerOutput() ActionTimerOutput { + return i.ToActionTimerOutputWithContext(context.Background()) +} + +func (i *ActionTimer) ToActionTimerOutputWithContext(ctx context.Context) ActionTimerOutput { + return pulumi.ToOutputWithContext(ctx, i).(ActionTimerOutput) +} + +// ActionTimerArrayInput is an input type that accepts ActionTimerArray and ActionTimerArrayOutput values. +// You can construct a concrete instance of `ActionTimerArrayInput` via: +// +// ActionTimerArray{ ActionTimerArgs{...} } +type ActionTimerArrayInput interface { + pulumi.Input + + ToActionTimerArrayOutput() ActionTimerArrayOutput + ToActionTimerArrayOutputWithContext(context.Context) ActionTimerArrayOutput +} + +type ActionTimerArray []ActionTimerInput + +func (ActionTimerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ActionTimer)(nil)).Elem() +} + +func (i ActionTimerArray) ToActionTimerArrayOutput() ActionTimerArrayOutput { + return i.ToActionTimerArrayOutputWithContext(context.Background()) +} + +func (i ActionTimerArray) ToActionTimerArrayOutputWithContext(ctx context.Context) ActionTimerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ActionTimerArrayOutput) +} + +// ActionTimerMapInput is an input type that accepts ActionTimerMap and ActionTimerMapOutput values. +// You can construct a concrete instance of `ActionTimerMapInput` via: +// +// ActionTimerMap{ "key": ActionTimerArgs{...} } +type ActionTimerMapInput interface { + pulumi.Input + + ToActionTimerMapOutput() ActionTimerMapOutput + ToActionTimerMapOutputWithContext(context.Context) ActionTimerMapOutput +} + +type ActionTimerMap map[string]ActionTimerInput + +func (ActionTimerMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ActionTimer)(nil)).Elem() +} + +func (i ActionTimerMap) ToActionTimerMapOutput() ActionTimerMapOutput { + return i.ToActionTimerMapOutputWithContext(context.Background()) +} + +func (i ActionTimerMap) ToActionTimerMapOutputWithContext(ctx context.Context) ActionTimerMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ActionTimerMapOutput) +} + +type ActionTimerOutput struct{ *pulumi.OutputState } + +func (ActionTimerOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ActionTimer)(nil)).Elem() +} + +func (o ActionTimerOutput) ToActionTimerOutput() ActionTimerOutput { + return o +} + +func (o ActionTimerOutput) ToActionTimerOutputWithContext(ctx context.Context) ActionTimerOutput { + return o +} + +// Scheduled tasks. This parameter can be used to specify scheduled tasks for instances, and currently only supports scheduled destruction. +func (o ActionTimerOutput) ActionTimer() ActionTimerActionTimerOutput { + return o.ApplyT(func(v *ActionTimer) ActionTimerActionTimerOutput { return v.ActionTimer }).(ActionTimerActionTimerOutput) +} + +// Instance ID. +func (o ActionTimerOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *ActionTimer) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) +} + +type ActionTimerArrayOutput struct{ *pulumi.OutputState } + +func (ActionTimerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ActionTimer)(nil)).Elem() +} + +func (o ActionTimerArrayOutput) ToActionTimerArrayOutput() ActionTimerArrayOutput { + return o +} + +func (o ActionTimerArrayOutput) ToActionTimerArrayOutputWithContext(ctx context.Context) ActionTimerArrayOutput { + return o +} + +func (o ActionTimerArrayOutput) Index(i pulumi.IntInput) ActionTimerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ActionTimer { + return vs[0].([]*ActionTimer)[vs[1].(int)] + }).(ActionTimerOutput) +} + +type ActionTimerMapOutput struct{ *pulumi.OutputState } + +func (ActionTimerMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ActionTimer)(nil)).Elem() +} + +func (o ActionTimerMapOutput) ToActionTimerMapOutput() ActionTimerMapOutput { + return o +} + +func (o ActionTimerMapOutput) ToActionTimerMapOutputWithContext(ctx context.Context) ActionTimerMapOutput { + return o +} + +func (o ActionTimerMapOutput) MapIndex(k pulumi.StringInput) ActionTimerOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ActionTimer { + return vs[0].(map[string]*ActionTimer)[vs[1].(string)] + }).(ActionTimerOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ActionTimerInput)(nil)).Elem(), &ActionTimer{}) + pulumi.RegisterInputType(reflect.TypeOf((*ActionTimerArrayInput)(nil)).Elem(), ActionTimerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ActionTimerMapInput)(nil)).Elem(), ActionTimerMap{}) + pulumi.RegisterOutputType(ActionTimerOutput{}) + pulumi.RegisterOutputType(ActionTimerArrayOutput{}) + pulumi.RegisterOutputType(ActionTimerMapOutput{}) +} diff --git a/sdk/go/tencentcloud/cvm/init.go b/sdk/go/tencentcloud/cvm/init.go index db76b1afa..61c06718a 100644 --- a/sdk/go/tencentcloud/cvm/init.go +++ b/sdk/go/tencentcloud/cvm/init.go @@ -21,6 +21,8 @@ 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:Cvm/actionTimer:ActionTimer": + r = &ActionTimer{} case "tencentcloud:Cvm/chcConfig:ChcConfig": r = &ChcConfig{} case "tencentcloud:Cvm/exportImages:ExportImages": @@ -64,6 +66,11 @@ func init() { if err != nil { version = semver.Version{Major: 1} } + pulumi.RegisterResourceModule( + "tencentcloud", + "Cvm/actionTimer", + &module{version}, + ) pulumi.RegisterResourceModule( "tencentcloud", "Cvm/chcConfig", diff --git a/sdk/go/tencentcloud/cvm/pulumiTypes.go b/sdk/go/tencentcloud/cvm/pulumiTypes.go index f9a9dec5a..0f005ff6a 100644 --- a/sdk/go/tencentcloud/cvm/pulumiTypes.go +++ b/sdk/go/tencentcloud/cvm/pulumiTypes.go @@ -13,6 +13,162 @@ import ( var _ = internal.GetEnvOrDefault +type ActionTimerActionTimer struct { + // Execution time, expressed according to ISO8601 standard and using UTC time. The format is YYYY-MM-DDThh:mm:ssZ. For example, 2018-05-29T11:26:40Z, the execution time must be 5 minutes longer than the current time. + ActionTime *string `pulumi:"actionTime"` + // Timer action, currently only supports destroying one value: TerminateInstances. + TimerAction *string `pulumi:"timerAction"` +} + +// ActionTimerActionTimerInput is an input type that accepts ActionTimerActionTimerArgs and ActionTimerActionTimerOutput values. +// You can construct a concrete instance of `ActionTimerActionTimerInput` via: +// +// ActionTimerActionTimerArgs{...} +type ActionTimerActionTimerInput interface { + pulumi.Input + + ToActionTimerActionTimerOutput() ActionTimerActionTimerOutput + ToActionTimerActionTimerOutputWithContext(context.Context) ActionTimerActionTimerOutput +} + +type ActionTimerActionTimerArgs struct { + // Execution time, expressed according to ISO8601 standard and using UTC time. The format is YYYY-MM-DDThh:mm:ssZ. For example, 2018-05-29T11:26:40Z, the execution time must be 5 minutes longer than the current time. + ActionTime pulumi.StringPtrInput `pulumi:"actionTime"` + // Timer action, currently only supports destroying one value: TerminateInstances. + TimerAction pulumi.StringPtrInput `pulumi:"timerAction"` +} + +func (ActionTimerActionTimerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ActionTimerActionTimer)(nil)).Elem() +} + +func (i ActionTimerActionTimerArgs) ToActionTimerActionTimerOutput() ActionTimerActionTimerOutput { + return i.ToActionTimerActionTimerOutputWithContext(context.Background()) +} + +func (i ActionTimerActionTimerArgs) ToActionTimerActionTimerOutputWithContext(ctx context.Context) ActionTimerActionTimerOutput { + return pulumi.ToOutputWithContext(ctx, i).(ActionTimerActionTimerOutput) +} + +func (i ActionTimerActionTimerArgs) ToActionTimerActionTimerPtrOutput() ActionTimerActionTimerPtrOutput { + return i.ToActionTimerActionTimerPtrOutputWithContext(context.Background()) +} + +func (i ActionTimerActionTimerArgs) ToActionTimerActionTimerPtrOutputWithContext(ctx context.Context) ActionTimerActionTimerPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ActionTimerActionTimerOutput).ToActionTimerActionTimerPtrOutputWithContext(ctx) +} + +// ActionTimerActionTimerPtrInput is an input type that accepts ActionTimerActionTimerArgs, ActionTimerActionTimerPtr and ActionTimerActionTimerPtrOutput values. +// You can construct a concrete instance of `ActionTimerActionTimerPtrInput` via: +// +// ActionTimerActionTimerArgs{...} +// +// or: +// +// nil +type ActionTimerActionTimerPtrInput interface { + pulumi.Input + + ToActionTimerActionTimerPtrOutput() ActionTimerActionTimerPtrOutput + ToActionTimerActionTimerPtrOutputWithContext(context.Context) ActionTimerActionTimerPtrOutput +} + +type actionTimerActionTimerPtrType ActionTimerActionTimerArgs + +func ActionTimerActionTimerPtr(v *ActionTimerActionTimerArgs) ActionTimerActionTimerPtrInput { + return (*actionTimerActionTimerPtrType)(v) +} + +func (*actionTimerActionTimerPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ActionTimerActionTimer)(nil)).Elem() +} + +func (i *actionTimerActionTimerPtrType) ToActionTimerActionTimerPtrOutput() ActionTimerActionTimerPtrOutput { + return i.ToActionTimerActionTimerPtrOutputWithContext(context.Background()) +} + +func (i *actionTimerActionTimerPtrType) ToActionTimerActionTimerPtrOutputWithContext(ctx context.Context) ActionTimerActionTimerPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ActionTimerActionTimerPtrOutput) +} + +type ActionTimerActionTimerOutput struct{ *pulumi.OutputState } + +func (ActionTimerActionTimerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ActionTimerActionTimer)(nil)).Elem() +} + +func (o ActionTimerActionTimerOutput) ToActionTimerActionTimerOutput() ActionTimerActionTimerOutput { + return o +} + +func (o ActionTimerActionTimerOutput) ToActionTimerActionTimerOutputWithContext(ctx context.Context) ActionTimerActionTimerOutput { + return o +} + +func (o ActionTimerActionTimerOutput) ToActionTimerActionTimerPtrOutput() ActionTimerActionTimerPtrOutput { + return o.ToActionTimerActionTimerPtrOutputWithContext(context.Background()) +} + +func (o ActionTimerActionTimerOutput) ToActionTimerActionTimerPtrOutputWithContext(ctx context.Context) ActionTimerActionTimerPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ActionTimerActionTimer) *ActionTimerActionTimer { + return &v + }).(ActionTimerActionTimerPtrOutput) +} + +// Execution time, expressed according to ISO8601 standard and using UTC time. The format is YYYY-MM-DDThh:mm:ssZ. For example, 2018-05-29T11:26:40Z, the execution time must be 5 minutes longer than the current time. +func (o ActionTimerActionTimerOutput) ActionTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActionTimerActionTimer) *string { return v.ActionTime }).(pulumi.StringPtrOutput) +} + +// Timer action, currently only supports destroying one value: TerminateInstances. +func (o ActionTimerActionTimerOutput) TimerAction() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActionTimerActionTimer) *string { return v.TimerAction }).(pulumi.StringPtrOutput) +} + +type ActionTimerActionTimerPtrOutput struct{ *pulumi.OutputState } + +func (ActionTimerActionTimerPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ActionTimerActionTimer)(nil)).Elem() +} + +func (o ActionTimerActionTimerPtrOutput) ToActionTimerActionTimerPtrOutput() ActionTimerActionTimerPtrOutput { + return o +} + +func (o ActionTimerActionTimerPtrOutput) ToActionTimerActionTimerPtrOutputWithContext(ctx context.Context) ActionTimerActionTimerPtrOutput { + return o +} + +func (o ActionTimerActionTimerPtrOutput) Elem() ActionTimerActionTimerOutput { + return o.ApplyT(func(v *ActionTimerActionTimer) ActionTimerActionTimer { + if v != nil { + return *v + } + var ret ActionTimerActionTimer + return ret + }).(ActionTimerActionTimerOutput) +} + +// Execution time, expressed according to ISO8601 standard and using UTC time. The format is YYYY-MM-DDThh:mm:ssZ. For example, 2018-05-29T11:26:40Z, the execution time must be 5 minutes longer than the current time. +func (o ActionTimerActionTimerPtrOutput) ActionTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ActionTimerActionTimer) *string { + if v == nil { + return nil + } + return v.ActionTime + }).(pulumi.StringPtrOutput) +} + +// Timer action, currently only supports destroying one value: TerminateInstances. +func (o ActionTimerActionTimerPtrOutput) TimerAction() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ActionTimerActionTimer) *string { + if v == nil { + return nil + } + return v.TimerAction + }).(pulumi.StringPtrOutput) +} + type ChcConfigBmcVirtualPrivateCloud struct { // Whether to use a CVM instance as a public gateway. The public gateway is only available when the instance has a public IP and resides in a VPC. Valid values:<br><li>TRUE: yes;<br><li>FALSE: no<br><br>Default: FALSE. AsVpcGateway *bool `pulumi:"asVpcGateway"` @@ -2781,7 +2937,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 +2961,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 +3053,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 +3104,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 +8116,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 +8142,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 +8213,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) } @@ -8892,6 +9062,8 @@ func (o GetInstancesModificationInstanceTypeConfigStatusListInstanceTypeConfigAr } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ActionTimerActionTimerInput)(nil)).Elem(), ActionTimerActionTimerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ActionTimerActionTimerPtrInput)(nil)).Elem(), ActionTimerActionTimerArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ChcConfigBmcVirtualPrivateCloudInput)(nil)).Elem(), ChcConfigBmcVirtualPrivateCloudArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ChcConfigBmcVirtualPrivateCloudPtrInput)(nil)).Elem(), ChcConfigBmcVirtualPrivateCloudArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ChcConfigDeployVirtualPrivateCloudInput)(nil)).Elem(), ChcConfigDeployVirtualPrivateCloudArgs{}) @@ -9004,6 +9176,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetInstancesModificationInstanceTypeConfigStatusListArrayInput)(nil)).Elem(), GetInstancesModificationInstanceTypeConfigStatusListArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetInstancesModificationInstanceTypeConfigStatusListInstanceTypeConfigInput)(nil)).Elem(), GetInstancesModificationInstanceTypeConfigStatusListInstanceTypeConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetInstancesModificationInstanceTypeConfigStatusListInstanceTypeConfigArrayInput)(nil)).Elem(), GetInstancesModificationInstanceTypeConfigStatusListInstanceTypeConfigArray{}) + pulumi.RegisterOutputType(ActionTimerActionTimerOutput{}) + pulumi.RegisterOutputType(ActionTimerActionTimerPtrOutput{}) pulumi.RegisterOutputType(ChcConfigBmcVirtualPrivateCloudOutput{}) pulumi.RegisterOutputType(ChcConfigBmcVirtualPrivateCloudPtrOutput{}) pulumi.RegisterOutputType(ChcConfigDeployVirtualPrivateCloudOutput{}) 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..f55f31b2e 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. @@ -171,19 +173,23 @@ type Cluster struct { Placement pulumi.MapOutput `pulumi:"placement"` // The location of the instance. PlacementInfo ClusterPlacementInfoOutput `pulumi:"placementInfo"` + // Pre executed file settings. It can only be set at the time of creation, and cannot be modified. + PreExecutedFileSettings ClusterPreExecutedFileSettingArrayOutput `pulumi:"preExecutedFileSettings"` // Product ID. Different products ID represents different EMR product versions. Value range: // - 16: represents EMR-V2.3.0 - // - 20: indicates EMR-V2.5.0 + // - 20: represents EMR-V2.5.0 // - 25: represents EMR-V3.1.0 // - 27: represents KAFKA-V1.0.0 - // - 30: indicates EMR-V2.6.0 + // - 30: represents EMR-V2.6.0 // - 33: represents EMR-V3.2.1 - // - 34: stands for EMR-V3.3.0 - // - 36: represents STARROCKS-V1.0.0 - // - 37: indicates EMR-V3.4.0 + // - 34: represents EMR-V3.3.0 + // - 37: represents EMR-V3.4.0 // - 38: represents EMR-V2.7.0 - // - 39: stands for STARROCKS-V1.1.0 - // - 41: represents DRUID-V1.1.0. + // - 44: represents EMR-V3.5.0 + // - 50: represents KAFKA-V2.0.0 + // - 51: represents STARROCKS-V1.4.0 + // - 53: represents EMR-V3.6.0 + // - 54: represents STARROCKS-V2.0.0. ProductId pulumi.IntOutput `pulumi:"productId"` // Resource specification of EMR instance. ResourceSpec ClusterResourceSpecPtrOutput `pulumi:"resourceSpec"` @@ -195,6 +201,8 @@ type Cluster struct { SupportHa pulumi.IntOutput `pulumi:"supportHa"` // Tag description list. Tags pulumi.MapOutput `pulumi:"tags"` + // Terminate nodes. Note: it only works when the number of nodes decreases. + TerminateNodeInfos ClusterTerminateNodeInfoArrayOutput `pulumi:"terminateNodeInfos"` // The length of time the instance was purchased. Use with TimeUnit.When TimeUnit is s, the parameter can only be filled in at 3600, representing a metered instance. // When TimeUnit is m, the number filled in by this parameter indicates the length of purchase of the monthly instance of the package year, such as 1 for one month of purchase. TimeSpan pulumi.IntPtrOutput `pulumi:"timeSpan"` @@ -259,6 +267,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. @@ -284,19 +294,23 @@ type clusterState struct { Placement map[string]interface{} `pulumi:"placement"` // The location of the instance. PlacementInfo *ClusterPlacementInfo `pulumi:"placementInfo"` + // Pre executed file settings. It can only be set at the time of creation, and cannot be modified. + PreExecutedFileSettings []ClusterPreExecutedFileSetting `pulumi:"preExecutedFileSettings"` // Product ID. Different products ID represents different EMR product versions. Value range: // - 16: represents EMR-V2.3.0 - // - 20: indicates EMR-V2.5.0 + // - 20: represents EMR-V2.5.0 // - 25: represents EMR-V3.1.0 // - 27: represents KAFKA-V1.0.0 - // - 30: indicates EMR-V2.6.0 + // - 30: represents EMR-V2.6.0 // - 33: represents EMR-V3.2.1 - // - 34: stands for EMR-V3.3.0 - // - 36: represents STARROCKS-V1.0.0 - // - 37: indicates EMR-V3.4.0 + // - 34: represents EMR-V3.3.0 + // - 37: represents EMR-V3.4.0 // - 38: represents EMR-V2.7.0 - // - 39: stands for STARROCKS-V1.1.0 - // - 41: represents DRUID-V1.1.0. + // - 44: represents EMR-V3.5.0 + // - 50: represents KAFKA-V2.0.0 + // - 51: represents STARROCKS-V1.4.0 + // - 53: represents EMR-V3.6.0 + // - 54: represents STARROCKS-V2.0.0. ProductId *int `pulumi:"productId"` // Resource specification of EMR instance. ResourceSpec *ClusterResourceSpec `pulumi:"resourceSpec"` @@ -308,6 +322,8 @@ type clusterState struct { SupportHa *int `pulumi:"supportHa"` // Tag description list. Tags map[string]interface{} `pulumi:"tags"` + // Terminate nodes. Note: it only works when the number of nodes decreases. + TerminateNodeInfos []ClusterTerminateNodeInfo `pulumi:"terminateNodeInfos"` // The length of time the instance was purchased. Use with TimeUnit.When TimeUnit is s, the parameter can only be filled in at 3600, representing a metered instance. // When TimeUnit is m, the number filled in by this parameter indicates the length of purchase of the monthly instance of the package year, such as 1 for one month of purchase. TimeSpan *int `pulumi:"timeSpan"` @@ -318,6 +334,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. @@ -343,19 +361,23 @@ type ClusterState struct { Placement pulumi.MapInput // The location of the instance. PlacementInfo ClusterPlacementInfoPtrInput + // Pre executed file settings. It can only be set at the time of creation, and cannot be modified. + PreExecutedFileSettings ClusterPreExecutedFileSettingArrayInput // Product ID. Different products ID represents different EMR product versions. Value range: // - 16: represents EMR-V2.3.0 - // - 20: indicates EMR-V2.5.0 + // - 20: represents EMR-V2.5.0 // - 25: represents EMR-V3.1.0 // - 27: represents KAFKA-V1.0.0 - // - 30: indicates EMR-V2.6.0 + // - 30: represents EMR-V2.6.0 // - 33: represents EMR-V3.2.1 - // - 34: stands for EMR-V3.3.0 - // - 36: represents STARROCKS-V1.0.0 - // - 37: indicates EMR-V3.4.0 + // - 34: represents EMR-V3.3.0 + // - 37: represents EMR-V3.4.0 // - 38: represents EMR-V2.7.0 - // - 39: stands for STARROCKS-V1.1.0 - // - 41: represents DRUID-V1.1.0. + // - 44: represents EMR-V3.5.0 + // - 50: represents KAFKA-V2.0.0 + // - 51: represents STARROCKS-V1.4.0 + // - 53: represents EMR-V3.6.0 + // - 54: represents STARROCKS-V2.0.0. ProductId pulumi.IntPtrInput // Resource specification of EMR instance. ResourceSpec ClusterResourceSpecPtrInput @@ -367,6 +389,8 @@ type ClusterState struct { SupportHa pulumi.IntPtrInput // Tag description list. Tags pulumi.MapInput + // Terminate nodes. Note: it only works when the number of nodes decreases. + TerminateNodeInfos ClusterTerminateNodeInfoArrayInput // The length of time the instance was purchased. Use with TimeUnit.When TimeUnit is s, the parameter can only be filled in at 3600, representing a metered instance. // When TimeUnit is m, the number filled in by this parameter indicates the length of purchase of the monthly instance of the package year, such as 1 for one month of purchase. TimeSpan pulumi.IntPtrInput @@ -381,6 +405,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. @@ -404,19 +430,23 @@ type clusterArgs struct { Placement map[string]interface{} `pulumi:"placement"` // The location of the instance. PlacementInfo *ClusterPlacementInfo `pulumi:"placementInfo"` + // Pre executed file settings. It can only be set at the time of creation, and cannot be modified. + PreExecutedFileSettings []ClusterPreExecutedFileSetting `pulumi:"preExecutedFileSettings"` // Product ID. Different products ID represents different EMR product versions. Value range: // - 16: represents EMR-V2.3.0 - // - 20: indicates EMR-V2.5.0 + // - 20: represents EMR-V2.5.0 // - 25: represents EMR-V3.1.0 // - 27: represents KAFKA-V1.0.0 - // - 30: indicates EMR-V2.6.0 + // - 30: represents EMR-V2.6.0 // - 33: represents EMR-V3.2.1 - // - 34: stands for EMR-V3.3.0 - // - 36: represents STARROCKS-V1.0.0 - // - 37: indicates EMR-V3.4.0 + // - 34: represents EMR-V3.3.0 + // - 37: represents EMR-V3.4.0 // - 38: represents EMR-V2.7.0 - // - 39: stands for STARROCKS-V1.1.0 - // - 41: represents DRUID-V1.1.0. + // - 44: represents EMR-V3.5.0 + // - 50: represents KAFKA-V2.0.0 + // - 51: represents STARROCKS-V1.4.0 + // - 53: represents EMR-V3.6.0 + // - 54: represents STARROCKS-V2.0.0. ProductId int `pulumi:"productId"` // Resource specification of EMR instance. ResourceSpec *ClusterResourceSpec `pulumi:"resourceSpec"` @@ -428,6 +458,8 @@ type clusterArgs struct { SupportHa int `pulumi:"supportHa"` // Tag description list. Tags map[string]interface{} `pulumi:"tags"` + // Terminate nodes. Note: it only works when the number of nodes decreases. + TerminateNodeInfos []ClusterTerminateNodeInfo `pulumi:"terminateNodeInfos"` // The length of time the instance was purchased. Use with TimeUnit.When TimeUnit is s, the parameter can only be filled in at 3600, representing a metered instance. // When TimeUnit is m, the number filled in by this parameter indicates the length of purchase of the monthly instance of the package year, such as 1 for one month of purchase. TimeSpan *int `pulumi:"timeSpan"` @@ -439,6 +471,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. @@ -462,19 +496,23 @@ type ClusterArgs struct { Placement pulumi.MapInput // The location of the instance. PlacementInfo ClusterPlacementInfoPtrInput + // Pre executed file settings. It can only be set at the time of creation, and cannot be modified. + PreExecutedFileSettings ClusterPreExecutedFileSettingArrayInput // Product ID. Different products ID represents different EMR product versions. Value range: // - 16: represents EMR-V2.3.0 - // - 20: indicates EMR-V2.5.0 + // - 20: represents EMR-V2.5.0 // - 25: represents EMR-V3.1.0 // - 27: represents KAFKA-V1.0.0 - // - 30: indicates EMR-V2.6.0 + // - 30: represents EMR-V2.6.0 // - 33: represents EMR-V3.2.1 - // - 34: stands for EMR-V3.3.0 - // - 36: represents STARROCKS-V1.0.0 - // - 37: indicates EMR-V3.4.0 + // - 34: represents EMR-V3.3.0 + // - 37: represents EMR-V3.4.0 // - 38: represents EMR-V2.7.0 - // - 39: stands for STARROCKS-V1.1.0 - // - 41: represents DRUID-V1.1.0. + // - 44: represents EMR-V3.5.0 + // - 50: represents KAFKA-V2.0.0 + // - 51: represents STARROCKS-V1.4.0 + // - 53: represents EMR-V3.6.0 + // - 54: represents STARROCKS-V2.0.0. ProductId pulumi.IntInput // Resource specification of EMR instance. ResourceSpec ClusterResourceSpecPtrInput @@ -486,6 +524,8 @@ type ClusterArgs struct { SupportHa pulumi.IntInput // Tag description list. Tags pulumi.MapInput + // Terminate nodes. Note: it only works when the number of nodes decreases. + TerminateNodeInfos ClusterTerminateNodeInfoArrayInput // The length of time the instance was purchased. Use with TimeUnit.When TimeUnit is s, the parameter can only be filled in at 3600, representing a metered instance. // When TimeUnit is m, the number filled in by this parameter indicates the length of purchase of the monthly instance of the package year, such as 1 for one month of purchase. TimeSpan pulumi.IntPtrInput @@ -582,6 +622,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. @@ -634,19 +679,26 @@ func (o ClusterOutput) PlacementInfo() ClusterPlacementInfoOutput { return o.ApplyT(func(v *Cluster) ClusterPlacementInfoOutput { return v.PlacementInfo }).(ClusterPlacementInfoOutput) } +// Pre executed file settings. It can only be set at the time of creation, and cannot be modified. +func (o ClusterOutput) PreExecutedFileSettings() ClusterPreExecutedFileSettingArrayOutput { + return o.ApplyT(func(v *Cluster) ClusterPreExecutedFileSettingArrayOutput { return v.PreExecutedFileSettings }).(ClusterPreExecutedFileSettingArrayOutput) +} + // Product ID. Different products ID represents different EMR product versions. Value range: // - 16: represents EMR-V2.3.0 -// - 20: indicates EMR-V2.5.0 +// - 20: represents EMR-V2.5.0 // - 25: represents EMR-V3.1.0 // - 27: represents KAFKA-V1.0.0 -// - 30: indicates EMR-V2.6.0 +// - 30: represents EMR-V2.6.0 // - 33: represents EMR-V3.2.1 -// - 34: stands for EMR-V3.3.0 -// - 36: represents STARROCKS-V1.0.0 -// - 37: indicates EMR-V3.4.0 +// - 34: represents EMR-V3.3.0 +// - 37: represents EMR-V3.4.0 // - 38: represents EMR-V2.7.0 -// - 39: stands for STARROCKS-V1.1.0 -// - 41: represents DRUID-V1.1.0. +// - 44: represents EMR-V3.5.0 +// - 50: represents KAFKA-V2.0.0 +// - 51: represents STARROCKS-V1.4.0 +// - 53: represents EMR-V3.6.0 +// - 54: represents STARROCKS-V2.0.0. func (o ClusterOutput) ProductId() pulumi.IntOutput { return o.ApplyT(func(v *Cluster) pulumi.IntOutput { return v.ProductId }).(pulumi.IntOutput) } @@ -676,6 +728,11 @@ func (o ClusterOutput) Tags() pulumi.MapOutput { return o.ApplyT(func(v *Cluster) pulumi.MapOutput { return v.Tags }).(pulumi.MapOutput) } +// Terminate nodes. Note: it only works when the number of nodes decreases. +func (o ClusterOutput) TerminateNodeInfos() ClusterTerminateNodeInfoArrayOutput { + return o.ApplyT(func(v *Cluster) ClusterTerminateNodeInfoArrayOutput { return v.TerminateNodeInfos }).(ClusterTerminateNodeInfoArrayOutput) +} + // The length of time the instance was purchased. Use with TimeUnit.When TimeUnit is s, the parameter can only be filled in at 3600, representing a metered instance. // When TimeUnit is m, the number filled in by this parameter indicates the length of purchase of the monthly instance of the package year, such as 1 for one month of purchase. func (o ClusterOutput) TimeSpan() pulumi.IntPtrOutput { diff --git a/sdk/go/tencentcloud/emr/pulumiTypes.go b/sdk/go/tencentcloud/emr/pulumiTypes.go index 659caf044..2355447a2 100644 --- a/sdk/go/tencentcloud/emr/pulumiTypes.go +++ b/sdk/go/tencentcloud/emr/pulumiTypes.go @@ -169,18 +169,182 @@ func (o ClusterPlacementInfoPtrOutput) Zone() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +type ClusterPreExecutedFileSetting struct { + // Execution script parameters. + Args []string `pulumi:"args"` + // Script file name. + CosFileName *string `pulumi:"cosFileName"` + // The cos address of the script. + CosFileUri *string `pulumi:"cosFileUri"` + // Cos secretId. + CosSecretId *string `pulumi:"cosSecretId"` + // Cos secretKey. + CosSecretKey *string `pulumi:"cosSecretKey"` + // Remark. + Remark *string `pulumi:"remark"` + // Run order. + RunOrder *int `pulumi:"runOrder"` + // `resourceAfter` or `clusterAfter`. + WhenRun *string `pulumi:"whenRun"` +} + +// ClusterPreExecutedFileSettingInput is an input type that accepts ClusterPreExecutedFileSettingArgs and ClusterPreExecutedFileSettingOutput values. +// You can construct a concrete instance of `ClusterPreExecutedFileSettingInput` via: +// +// ClusterPreExecutedFileSettingArgs{...} +type ClusterPreExecutedFileSettingInput interface { + pulumi.Input + + ToClusterPreExecutedFileSettingOutput() ClusterPreExecutedFileSettingOutput + ToClusterPreExecutedFileSettingOutputWithContext(context.Context) ClusterPreExecutedFileSettingOutput +} + +type ClusterPreExecutedFileSettingArgs struct { + // Execution script parameters. + Args pulumi.StringArrayInput `pulumi:"args"` + // Script file name. + CosFileName pulumi.StringPtrInput `pulumi:"cosFileName"` + // The cos address of the script. + CosFileUri pulumi.StringPtrInput `pulumi:"cosFileUri"` + // Cos secretId. + CosSecretId pulumi.StringPtrInput `pulumi:"cosSecretId"` + // Cos secretKey. + CosSecretKey pulumi.StringPtrInput `pulumi:"cosSecretKey"` + // Remark. + Remark pulumi.StringPtrInput `pulumi:"remark"` + // Run order. + RunOrder pulumi.IntPtrInput `pulumi:"runOrder"` + // `resourceAfter` or `clusterAfter`. + WhenRun pulumi.StringPtrInput `pulumi:"whenRun"` +} + +func (ClusterPreExecutedFileSettingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterPreExecutedFileSetting)(nil)).Elem() +} + +func (i ClusterPreExecutedFileSettingArgs) ToClusterPreExecutedFileSettingOutput() ClusterPreExecutedFileSettingOutput { + return i.ToClusterPreExecutedFileSettingOutputWithContext(context.Background()) +} + +func (i ClusterPreExecutedFileSettingArgs) ToClusterPreExecutedFileSettingOutputWithContext(ctx context.Context) ClusterPreExecutedFileSettingOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterPreExecutedFileSettingOutput) +} + +// ClusterPreExecutedFileSettingArrayInput is an input type that accepts ClusterPreExecutedFileSettingArray and ClusterPreExecutedFileSettingArrayOutput values. +// You can construct a concrete instance of `ClusterPreExecutedFileSettingArrayInput` via: +// +// ClusterPreExecutedFileSettingArray{ ClusterPreExecutedFileSettingArgs{...} } +type ClusterPreExecutedFileSettingArrayInput interface { + pulumi.Input + + ToClusterPreExecutedFileSettingArrayOutput() ClusterPreExecutedFileSettingArrayOutput + ToClusterPreExecutedFileSettingArrayOutputWithContext(context.Context) ClusterPreExecutedFileSettingArrayOutput +} + +type ClusterPreExecutedFileSettingArray []ClusterPreExecutedFileSettingInput + +func (ClusterPreExecutedFileSettingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterPreExecutedFileSetting)(nil)).Elem() +} + +func (i ClusterPreExecutedFileSettingArray) ToClusterPreExecutedFileSettingArrayOutput() ClusterPreExecutedFileSettingArrayOutput { + return i.ToClusterPreExecutedFileSettingArrayOutputWithContext(context.Background()) +} + +func (i ClusterPreExecutedFileSettingArray) ToClusterPreExecutedFileSettingArrayOutputWithContext(ctx context.Context) ClusterPreExecutedFileSettingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterPreExecutedFileSettingArrayOutput) +} + +type ClusterPreExecutedFileSettingOutput struct{ *pulumi.OutputState } + +func (ClusterPreExecutedFileSettingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterPreExecutedFileSetting)(nil)).Elem() +} + +func (o ClusterPreExecutedFileSettingOutput) ToClusterPreExecutedFileSettingOutput() ClusterPreExecutedFileSettingOutput { + return o +} + +func (o ClusterPreExecutedFileSettingOutput) ToClusterPreExecutedFileSettingOutputWithContext(ctx context.Context) ClusterPreExecutedFileSettingOutput { + return o +} + +// Execution script parameters. +func (o ClusterPreExecutedFileSettingOutput) Args() pulumi.StringArrayOutput { + return o.ApplyT(func(v ClusterPreExecutedFileSetting) []string { return v.Args }).(pulumi.StringArrayOutput) +} + +// Script file name. +func (o ClusterPreExecutedFileSettingOutput) CosFileName() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterPreExecutedFileSetting) *string { return v.CosFileName }).(pulumi.StringPtrOutput) +} + +// The cos address of the script. +func (o ClusterPreExecutedFileSettingOutput) CosFileUri() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterPreExecutedFileSetting) *string { return v.CosFileUri }).(pulumi.StringPtrOutput) +} + +// Cos secretId. +func (o ClusterPreExecutedFileSettingOutput) CosSecretId() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterPreExecutedFileSetting) *string { return v.CosSecretId }).(pulumi.StringPtrOutput) +} + +// Cos secretKey. +func (o ClusterPreExecutedFileSettingOutput) CosSecretKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterPreExecutedFileSetting) *string { return v.CosSecretKey }).(pulumi.StringPtrOutput) +} + +// Remark. +func (o ClusterPreExecutedFileSettingOutput) Remark() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterPreExecutedFileSetting) *string { return v.Remark }).(pulumi.StringPtrOutput) +} + +// Run order. +func (o ClusterPreExecutedFileSettingOutput) RunOrder() pulumi.IntPtrOutput { + return o.ApplyT(func(v ClusterPreExecutedFileSetting) *int { return v.RunOrder }).(pulumi.IntPtrOutput) +} + +// `resourceAfter` or `clusterAfter`. +func (o ClusterPreExecutedFileSettingOutput) WhenRun() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterPreExecutedFileSetting) *string { return v.WhenRun }).(pulumi.StringPtrOutput) +} + +type ClusterPreExecutedFileSettingArrayOutput struct{ *pulumi.OutputState } + +func (ClusterPreExecutedFileSettingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterPreExecutedFileSetting)(nil)).Elem() +} + +func (o ClusterPreExecutedFileSettingArrayOutput) ToClusterPreExecutedFileSettingArrayOutput() ClusterPreExecutedFileSettingArrayOutput { + return o +} + +func (o ClusterPreExecutedFileSettingArrayOutput) ToClusterPreExecutedFileSettingArrayOutputWithContext(ctx context.Context) ClusterPreExecutedFileSettingArrayOutput { + return o +} + +func (o ClusterPreExecutedFileSettingArrayOutput) Index(i pulumi.IntInput) ClusterPreExecutedFileSettingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ClusterPreExecutedFileSetting { + return vs[0].([]ClusterPreExecutedFileSetting)[vs[1].(int)] + }).(ClusterPreExecutedFileSettingOutput) +} + type ClusterResourceSpec struct { // The number of common node. - CommonCount *int `pulumi:"commonCount"` + CommonCount *int `pulumi:"commonCount"` + // Resource details. CommonResourceSpec *ClusterResourceSpecCommonResourceSpec `pulumi:"commonResourceSpec"` // The number of core node. - CoreCount *int `pulumi:"coreCount"` + CoreCount *int `pulumi:"coreCount"` + // Resource details. CoreResourceSpec *ClusterResourceSpecCoreResourceSpec `pulumi:"coreResourceSpec"` // The number of master node. - MasterCount *int `pulumi:"masterCount"` + MasterCount *int `pulumi:"masterCount"` + // Resource details. MasterResourceSpec *ClusterResourceSpecMasterResourceSpec `pulumi:"masterResourceSpec"` // The number of core node. - TaskCount *int `pulumi:"taskCount"` + TaskCount *int `pulumi:"taskCount"` + // Resource details. TaskResourceSpec *ClusterResourceSpecTaskResourceSpec `pulumi:"taskResourceSpec"` } @@ -197,16 +361,20 @@ type ClusterResourceSpecInput interface { type ClusterResourceSpecArgs struct { // The number of common node. - CommonCount pulumi.IntPtrInput `pulumi:"commonCount"` + CommonCount pulumi.IntPtrInput `pulumi:"commonCount"` + // Resource details. CommonResourceSpec ClusterResourceSpecCommonResourceSpecPtrInput `pulumi:"commonResourceSpec"` // The number of core node. - CoreCount pulumi.IntPtrInput `pulumi:"coreCount"` + CoreCount pulumi.IntPtrInput `pulumi:"coreCount"` + // Resource details. CoreResourceSpec ClusterResourceSpecCoreResourceSpecPtrInput `pulumi:"coreResourceSpec"` // The number of master node. - MasterCount pulumi.IntPtrInput `pulumi:"masterCount"` + MasterCount pulumi.IntPtrInput `pulumi:"masterCount"` + // Resource details. MasterResourceSpec ClusterResourceSpecMasterResourceSpecPtrInput `pulumi:"masterResourceSpec"` // The number of core node. - TaskCount pulumi.IntPtrInput `pulumi:"taskCount"` + TaskCount pulumi.IntPtrInput `pulumi:"taskCount"` + // Resource details. TaskResourceSpec ClusterResourceSpecTaskResourceSpecPtrInput `pulumi:"taskResourceSpec"` } @@ -292,6 +460,7 @@ func (o ClusterResourceSpecOutput) CommonCount() pulumi.IntPtrOutput { return o.ApplyT(func(v ClusterResourceSpec) *int { return v.CommonCount }).(pulumi.IntPtrOutput) } +// Resource details. func (o ClusterResourceSpecOutput) CommonResourceSpec() ClusterResourceSpecCommonResourceSpecPtrOutput { return o.ApplyT(func(v ClusterResourceSpec) *ClusterResourceSpecCommonResourceSpec { return v.CommonResourceSpec }).(ClusterResourceSpecCommonResourceSpecPtrOutput) } @@ -301,6 +470,7 @@ func (o ClusterResourceSpecOutput) CoreCount() pulumi.IntPtrOutput { return o.ApplyT(func(v ClusterResourceSpec) *int { return v.CoreCount }).(pulumi.IntPtrOutput) } +// Resource details. func (o ClusterResourceSpecOutput) CoreResourceSpec() ClusterResourceSpecCoreResourceSpecPtrOutput { return o.ApplyT(func(v ClusterResourceSpec) *ClusterResourceSpecCoreResourceSpec { return v.CoreResourceSpec }).(ClusterResourceSpecCoreResourceSpecPtrOutput) } @@ -310,6 +480,7 @@ func (o ClusterResourceSpecOutput) MasterCount() pulumi.IntPtrOutput { return o.ApplyT(func(v ClusterResourceSpec) *int { return v.MasterCount }).(pulumi.IntPtrOutput) } +// Resource details. func (o ClusterResourceSpecOutput) MasterResourceSpec() ClusterResourceSpecMasterResourceSpecPtrOutput { return o.ApplyT(func(v ClusterResourceSpec) *ClusterResourceSpecMasterResourceSpec { return v.MasterResourceSpec }).(ClusterResourceSpecMasterResourceSpecPtrOutput) } @@ -319,6 +490,7 @@ func (o ClusterResourceSpecOutput) TaskCount() pulumi.IntPtrOutput { return o.ApplyT(func(v ClusterResourceSpec) *int { return v.TaskCount }).(pulumi.IntPtrOutput) } +// Resource details. func (o ClusterResourceSpecOutput) TaskResourceSpec() ClusterResourceSpecTaskResourceSpecPtrOutput { return o.ApplyT(func(v ClusterResourceSpec) *ClusterResourceSpecTaskResourceSpec { return v.TaskResourceSpec }).(ClusterResourceSpecTaskResourceSpecPtrOutput) } @@ -357,6 +529,7 @@ func (o ClusterResourceSpecPtrOutput) CommonCount() pulumi.IntPtrOutput { }).(pulumi.IntPtrOutput) } +// Resource details. func (o ClusterResourceSpecPtrOutput) CommonResourceSpec() ClusterResourceSpecCommonResourceSpecPtrOutput { return o.ApplyT(func(v *ClusterResourceSpec) *ClusterResourceSpecCommonResourceSpec { if v == nil { @@ -376,6 +549,7 @@ func (o ClusterResourceSpecPtrOutput) CoreCount() pulumi.IntPtrOutput { }).(pulumi.IntPtrOutput) } +// Resource details. func (o ClusterResourceSpecPtrOutput) CoreResourceSpec() ClusterResourceSpecCoreResourceSpecPtrOutput { return o.ApplyT(func(v *ClusterResourceSpec) *ClusterResourceSpecCoreResourceSpec { if v == nil { @@ -395,6 +569,7 @@ func (o ClusterResourceSpecPtrOutput) MasterCount() pulumi.IntPtrOutput { }).(pulumi.IntPtrOutput) } +// Resource details. func (o ClusterResourceSpecPtrOutput) MasterResourceSpec() ClusterResourceSpecMasterResourceSpecPtrOutput { return o.ApplyT(func(v *ClusterResourceSpec) *ClusterResourceSpecMasterResourceSpec { if v == nil { @@ -414,6 +589,7 @@ func (o ClusterResourceSpecPtrOutput) TaskCount() pulumi.IntPtrOutput { }).(pulumi.IntPtrOutput) } +// Resource details. func (o ClusterResourceSpecPtrOutput) TaskResourceSpec() ClusterResourceSpecTaskResourceSpecPtrOutput { return o.ApplyT(func(v *ClusterResourceSpec) *ClusterResourceSpecTaskResourceSpec { if v == nil { @@ -424,13 +600,30 @@ func (o ClusterResourceSpecPtrOutput) TaskResourceSpec() ClusterResourceSpecTask } type ClusterResourceSpecCommonResourceSpec struct { - Cpu *int `pulumi:"cpu"` - DiskSize *int `pulumi:"diskSize"` - DiskType *string `pulumi:"diskType"` - MemSize *int `pulumi:"memSize"` - RootSize *int `pulumi:"rootSize"` - Spec *string `pulumi:"spec"` - StorageType *int `pulumi:"storageType"` + // Number of CPU cores. + Cpu *int `pulumi:"cpu"` + // Data disk capacity. + DiskSize *int `pulumi:"diskSize"` + // disk types. Value range: + // - CLOUD_SSD: Represents cloud SSD; + // - CLOUD_PREMIUM: Represents efficient cloud disk; + // - CLOUD_BASIC: Represents Cloud Block Storage. + DiskType *string `pulumi:"diskType"` + // Memory size in M. + MemSize *int `pulumi:"memSize"` + // Cloud disk list. When the data disk is a cloud disk, use diskType and diskSize parameters directly, and use multiDisks for excess parts. + MultiDisks []ClusterResourceSpecCommonResourceSpecMultiDisk `pulumi:"multiDisks"` + // Root disk capacity. + RootSize *int `pulumi:"rootSize"` + // Node specification description, such as CVM.SA2. + Spec *string `pulumi:"spec"` + // Storage type. Value range: + // - 4: Represents cloud SSD; + // - 5: Represents efficient cloud disk; + // - 6: Represents enhanced SSD Cloud Block Storage; + // - 11: Represents throughput Cloud Block Storage; + // - 12: Represents extremely fast SSD Cloud Block Storage. + StorageType *int `pulumi:"storageType"` } // ClusterResourceSpecCommonResourceSpecInput is an input type that accepts ClusterResourceSpecCommonResourceSpecArgs and ClusterResourceSpecCommonResourceSpecOutput values. @@ -445,13 +638,30 @@ type ClusterResourceSpecCommonResourceSpecInput interface { } type ClusterResourceSpecCommonResourceSpecArgs struct { - Cpu pulumi.IntPtrInput `pulumi:"cpu"` - DiskSize pulumi.IntPtrInput `pulumi:"diskSize"` - DiskType pulumi.StringPtrInput `pulumi:"diskType"` - MemSize pulumi.IntPtrInput `pulumi:"memSize"` - RootSize pulumi.IntPtrInput `pulumi:"rootSize"` - Spec pulumi.StringPtrInput `pulumi:"spec"` - StorageType pulumi.IntPtrInput `pulumi:"storageType"` + // Number of CPU cores. + Cpu pulumi.IntPtrInput `pulumi:"cpu"` + // Data disk capacity. + DiskSize pulumi.IntPtrInput `pulumi:"diskSize"` + // disk types. Value range: + // - CLOUD_SSD: Represents cloud SSD; + // - CLOUD_PREMIUM: Represents efficient cloud disk; + // - CLOUD_BASIC: Represents Cloud Block Storage. + DiskType pulumi.StringPtrInput `pulumi:"diskType"` + // Memory size in M. + MemSize pulumi.IntPtrInput `pulumi:"memSize"` + // Cloud disk list. When the data disk is a cloud disk, use diskType and diskSize parameters directly, and use multiDisks for excess parts. + MultiDisks ClusterResourceSpecCommonResourceSpecMultiDiskArrayInput `pulumi:"multiDisks"` + // Root disk capacity. + RootSize pulumi.IntPtrInput `pulumi:"rootSize"` + // Node specification description, such as CVM.SA2. + Spec pulumi.StringPtrInput `pulumi:"spec"` + // Storage type. Value range: + // - 4: Represents cloud SSD; + // - 5: Represents efficient cloud disk; + // - 6: Represents enhanced SSD Cloud Block Storage; + // - 11: Represents throughput Cloud Block Storage; + // - 12: Represents extremely fast SSD Cloud Block Storage. + StorageType pulumi.IntPtrInput `pulumi:"storageType"` } func (ClusterResourceSpecCommonResourceSpecArgs) ElementType() reflect.Type { @@ -531,30 +741,52 @@ func (o ClusterResourceSpecCommonResourceSpecOutput) ToClusterResourceSpecCommon }).(ClusterResourceSpecCommonResourceSpecPtrOutput) } +// Number of CPU cores. func (o ClusterResourceSpecCommonResourceSpecOutput) Cpu() pulumi.IntPtrOutput { return o.ApplyT(func(v ClusterResourceSpecCommonResourceSpec) *int { return v.Cpu }).(pulumi.IntPtrOutput) } +// Data disk capacity. func (o ClusterResourceSpecCommonResourceSpecOutput) DiskSize() pulumi.IntPtrOutput { return o.ApplyT(func(v ClusterResourceSpecCommonResourceSpec) *int { return v.DiskSize }).(pulumi.IntPtrOutput) } +// disk types. Value range: +// - CLOUD_SSD: Represents cloud SSD; +// - CLOUD_PREMIUM: Represents efficient cloud disk; +// - CLOUD_BASIC: Represents Cloud Block Storage. func (o ClusterResourceSpecCommonResourceSpecOutput) DiskType() pulumi.StringPtrOutput { return o.ApplyT(func(v ClusterResourceSpecCommonResourceSpec) *string { return v.DiskType }).(pulumi.StringPtrOutput) } +// Memory size in M. func (o ClusterResourceSpecCommonResourceSpecOutput) MemSize() pulumi.IntPtrOutput { return o.ApplyT(func(v ClusterResourceSpecCommonResourceSpec) *int { return v.MemSize }).(pulumi.IntPtrOutput) } +// Cloud disk list. When the data disk is a cloud disk, use diskType and diskSize parameters directly, and use multiDisks for excess parts. +func (o ClusterResourceSpecCommonResourceSpecOutput) MultiDisks() ClusterResourceSpecCommonResourceSpecMultiDiskArrayOutput { + return o.ApplyT(func(v ClusterResourceSpecCommonResourceSpec) []ClusterResourceSpecCommonResourceSpecMultiDisk { + return v.MultiDisks + }).(ClusterResourceSpecCommonResourceSpecMultiDiskArrayOutput) +} + +// Root disk capacity. func (o ClusterResourceSpecCommonResourceSpecOutput) RootSize() pulumi.IntPtrOutput { return o.ApplyT(func(v ClusterResourceSpecCommonResourceSpec) *int { return v.RootSize }).(pulumi.IntPtrOutput) } +// Node specification description, such as CVM.SA2. func (o ClusterResourceSpecCommonResourceSpecOutput) Spec() pulumi.StringPtrOutput { return o.ApplyT(func(v ClusterResourceSpecCommonResourceSpec) *string { return v.Spec }).(pulumi.StringPtrOutput) } +// Storage type. Value range: +// - 4: Represents cloud SSD; +// - 5: Represents efficient cloud disk; +// - 6: Represents enhanced SSD Cloud Block Storage; +// - 11: Represents throughput Cloud Block Storage; +// - 12: Represents extremely fast SSD Cloud Block Storage. func (o ClusterResourceSpecCommonResourceSpecOutput) StorageType() pulumi.IntPtrOutput { return o.ApplyT(func(v ClusterResourceSpecCommonResourceSpec) *int { return v.StorageType }).(pulumi.IntPtrOutput) } @@ -583,6 +815,7 @@ func (o ClusterResourceSpecCommonResourceSpecPtrOutput) Elem() ClusterResourceSp }).(ClusterResourceSpecCommonResourceSpecOutput) } +// Number of CPU cores. func (o ClusterResourceSpecCommonResourceSpecPtrOutput) Cpu() pulumi.IntPtrOutput { return o.ApplyT(func(v *ClusterResourceSpecCommonResourceSpec) *int { if v == nil { @@ -592,6 +825,7 @@ func (o ClusterResourceSpecCommonResourceSpecPtrOutput) Cpu() pulumi.IntPtrOutpu }).(pulumi.IntPtrOutput) } +// Data disk capacity. func (o ClusterResourceSpecCommonResourceSpecPtrOutput) DiskSize() pulumi.IntPtrOutput { return o.ApplyT(func(v *ClusterResourceSpecCommonResourceSpec) *int { if v == nil { @@ -601,6 +835,10 @@ func (o ClusterResourceSpecCommonResourceSpecPtrOutput) DiskSize() pulumi.IntPtr }).(pulumi.IntPtrOutput) } +// disk types. Value range: +// - CLOUD_SSD: Represents cloud SSD; +// - CLOUD_PREMIUM: Represents efficient cloud disk; +// - CLOUD_BASIC: Represents Cloud Block Storage. func (o ClusterResourceSpecCommonResourceSpecPtrOutput) DiskType() pulumi.StringPtrOutput { return o.ApplyT(func(v *ClusterResourceSpecCommonResourceSpec) *string { if v == nil { @@ -610,6 +848,7 @@ func (o ClusterResourceSpecCommonResourceSpecPtrOutput) DiskType() pulumi.String }).(pulumi.StringPtrOutput) } +// Memory size in M. func (o ClusterResourceSpecCommonResourceSpecPtrOutput) MemSize() pulumi.IntPtrOutput { return o.ApplyT(func(v *ClusterResourceSpecCommonResourceSpec) *int { if v == nil { @@ -619,6 +858,17 @@ func (o ClusterResourceSpecCommonResourceSpecPtrOutput) MemSize() pulumi.IntPtrO }).(pulumi.IntPtrOutput) } +// Cloud disk list. When the data disk is a cloud disk, use diskType and diskSize parameters directly, and use multiDisks for excess parts. +func (o ClusterResourceSpecCommonResourceSpecPtrOutput) MultiDisks() ClusterResourceSpecCommonResourceSpecMultiDiskArrayOutput { + return o.ApplyT(func(v *ClusterResourceSpecCommonResourceSpec) []ClusterResourceSpecCommonResourceSpecMultiDisk { + if v == nil { + return nil + } + return v.MultiDisks + }).(ClusterResourceSpecCommonResourceSpecMultiDiskArrayOutput) +} + +// Root disk capacity. func (o ClusterResourceSpecCommonResourceSpecPtrOutput) RootSize() pulumi.IntPtrOutput { return o.ApplyT(func(v *ClusterResourceSpecCommonResourceSpec) *int { if v == nil { @@ -628,6 +878,7 @@ func (o ClusterResourceSpecCommonResourceSpecPtrOutput) RootSize() pulumi.IntPtr }).(pulumi.IntPtrOutput) } +// Node specification description, such as CVM.SA2. func (o ClusterResourceSpecCommonResourceSpecPtrOutput) Spec() pulumi.StringPtrOutput { return o.ApplyT(func(v *ClusterResourceSpecCommonResourceSpec) *string { if v == nil { @@ -637,6 +888,12 @@ func (o ClusterResourceSpecCommonResourceSpecPtrOutput) Spec() pulumi.StringPtrO }).(pulumi.StringPtrOutput) } +// Storage type. Value range: +// - 4: Represents cloud SSD; +// - 5: Represents efficient cloud disk; +// - 6: Represents enhanced SSD Cloud Block Storage; +// - 11: Represents throughput Cloud Block Storage; +// - 12: Represents extremely fast SSD Cloud Block Storage. func (o ClusterResourceSpecCommonResourceSpecPtrOutput) StorageType() pulumi.IntPtrOutput { return o.ApplyT(func(v *ClusterResourceSpecCommonResourceSpec) *int { if v == nil { @@ -646,14 +903,155 @@ func (o ClusterResourceSpecCommonResourceSpecPtrOutput) StorageType() pulumi.Int }).(pulumi.IntPtrOutput) } +type ClusterResourceSpecCommonResourceSpecMultiDisk struct { + // Number of cloud disks of this type. + Count *int `pulumi:"count"` + // Cloud disk type + // - CLOUD_SSD: Represents cloud SSD; + // - CLOUD_PREMIUM: Represents efficient cloud disk; + // - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + DiskType *string `pulumi:"diskType"` + // Cloud disk size. + Volume *int `pulumi:"volume"` +} + +// ClusterResourceSpecCommonResourceSpecMultiDiskInput is an input type that accepts ClusterResourceSpecCommonResourceSpecMultiDiskArgs and ClusterResourceSpecCommonResourceSpecMultiDiskOutput values. +// You can construct a concrete instance of `ClusterResourceSpecCommonResourceSpecMultiDiskInput` via: +// +// ClusterResourceSpecCommonResourceSpecMultiDiskArgs{...} +type ClusterResourceSpecCommonResourceSpecMultiDiskInput interface { + pulumi.Input + + ToClusterResourceSpecCommonResourceSpecMultiDiskOutput() ClusterResourceSpecCommonResourceSpecMultiDiskOutput + ToClusterResourceSpecCommonResourceSpecMultiDiskOutputWithContext(context.Context) ClusterResourceSpecCommonResourceSpecMultiDiskOutput +} + +type ClusterResourceSpecCommonResourceSpecMultiDiskArgs struct { + // Number of cloud disks of this type. + Count pulumi.IntPtrInput `pulumi:"count"` + // Cloud disk type + // - CLOUD_SSD: Represents cloud SSD; + // - CLOUD_PREMIUM: Represents efficient cloud disk; + // - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + DiskType pulumi.StringPtrInput `pulumi:"diskType"` + // Cloud disk size. + Volume pulumi.IntPtrInput `pulumi:"volume"` +} + +func (ClusterResourceSpecCommonResourceSpecMultiDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterResourceSpecCommonResourceSpecMultiDisk)(nil)).Elem() +} + +func (i ClusterResourceSpecCommonResourceSpecMultiDiskArgs) ToClusterResourceSpecCommonResourceSpecMultiDiskOutput() ClusterResourceSpecCommonResourceSpecMultiDiskOutput { + return i.ToClusterResourceSpecCommonResourceSpecMultiDiskOutputWithContext(context.Background()) +} + +func (i ClusterResourceSpecCommonResourceSpecMultiDiskArgs) ToClusterResourceSpecCommonResourceSpecMultiDiskOutputWithContext(ctx context.Context) ClusterResourceSpecCommonResourceSpecMultiDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterResourceSpecCommonResourceSpecMultiDiskOutput) +} + +// ClusterResourceSpecCommonResourceSpecMultiDiskArrayInput is an input type that accepts ClusterResourceSpecCommonResourceSpecMultiDiskArray and ClusterResourceSpecCommonResourceSpecMultiDiskArrayOutput values. +// You can construct a concrete instance of `ClusterResourceSpecCommonResourceSpecMultiDiskArrayInput` via: +// +// ClusterResourceSpecCommonResourceSpecMultiDiskArray{ ClusterResourceSpecCommonResourceSpecMultiDiskArgs{...} } +type ClusterResourceSpecCommonResourceSpecMultiDiskArrayInput interface { + pulumi.Input + + ToClusterResourceSpecCommonResourceSpecMultiDiskArrayOutput() ClusterResourceSpecCommonResourceSpecMultiDiskArrayOutput + ToClusterResourceSpecCommonResourceSpecMultiDiskArrayOutputWithContext(context.Context) ClusterResourceSpecCommonResourceSpecMultiDiskArrayOutput +} + +type ClusterResourceSpecCommonResourceSpecMultiDiskArray []ClusterResourceSpecCommonResourceSpecMultiDiskInput + +func (ClusterResourceSpecCommonResourceSpecMultiDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterResourceSpecCommonResourceSpecMultiDisk)(nil)).Elem() +} + +func (i ClusterResourceSpecCommonResourceSpecMultiDiskArray) ToClusterResourceSpecCommonResourceSpecMultiDiskArrayOutput() ClusterResourceSpecCommonResourceSpecMultiDiskArrayOutput { + return i.ToClusterResourceSpecCommonResourceSpecMultiDiskArrayOutputWithContext(context.Background()) +} + +func (i ClusterResourceSpecCommonResourceSpecMultiDiskArray) ToClusterResourceSpecCommonResourceSpecMultiDiskArrayOutputWithContext(ctx context.Context) ClusterResourceSpecCommonResourceSpecMultiDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterResourceSpecCommonResourceSpecMultiDiskArrayOutput) +} + +type ClusterResourceSpecCommonResourceSpecMultiDiskOutput struct{ *pulumi.OutputState } + +func (ClusterResourceSpecCommonResourceSpecMultiDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterResourceSpecCommonResourceSpecMultiDisk)(nil)).Elem() +} + +func (o ClusterResourceSpecCommonResourceSpecMultiDiskOutput) ToClusterResourceSpecCommonResourceSpecMultiDiskOutput() ClusterResourceSpecCommonResourceSpecMultiDiskOutput { + return o +} + +func (o ClusterResourceSpecCommonResourceSpecMultiDiskOutput) ToClusterResourceSpecCommonResourceSpecMultiDiskOutputWithContext(ctx context.Context) ClusterResourceSpecCommonResourceSpecMultiDiskOutput { + return o +} + +// Number of cloud disks of this type. +func (o ClusterResourceSpecCommonResourceSpecMultiDiskOutput) Count() pulumi.IntPtrOutput { + return o.ApplyT(func(v ClusterResourceSpecCommonResourceSpecMultiDisk) *int { return v.Count }).(pulumi.IntPtrOutput) +} + +// Cloud disk type +// - CLOUD_SSD: Represents cloud SSD; +// - CLOUD_PREMIUM: Represents efficient cloud disk; +// - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. +func (o ClusterResourceSpecCommonResourceSpecMultiDiskOutput) DiskType() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterResourceSpecCommonResourceSpecMultiDisk) *string { return v.DiskType }).(pulumi.StringPtrOutput) +} + +// Cloud disk size. +func (o ClusterResourceSpecCommonResourceSpecMultiDiskOutput) Volume() pulumi.IntPtrOutput { + return o.ApplyT(func(v ClusterResourceSpecCommonResourceSpecMultiDisk) *int { return v.Volume }).(pulumi.IntPtrOutput) +} + +type ClusterResourceSpecCommonResourceSpecMultiDiskArrayOutput struct{ *pulumi.OutputState } + +func (ClusterResourceSpecCommonResourceSpecMultiDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterResourceSpecCommonResourceSpecMultiDisk)(nil)).Elem() +} + +func (o ClusterResourceSpecCommonResourceSpecMultiDiskArrayOutput) ToClusterResourceSpecCommonResourceSpecMultiDiskArrayOutput() ClusterResourceSpecCommonResourceSpecMultiDiskArrayOutput { + return o +} + +func (o ClusterResourceSpecCommonResourceSpecMultiDiskArrayOutput) ToClusterResourceSpecCommonResourceSpecMultiDiskArrayOutputWithContext(ctx context.Context) ClusterResourceSpecCommonResourceSpecMultiDiskArrayOutput { + return o +} + +func (o ClusterResourceSpecCommonResourceSpecMultiDiskArrayOutput) Index(i pulumi.IntInput) ClusterResourceSpecCommonResourceSpecMultiDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ClusterResourceSpecCommonResourceSpecMultiDisk { + return vs[0].([]ClusterResourceSpecCommonResourceSpecMultiDisk)[vs[1].(int)] + }).(ClusterResourceSpecCommonResourceSpecMultiDiskOutput) +} + type ClusterResourceSpecCoreResourceSpec struct { - Cpu *int `pulumi:"cpu"` - DiskSize *int `pulumi:"diskSize"` - DiskType *string `pulumi:"diskType"` - MemSize *int `pulumi:"memSize"` - RootSize *int `pulumi:"rootSize"` - Spec *string `pulumi:"spec"` - StorageType *int `pulumi:"storageType"` + // Number of CPU cores. + Cpu *int `pulumi:"cpu"` + // Data disk capacity. + DiskSize *int `pulumi:"diskSize"` + // disk types. Value range: + // - CLOUD_SSD: Represents cloud SSD; + // - CLOUD_PREMIUM: Represents efficient cloud disk; + // - CLOUD_BASIC: Represents Cloud Block Storage. + DiskType *string `pulumi:"diskType"` + // Memory size in M. + MemSize *int `pulumi:"memSize"` + // Cloud disk list. When the data disk is a cloud disk, use diskType and diskSize parameters directly, and use multiDisks for excess parts. + MultiDisks []ClusterResourceSpecCoreResourceSpecMultiDisk `pulumi:"multiDisks"` + // Root disk capacity. + RootSize *int `pulumi:"rootSize"` + // Node specification description, such as CVM.SA2. + Spec *string `pulumi:"spec"` + // Storage type. Value range: + // - 4: Represents cloud SSD; + // - 5: Represents efficient cloud disk; + // - 6: Represents enhanced SSD Cloud Block Storage; + // - 11: Represents throughput Cloud Block Storage; + // - 12: Represents extremely fast SSD Cloud Block Storage. + StorageType *int `pulumi:"storageType"` } // ClusterResourceSpecCoreResourceSpecInput is an input type that accepts ClusterResourceSpecCoreResourceSpecArgs and ClusterResourceSpecCoreResourceSpecOutput values. @@ -668,13 +1066,30 @@ type ClusterResourceSpecCoreResourceSpecInput interface { } type ClusterResourceSpecCoreResourceSpecArgs struct { - Cpu pulumi.IntPtrInput `pulumi:"cpu"` - DiskSize pulumi.IntPtrInput `pulumi:"diskSize"` - DiskType pulumi.StringPtrInput `pulumi:"diskType"` - MemSize pulumi.IntPtrInput `pulumi:"memSize"` - RootSize pulumi.IntPtrInput `pulumi:"rootSize"` - Spec pulumi.StringPtrInput `pulumi:"spec"` - StorageType pulumi.IntPtrInput `pulumi:"storageType"` + // Number of CPU cores. + Cpu pulumi.IntPtrInput `pulumi:"cpu"` + // Data disk capacity. + DiskSize pulumi.IntPtrInput `pulumi:"diskSize"` + // disk types. Value range: + // - CLOUD_SSD: Represents cloud SSD; + // - CLOUD_PREMIUM: Represents efficient cloud disk; + // - CLOUD_BASIC: Represents Cloud Block Storage. + DiskType pulumi.StringPtrInput `pulumi:"diskType"` + // Memory size in M. + MemSize pulumi.IntPtrInput `pulumi:"memSize"` + // Cloud disk list. When the data disk is a cloud disk, use diskType and diskSize parameters directly, and use multiDisks for excess parts. + MultiDisks ClusterResourceSpecCoreResourceSpecMultiDiskArrayInput `pulumi:"multiDisks"` + // Root disk capacity. + RootSize pulumi.IntPtrInput `pulumi:"rootSize"` + // Node specification description, such as CVM.SA2. + Spec pulumi.StringPtrInput `pulumi:"spec"` + // Storage type. Value range: + // - 4: Represents cloud SSD; + // - 5: Represents efficient cloud disk; + // - 6: Represents enhanced SSD Cloud Block Storage; + // - 11: Represents throughput Cloud Block Storage; + // - 12: Represents extremely fast SSD Cloud Block Storage. + StorageType pulumi.IntPtrInput `pulumi:"storageType"` } func (ClusterResourceSpecCoreResourceSpecArgs) ElementType() reflect.Type { @@ -754,30 +1169,52 @@ func (o ClusterResourceSpecCoreResourceSpecOutput) ToClusterResourceSpecCoreReso }).(ClusterResourceSpecCoreResourceSpecPtrOutput) } +// Number of CPU cores. func (o ClusterResourceSpecCoreResourceSpecOutput) Cpu() pulumi.IntPtrOutput { return o.ApplyT(func(v ClusterResourceSpecCoreResourceSpec) *int { return v.Cpu }).(pulumi.IntPtrOutput) } +// Data disk capacity. func (o ClusterResourceSpecCoreResourceSpecOutput) DiskSize() pulumi.IntPtrOutput { return o.ApplyT(func(v ClusterResourceSpecCoreResourceSpec) *int { return v.DiskSize }).(pulumi.IntPtrOutput) } +// disk types. Value range: +// - CLOUD_SSD: Represents cloud SSD; +// - CLOUD_PREMIUM: Represents efficient cloud disk; +// - CLOUD_BASIC: Represents Cloud Block Storage. func (o ClusterResourceSpecCoreResourceSpecOutput) DiskType() pulumi.StringPtrOutput { return o.ApplyT(func(v ClusterResourceSpecCoreResourceSpec) *string { return v.DiskType }).(pulumi.StringPtrOutput) } +// Memory size in M. func (o ClusterResourceSpecCoreResourceSpecOutput) MemSize() pulumi.IntPtrOutput { return o.ApplyT(func(v ClusterResourceSpecCoreResourceSpec) *int { return v.MemSize }).(pulumi.IntPtrOutput) } +// Cloud disk list. When the data disk is a cloud disk, use diskType and diskSize parameters directly, and use multiDisks for excess parts. +func (o ClusterResourceSpecCoreResourceSpecOutput) MultiDisks() ClusterResourceSpecCoreResourceSpecMultiDiskArrayOutput { + return o.ApplyT(func(v ClusterResourceSpecCoreResourceSpec) []ClusterResourceSpecCoreResourceSpecMultiDisk { + return v.MultiDisks + }).(ClusterResourceSpecCoreResourceSpecMultiDiskArrayOutput) +} + +// Root disk capacity. func (o ClusterResourceSpecCoreResourceSpecOutput) RootSize() pulumi.IntPtrOutput { return o.ApplyT(func(v ClusterResourceSpecCoreResourceSpec) *int { return v.RootSize }).(pulumi.IntPtrOutput) } +// Node specification description, such as CVM.SA2. func (o ClusterResourceSpecCoreResourceSpecOutput) Spec() pulumi.StringPtrOutput { return o.ApplyT(func(v ClusterResourceSpecCoreResourceSpec) *string { return v.Spec }).(pulumi.StringPtrOutput) } +// Storage type. Value range: +// - 4: Represents cloud SSD; +// - 5: Represents efficient cloud disk; +// - 6: Represents enhanced SSD Cloud Block Storage; +// - 11: Represents throughput Cloud Block Storage; +// - 12: Represents extremely fast SSD Cloud Block Storage. func (o ClusterResourceSpecCoreResourceSpecOutput) StorageType() pulumi.IntPtrOutput { return o.ApplyT(func(v ClusterResourceSpecCoreResourceSpec) *int { return v.StorageType }).(pulumi.IntPtrOutput) } @@ -806,6 +1243,7 @@ func (o ClusterResourceSpecCoreResourceSpecPtrOutput) Elem() ClusterResourceSpec }).(ClusterResourceSpecCoreResourceSpecOutput) } +// Number of CPU cores. func (o ClusterResourceSpecCoreResourceSpecPtrOutput) Cpu() pulumi.IntPtrOutput { return o.ApplyT(func(v *ClusterResourceSpecCoreResourceSpec) *int { if v == nil { @@ -815,6 +1253,7 @@ func (o ClusterResourceSpecCoreResourceSpecPtrOutput) Cpu() pulumi.IntPtrOutput }).(pulumi.IntPtrOutput) } +// Data disk capacity. func (o ClusterResourceSpecCoreResourceSpecPtrOutput) DiskSize() pulumi.IntPtrOutput { return o.ApplyT(func(v *ClusterResourceSpecCoreResourceSpec) *int { if v == nil { @@ -824,6 +1263,10 @@ func (o ClusterResourceSpecCoreResourceSpecPtrOutput) DiskSize() pulumi.IntPtrOu }).(pulumi.IntPtrOutput) } +// disk types. Value range: +// - CLOUD_SSD: Represents cloud SSD; +// - CLOUD_PREMIUM: Represents efficient cloud disk; +// - CLOUD_BASIC: Represents Cloud Block Storage. func (o ClusterResourceSpecCoreResourceSpecPtrOutput) DiskType() pulumi.StringPtrOutput { return o.ApplyT(func(v *ClusterResourceSpecCoreResourceSpec) *string { if v == nil { @@ -833,6 +1276,7 @@ func (o ClusterResourceSpecCoreResourceSpecPtrOutput) DiskType() pulumi.StringPt }).(pulumi.StringPtrOutput) } +// Memory size in M. func (o ClusterResourceSpecCoreResourceSpecPtrOutput) MemSize() pulumi.IntPtrOutput { return o.ApplyT(func(v *ClusterResourceSpecCoreResourceSpec) *int { if v == nil { @@ -842,6 +1286,17 @@ func (o ClusterResourceSpecCoreResourceSpecPtrOutput) MemSize() pulumi.IntPtrOut }).(pulumi.IntPtrOutput) } +// Cloud disk list. When the data disk is a cloud disk, use diskType and diskSize parameters directly, and use multiDisks for excess parts. +func (o ClusterResourceSpecCoreResourceSpecPtrOutput) MultiDisks() ClusterResourceSpecCoreResourceSpecMultiDiskArrayOutput { + return o.ApplyT(func(v *ClusterResourceSpecCoreResourceSpec) []ClusterResourceSpecCoreResourceSpecMultiDisk { + if v == nil { + return nil + } + return v.MultiDisks + }).(ClusterResourceSpecCoreResourceSpecMultiDiskArrayOutput) +} + +// Root disk capacity. func (o ClusterResourceSpecCoreResourceSpecPtrOutput) RootSize() pulumi.IntPtrOutput { return o.ApplyT(func(v *ClusterResourceSpecCoreResourceSpec) *int { if v == nil { @@ -851,6 +1306,7 @@ func (o ClusterResourceSpecCoreResourceSpecPtrOutput) RootSize() pulumi.IntPtrOu }).(pulumi.IntPtrOutput) } +// Node specification description, such as CVM.SA2. func (o ClusterResourceSpecCoreResourceSpecPtrOutput) Spec() pulumi.StringPtrOutput { return o.ApplyT(func(v *ClusterResourceSpecCoreResourceSpec) *string { if v == nil { @@ -860,6 +1316,12 @@ func (o ClusterResourceSpecCoreResourceSpecPtrOutput) Spec() pulumi.StringPtrOut }).(pulumi.StringPtrOutput) } +// Storage type. Value range: +// - 4: Represents cloud SSD; +// - 5: Represents efficient cloud disk; +// - 6: Represents enhanced SSD Cloud Block Storage; +// - 11: Represents throughput Cloud Block Storage; +// - 12: Represents extremely fast SSD Cloud Block Storage. func (o ClusterResourceSpecCoreResourceSpecPtrOutput) StorageType() pulumi.IntPtrOutput { return o.ApplyT(func(v *ClusterResourceSpecCoreResourceSpec) *int { if v == nil { @@ -869,14 +1331,155 @@ func (o ClusterResourceSpecCoreResourceSpecPtrOutput) StorageType() pulumi.IntPt }).(pulumi.IntPtrOutput) } +type ClusterResourceSpecCoreResourceSpecMultiDisk struct { + // Number of cloud disks of this type. + Count *int `pulumi:"count"` + // Cloud disk type + // - CLOUD_SSD: Represents cloud SSD; + // - CLOUD_PREMIUM: Represents efficient cloud disk; + // - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + DiskType *string `pulumi:"diskType"` + // Cloud disk size. + Volume *int `pulumi:"volume"` +} + +// ClusterResourceSpecCoreResourceSpecMultiDiskInput is an input type that accepts ClusterResourceSpecCoreResourceSpecMultiDiskArgs and ClusterResourceSpecCoreResourceSpecMultiDiskOutput values. +// You can construct a concrete instance of `ClusterResourceSpecCoreResourceSpecMultiDiskInput` via: +// +// ClusterResourceSpecCoreResourceSpecMultiDiskArgs{...} +type ClusterResourceSpecCoreResourceSpecMultiDiskInput interface { + pulumi.Input + + ToClusterResourceSpecCoreResourceSpecMultiDiskOutput() ClusterResourceSpecCoreResourceSpecMultiDiskOutput + ToClusterResourceSpecCoreResourceSpecMultiDiskOutputWithContext(context.Context) ClusterResourceSpecCoreResourceSpecMultiDiskOutput +} + +type ClusterResourceSpecCoreResourceSpecMultiDiskArgs struct { + // Number of cloud disks of this type. + Count pulumi.IntPtrInput `pulumi:"count"` + // Cloud disk type + // - CLOUD_SSD: Represents cloud SSD; + // - CLOUD_PREMIUM: Represents efficient cloud disk; + // - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + DiskType pulumi.StringPtrInput `pulumi:"diskType"` + // Cloud disk size. + Volume pulumi.IntPtrInput `pulumi:"volume"` +} + +func (ClusterResourceSpecCoreResourceSpecMultiDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterResourceSpecCoreResourceSpecMultiDisk)(nil)).Elem() +} + +func (i ClusterResourceSpecCoreResourceSpecMultiDiskArgs) ToClusterResourceSpecCoreResourceSpecMultiDiskOutput() ClusterResourceSpecCoreResourceSpecMultiDiskOutput { + return i.ToClusterResourceSpecCoreResourceSpecMultiDiskOutputWithContext(context.Background()) +} + +func (i ClusterResourceSpecCoreResourceSpecMultiDiskArgs) ToClusterResourceSpecCoreResourceSpecMultiDiskOutputWithContext(ctx context.Context) ClusterResourceSpecCoreResourceSpecMultiDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterResourceSpecCoreResourceSpecMultiDiskOutput) +} + +// ClusterResourceSpecCoreResourceSpecMultiDiskArrayInput is an input type that accepts ClusterResourceSpecCoreResourceSpecMultiDiskArray and ClusterResourceSpecCoreResourceSpecMultiDiskArrayOutput values. +// You can construct a concrete instance of `ClusterResourceSpecCoreResourceSpecMultiDiskArrayInput` via: +// +// ClusterResourceSpecCoreResourceSpecMultiDiskArray{ ClusterResourceSpecCoreResourceSpecMultiDiskArgs{...} } +type ClusterResourceSpecCoreResourceSpecMultiDiskArrayInput interface { + pulumi.Input + + ToClusterResourceSpecCoreResourceSpecMultiDiskArrayOutput() ClusterResourceSpecCoreResourceSpecMultiDiskArrayOutput + ToClusterResourceSpecCoreResourceSpecMultiDiskArrayOutputWithContext(context.Context) ClusterResourceSpecCoreResourceSpecMultiDiskArrayOutput +} + +type ClusterResourceSpecCoreResourceSpecMultiDiskArray []ClusterResourceSpecCoreResourceSpecMultiDiskInput + +func (ClusterResourceSpecCoreResourceSpecMultiDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterResourceSpecCoreResourceSpecMultiDisk)(nil)).Elem() +} + +func (i ClusterResourceSpecCoreResourceSpecMultiDiskArray) ToClusterResourceSpecCoreResourceSpecMultiDiskArrayOutput() ClusterResourceSpecCoreResourceSpecMultiDiskArrayOutput { + return i.ToClusterResourceSpecCoreResourceSpecMultiDiskArrayOutputWithContext(context.Background()) +} + +func (i ClusterResourceSpecCoreResourceSpecMultiDiskArray) ToClusterResourceSpecCoreResourceSpecMultiDiskArrayOutputWithContext(ctx context.Context) ClusterResourceSpecCoreResourceSpecMultiDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterResourceSpecCoreResourceSpecMultiDiskArrayOutput) +} + +type ClusterResourceSpecCoreResourceSpecMultiDiskOutput struct{ *pulumi.OutputState } + +func (ClusterResourceSpecCoreResourceSpecMultiDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterResourceSpecCoreResourceSpecMultiDisk)(nil)).Elem() +} + +func (o ClusterResourceSpecCoreResourceSpecMultiDiskOutput) ToClusterResourceSpecCoreResourceSpecMultiDiskOutput() ClusterResourceSpecCoreResourceSpecMultiDiskOutput { + return o +} + +func (o ClusterResourceSpecCoreResourceSpecMultiDiskOutput) ToClusterResourceSpecCoreResourceSpecMultiDiskOutputWithContext(ctx context.Context) ClusterResourceSpecCoreResourceSpecMultiDiskOutput { + return o +} + +// Number of cloud disks of this type. +func (o ClusterResourceSpecCoreResourceSpecMultiDiskOutput) Count() pulumi.IntPtrOutput { + return o.ApplyT(func(v ClusterResourceSpecCoreResourceSpecMultiDisk) *int { return v.Count }).(pulumi.IntPtrOutput) +} + +// Cloud disk type +// - CLOUD_SSD: Represents cloud SSD; +// - CLOUD_PREMIUM: Represents efficient cloud disk; +// - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. +func (o ClusterResourceSpecCoreResourceSpecMultiDiskOutput) DiskType() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterResourceSpecCoreResourceSpecMultiDisk) *string { return v.DiskType }).(pulumi.StringPtrOutput) +} + +// Cloud disk size. +func (o ClusterResourceSpecCoreResourceSpecMultiDiskOutput) Volume() pulumi.IntPtrOutput { + return o.ApplyT(func(v ClusterResourceSpecCoreResourceSpecMultiDisk) *int { return v.Volume }).(pulumi.IntPtrOutput) +} + +type ClusterResourceSpecCoreResourceSpecMultiDiskArrayOutput struct{ *pulumi.OutputState } + +func (ClusterResourceSpecCoreResourceSpecMultiDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterResourceSpecCoreResourceSpecMultiDisk)(nil)).Elem() +} + +func (o ClusterResourceSpecCoreResourceSpecMultiDiskArrayOutput) ToClusterResourceSpecCoreResourceSpecMultiDiskArrayOutput() ClusterResourceSpecCoreResourceSpecMultiDiskArrayOutput { + return o +} + +func (o ClusterResourceSpecCoreResourceSpecMultiDiskArrayOutput) ToClusterResourceSpecCoreResourceSpecMultiDiskArrayOutputWithContext(ctx context.Context) ClusterResourceSpecCoreResourceSpecMultiDiskArrayOutput { + return o +} + +func (o ClusterResourceSpecCoreResourceSpecMultiDiskArrayOutput) Index(i pulumi.IntInput) ClusterResourceSpecCoreResourceSpecMultiDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ClusterResourceSpecCoreResourceSpecMultiDisk { + return vs[0].([]ClusterResourceSpecCoreResourceSpecMultiDisk)[vs[1].(int)] + }).(ClusterResourceSpecCoreResourceSpecMultiDiskOutput) +} + type ClusterResourceSpecMasterResourceSpec struct { - Cpu *int `pulumi:"cpu"` - DiskSize *int `pulumi:"diskSize"` - DiskType *string `pulumi:"diskType"` - MemSize *int `pulumi:"memSize"` - RootSize *int `pulumi:"rootSize"` - Spec *string `pulumi:"spec"` - StorageType *int `pulumi:"storageType"` + // Number of CPU cores. + Cpu *int `pulumi:"cpu"` + // Data disk capacity. + DiskSize *int `pulumi:"diskSize"` + // disk types. Value range: + // - CLOUD_SSD: Represents cloud SSD; + // - CLOUD_PREMIUM: Represents efficient cloud disk; + // - CLOUD_BASIC: Represents Cloud Block Storage. + DiskType *string `pulumi:"diskType"` + // Memory size in M. + MemSize *int `pulumi:"memSize"` + // Cloud disk list. When the data disk is a cloud disk, use diskType and diskSize parameters directly, and use multiDisks for excess parts. + MultiDisks []ClusterResourceSpecMasterResourceSpecMultiDisk `pulumi:"multiDisks"` + // Root disk capacity. + RootSize *int `pulumi:"rootSize"` + // Node specification description, such as CVM.SA2. + Spec *string `pulumi:"spec"` + // Storage type. Value range: + // - 4: Represents cloud SSD; + // - 5: Represents efficient cloud disk; + // - 6: Represents enhanced SSD Cloud Block Storage; + // - 11: Represents throughput Cloud Block Storage; + // - 12: Represents extremely fast SSD Cloud Block Storage. + StorageType *int `pulumi:"storageType"` } // ClusterResourceSpecMasterResourceSpecInput is an input type that accepts ClusterResourceSpecMasterResourceSpecArgs and ClusterResourceSpecMasterResourceSpecOutput values. @@ -891,13 +1494,30 @@ type ClusterResourceSpecMasterResourceSpecInput interface { } type ClusterResourceSpecMasterResourceSpecArgs struct { - Cpu pulumi.IntPtrInput `pulumi:"cpu"` - DiskSize pulumi.IntPtrInput `pulumi:"diskSize"` - DiskType pulumi.StringPtrInput `pulumi:"diskType"` - MemSize pulumi.IntPtrInput `pulumi:"memSize"` - RootSize pulumi.IntPtrInput `pulumi:"rootSize"` - Spec pulumi.StringPtrInput `pulumi:"spec"` - StorageType pulumi.IntPtrInput `pulumi:"storageType"` + // Number of CPU cores. + Cpu pulumi.IntPtrInput `pulumi:"cpu"` + // Data disk capacity. + DiskSize pulumi.IntPtrInput `pulumi:"diskSize"` + // disk types. Value range: + // - CLOUD_SSD: Represents cloud SSD; + // - CLOUD_PREMIUM: Represents efficient cloud disk; + // - CLOUD_BASIC: Represents Cloud Block Storage. + DiskType pulumi.StringPtrInput `pulumi:"diskType"` + // Memory size in M. + MemSize pulumi.IntPtrInput `pulumi:"memSize"` + // Cloud disk list. When the data disk is a cloud disk, use diskType and diskSize parameters directly, and use multiDisks for excess parts. + MultiDisks ClusterResourceSpecMasterResourceSpecMultiDiskArrayInput `pulumi:"multiDisks"` + // Root disk capacity. + RootSize pulumi.IntPtrInput `pulumi:"rootSize"` + // Node specification description, such as CVM.SA2. + Spec pulumi.StringPtrInput `pulumi:"spec"` + // Storage type. Value range: + // - 4: Represents cloud SSD; + // - 5: Represents efficient cloud disk; + // - 6: Represents enhanced SSD Cloud Block Storage; + // - 11: Represents throughput Cloud Block Storage; + // - 12: Represents extremely fast SSD Cloud Block Storage. + StorageType pulumi.IntPtrInput `pulumi:"storageType"` } func (ClusterResourceSpecMasterResourceSpecArgs) ElementType() reflect.Type { @@ -977,30 +1597,52 @@ func (o ClusterResourceSpecMasterResourceSpecOutput) ToClusterResourceSpecMaster }).(ClusterResourceSpecMasterResourceSpecPtrOutput) } +// Number of CPU cores. func (o ClusterResourceSpecMasterResourceSpecOutput) Cpu() pulumi.IntPtrOutput { return o.ApplyT(func(v ClusterResourceSpecMasterResourceSpec) *int { return v.Cpu }).(pulumi.IntPtrOutput) } +// Data disk capacity. func (o ClusterResourceSpecMasterResourceSpecOutput) DiskSize() pulumi.IntPtrOutput { return o.ApplyT(func(v ClusterResourceSpecMasterResourceSpec) *int { return v.DiskSize }).(pulumi.IntPtrOutput) } +// disk types. Value range: +// - CLOUD_SSD: Represents cloud SSD; +// - CLOUD_PREMIUM: Represents efficient cloud disk; +// - CLOUD_BASIC: Represents Cloud Block Storage. func (o ClusterResourceSpecMasterResourceSpecOutput) DiskType() pulumi.StringPtrOutput { return o.ApplyT(func(v ClusterResourceSpecMasterResourceSpec) *string { return v.DiskType }).(pulumi.StringPtrOutput) } +// Memory size in M. func (o ClusterResourceSpecMasterResourceSpecOutput) MemSize() pulumi.IntPtrOutput { return o.ApplyT(func(v ClusterResourceSpecMasterResourceSpec) *int { return v.MemSize }).(pulumi.IntPtrOutput) } +// Cloud disk list. When the data disk is a cloud disk, use diskType and diskSize parameters directly, and use multiDisks for excess parts. +func (o ClusterResourceSpecMasterResourceSpecOutput) MultiDisks() ClusterResourceSpecMasterResourceSpecMultiDiskArrayOutput { + return o.ApplyT(func(v ClusterResourceSpecMasterResourceSpec) []ClusterResourceSpecMasterResourceSpecMultiDisk { + return v.MultiDisks + }).(ClusterResourceSpecMasterResourceSpecMultiDiskArrayOutput) +} + +// Root disk capacity. func (o ClusterResourceSpecMasterResourceSpecOutput) RootSize() pulumi.IntPtrOutput { return o.ApplyT(func(v ClusterResourceSpecMasterResourceSpec) *int { return v.RootSize }).(pulumi.IntPtrOutput) } +// Node specification description, such as CVM.SA2. func (o ClusterResourceSpecMasterResourceSpecOutput) Spec() pulumi.StringPtrOutput { return o.ApplyT(func(v ClusterResourceSpecMasterResourceSpec) *string { return v.Spec }).(pulumi.StringPtrOutput) } +// Storage type. Value range: +// - 4: Represents cloud SSD; +// - 5: Represents efficient cloud disk; +// - 6: Represents enhanced SSD Cloud Block Storage; +// - 11: Represents throughput Cloud Block Storage; +// - 12: Represents extremely fast SSD Cloud Block Storage. func (o ClusterResourceSpecMasterResourceSpecOutput) StorageType() pulumi.IntPtrOutput { return o.ApplyT(func(v ClusterResourceSpecMasterResourceSpec) *int { return v.StorageType }).(pulumi.IntPtrOutput) } @@ -1029,6 +1671,7 @@ func (o ClusterResourceSpecMasterResourceSpecPtrOutput) Elem() ClusterResourceSp }).(ClusterResourceSpecMasterResourceSpecOutput) } +// Number of CPU cores. func (o ClusterResourceSpecMasterResourceSpecPtrOutput) Cpu() pulumi.IntPtrOutput { return o.ApplyT(func(v *ClusterResourceSpecMasterResourceSpec) *int { if v == nil { @@ -1038,6 +1681,7 @@ func (o ClusterResourceSpecMasterResourceSpecPtrOutput) Cpu() pulumi.IntPtrOutpu }).(pulumi.IntPtrOutput) } +// Data disk capacity. func (o ClusterResourceSpecMasterResourceSpecPtrOutput) DiskSize() pulumi.IntPtrOutput { return o.ApplyT(func(v *ClusterResourceSpecMasterResourceSpec) *int { if v == nil { @@ -1047,6 +1691,10 @@ func (o ClusterResourceSpecMasterResourceSpecPtrOutput) DiskSize() pulumi.IntPtr }).(pulumi.IntPtrOutput) } +// disk types. Value range: +// - CLOUD_SSD: Represents cloud SSD; +// - CLOUD_PREMIUM: Represents efficient cloud disk; +// - CLOUD_BASIC: Represents Cloud Block Storage. func (o ClusterResourceSpecMasterResourceSpecPtrOutput) DiskType() pulumi.StringPtrOutput { return o.ApplyT(func(v *ClusterResourceSpecMasterResourceSpec) *string { if v == nil { @@ -1056,6 +1704,7 @@ func (o ClusterResourceSpecMasterResourceSpecPtrOutput) DiskType() pulumi.String }).(pulumi.StringPtrOutput) } +// Memory size in M. func (o ClusterResourceSpecMasterResourceSpecPtrOutput) MemSize() pulumi.IntPtrOutput { return o.ApplyT(func(v *ClusterResourceSpecMasterResourceSpec) *int { if v == nil { @@ -1065,6 +1714,17 @@ func (o ClusterResourceSpecMasterResourceSpecPtrOutput) MemSize() pulumi.IntPtrO }).(pulumi.IntPtrOutput) } +// Cloud disk list. When the data disk is a cloud disk, use diskType and diskSize parameters directly, and use multiDisks for excess parts. +func (o ClusterResourceSpecMasterResourceSpecPtrOutput) MultiDisks() ClusterResourceSpecMasterResourceSpecMultiDiskArrayOutput { + return o.ApplyT(func(v *ClusterResourceSpecMasterResourceSpec) []ClusterResourceSpecMasterResourceSpecMultiDisk { + if v == nil { + return nil + } + return v.MultiDisks + }).(ClusterResourceSpecMasterResourceSpecMultiDiskArrayOutput) +} + +// Root disk capacity. func (o ClusterResourceSpecMasterResourceSpecPtrOutput) RootSize() pulumi.IntPtrOutput { return o.ApplyT(func(v *ClusterResourceSpecMasterResourceSpec) *int { if v == nil { @@ -1074,6 +1734,7 @@ func (o ClusterResourceSpecMasterResourceSpecPtrOutput) RootSize() pulumi.IntPtr }).(pulumi.IntPtrOutput) } +// Node specification description, such as CVM.SA2. func (o ClusterResourceSpecMasterResourceSpecPtrOutput) Spec() pulumi.StringPtrOutput { return o.ApplyT(func(v *ClusterResourceSpecMasterResourceSpec) *string { if v == nil { @@ -1083,6 +1744,12 @@ func (o ClusterResourceSpecMasterResourceSpecPtrOutput) Spec() pulumi.StringPtrO }).(pulumi.StringPtrOutput) } +// Storage type. Value range: +// - 4: Represents cloud SSD; +// - 5: Represents efficient cloud disk; +// - 6: Represents enhanced SSD Cloud Block Storage; +// - 11: Represents throughput Cloud Block Storage; +// - 12: Represents extremely fast SSD Cloud Block Storage. func (o ClusterResourceSpecMasterResourceSpecPtrOutput) StorageType() pulumi.IntPtrOutput { return o.ApplyT(func(v *ClusterResourceSpecMasterResourceSpec) *int { if v == nil { @@ -1092,14 +1759,155 @@ func (o ClusterResourceSpecMasterResourceSpecPtrOutput) StorageType() pulumi.Int }).(pulumi.IntPtrOutput) } +type ClusterResourceSpecMasterResourceSpecMultiDisk struct { + // Number of cloud disks of this type. + Count *int `pulumi:"count"` + // Cloud disk type + // - CLOUD_SSD: Represents cloud SSD; + // - CLOUD_PREMIUM: Represents efficient cloud disk; + // - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + DiskType *string `pulumi:"diskType"` + // Cloud disk size. + Volume *int `pulumi:"volume"` +} + +// ClusterResourceSpecMasterResourceSpecMultiDiskInput is an input type that accepts ClusterResourceSpecMasterResourceSpecMultiDiskArgs and ClusterResourceSpecMasterResourceSpecMultiDiskOutput values. +// You can construct a concrete instance of `ClusterResourceSpecMasterResourceSpecMultiDiskInput` via: +// +// ClusterResourceSpecMasterResourceSpecMultiDiskArgs{...} +type ClusterResourceSpecMasterResourceSpecMultiDiskInput interface { + pulumi.Input + + ToClusterResourceSpecMasterResourceSpecMultiDiskOutput() ClusterResourceSpecMasterResourceSpecMultiDiskOutput + ToClusterResourceSpecMasterResourceSpecMultiDiskOutputWithContext(context.Context) ClusterResourceSpecMasterResourceSpecMultiDiskOutput +} + +type ClusterResourceSpecMasterResourceSpecMultiDiskArgs struct { + // Number of cloud disks of this type. + Count pulumi.IntPtrInput `pulumi:"count"` + // Cloud disk type + // - CLOUD_SSD: Represents cloud SSD; + // - CLOUD_PREMIUM: Represents efficient cloud disk; + // - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + DiskType pulumi.StringPtrInput `pulumi:"diskType"` + // Cloud disk size. + Volume pulumi.IntPtrInput `pulumi:"volume"` +} + +func (ClusterResourceSpecMasterResourceSpecMultiDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterResourceSpecMasterResourceSpecMultiDisk)(nil)).Elem() +} + +func (i ClusterResourceSpecMasterResourceSpecMultiDiskArgs) ToClusterResourceSpecMasterResourceSpecMultiDiskOutput() ClusterResourceSpecMasterResourceSpecMultiDiskOutput { + return i.ToClusterResourceSpecMasterResourceSpecMultiDiskOutputWithContext(context.Background()) +} + +func (i ClusterResourceSpecMasterResourceSpecMultiDiskArgs) ToClusterResourceSpecMasterResourceSpecMultiDiskOutputWithContext(ctx context.Context) ClusterResourceSpecMasterResourceSpecMultiDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterResourceSpecMasterResourceSpecMultiDiskOutput) +} + +// ClusterResourceSpecMasterResourceSpecMultiDiskArrayInput is an input type that accepts ClusterResourceSpecMasterResourceSpecMultiDiskArray and ClusterResourceSpecMasterResourceSpecMultiDiskArrayOutput values. +// You can construct a concrete instance of `ClusterResourceSpecMasterResourceSpecMultiDiskArrayInput` via: +// +// ClusterResourceSpecMasterResourceSpecMultiDiskArray{ ClusterResourceSpecMasterResourceSpecMultiDiskArgs{...} } +type ClusterResourceSpecMasterResourceSpecMultiDiskArrayInput interface { + pulumi.Input + + ToClusterResourceSpecMasterResourceSpecMultiDiskArrayOutput() ClusterResourceSpecMasterResourceSpecMultiDiskArrayOutput + ToClusterResourceSpecMasterResourceSpecMultiDiskArrayOutputWithContext(context.Context) ClusterResourceSpecMasterResourceSpecMultiDiskArrayOutput +} + +type ClusterResourceSpecMasterResourceSpecMultiDiskArray []ClusterResourceSpecMasterResourceSpecMultiDiskInput + +func (ClusterResourceSpecMasterResourceSpecMultiDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterResourceSpecMasterResourceSpecMultiDisk)(nil)).Elem() +} + +func (i ClusterResourceSpecMasterResourceSpecMultiDiskArray) ToClusterResourceSpecMasterResourceSpecMultiDiskArrayOutput() ClusterResourceSpecMasterResourceSpecMultiDiskArrayOutput { + return i.ToClusterResourceSpecMasterResourceSpecMultiDiskArrayOutputWithContext(context.Background()) +} + +func (i ClusterResourceSpecMasterResourceSpecMultiDiskArray) ToClusterResourceSpecMasterResourceSpecMultiDiskArrayOutputWithContext(ctx context.Context) ClusterResourceSpecMasterResourceSpecMultiDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterResourceSpecMasterResourceSpecMultiDiskArrayOutput) +} + +type ClusterResourceSpecMasterResourceSpecMultiDiskOutput struct{ *pulumi.OutputState } + +func (ClusterResourceSpecMasterResourceSpecMultiDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterResourceSpecMasterResourceSpecMultiDisk)(nil)).Elem() +} + +func (o ClusterResourceSpecMasterResourceSpecMultiDiskOutput) ToClusterResourceSpecMasterResourceSpecMultiDiskOutput() ClusterResourceSpecMasterResourceSpecMultiDiskOutput { + return o +} + +func (o ClusterResourceSpecMasterResourceSpecMultiDiskOutput) ToClusterResourceSpecMasterResourceSpecMultiDiskOutputWithContext(ctx context.Context) ClusterResourceSpecMasterResourceSpecMultiDiskOutput { + return o +} + +// Number of cloud disks of this type. +func (o ClusterResourceSpecMasterResourceSpecMultiDiskOutput) Count() pulumi.IntPtrOutput { + return o.ApplyT(func(v ClusterResourceSpecMasterResourceSpecMultiDisk) *int { return v.Count }).(pulumi.IntPtrOutput) +} + +// Cloud disk type +// - CLOUD_SSD: Represents cloud SSD; +// - CLOUD_PREMIUM: Represents efficient cloud disk; +// - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. +func (o ClusterResourceSpecMasterResourceSpecMultiDiskOutput) DiskType() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterResourceSpecMasterResourceSpecMultiDisk) *string { return v.DiskType }).(pulumi.StringPtrOutput) +} + +// Cloud disk size. +func (o ClusterResourceSpecMasterResourceSpecMultiDiskOutput) Volume() pulumi.IntPtrOutput { + return o.ApplyT(func(v ClusterResourceSpecMasterResourceSpecMultiDisk) *int { return v.Volume }).(pulumi.IntPtrOutput) +} + +type ClusterResourceSpecMasterResourceSpecMultiDiskArrayOutput struct{ *pulumi.OutputState } + +func (ClusterResourceSpecMasterResourceSpecMultiDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterResourceSpecMasterResourceSpecMultiDisk)(nil)).Elem() +} + +func (o ClusterResourceSpecMasterResourceSpecMultiDiskArrayOutput) ToClusterResourceSpecMasterResourceSpecMultiDiskArrayOutput() ClusterResourceSpecMasterResourceSpecMultiDiskArrayOutput { + return o +} + +func (o ClusterResourceSpecMasterResourceSpecMultiDiskArrayOutput) ToClusterResourceSpecMasterResourceSpecMultiDiskArrayOutputWithContext(ctx context.Context) ClusterResourceSpecMasterResourceSpecMultiDiskArrayOutput { + return o +} + +func (o ClusterResourceSpecMasterResourceSpecMultiDiskArrayOutput) Index(i pulumi.IntInput) ClusterResourceSpecMasterResourceSpecMultiDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ClusterResourceSpecMasterResourceSpecMultiDisk { + return vs[0].([]ClusterResourceSpecMasterResourceSpecMultiDisk)[vs[1].(int)] + }).(ClusterResourceSpecMasterResourceSpecMultiDiskOutput) +} + type ClusterResourceSpecTaskResourceSpec struct { - Cpu *int `pulumi:"cpu"` - DiskSize *int `pulumi:"diskSize"` - DiskType *string `pulumi:"diskType"` - MemSize *int `pulumi:"memSize"` - RootSize *int `pulumi:"rootSize"` - Spec *string `pulumi:"spec"` - StorageType *int `pulumi:"storageType"` + // Number of CPU cores. + Cpu *int `pulumi:"cpu"` + // Data disk capacity. + DiskSize *int `pulumi:"diskSize"` + // disk types. Value range: + // - CLOUD_SSD: Represents cloud SSD; + // - CLOUD_PREMIUM: Represents efficient cloud disk; + // - CLOUD_BASIC: Represents Cloud Block Storage. + DiskType *string `pulumi:"diskType"` + // Memory size in M. + MemSize *int `pulumi:"memSize"` + // Cloud disk list. When the data disk is a cloud disk, use diskType and diskSize parameters directly, and use multiDisks for excess parts. + MultiDisks []ClusterResourceSpecTaskResourceSpecMultiDisk `pulumi:"multiDisks"` + // Root disk capacity. + RootSize *int `pulumi:"rootSize"` + // Node specification description, such as CVM.SA2. + Spec *string `pulumi:"spec"` + // Storage type. Value range: + // - 4: Represents cloud SSD; + // - 5: Represents efficient cloud disk; + // - 6: Represents enhanced SSD Cloud Block Storage; + // - 11: Represents throughput Cloud Block Storage; + // - 12: Represents extremely fast SSD Cloud Block Storage. + StorageType *int `pulumi:"storageType"` } // ClusterResourceSpecTaskResourceSpecInput is an input type that accepts ClusterResourceSpecTaskResourceSpecArgs and ClusterResourceSpecTaskResourceSpecOutput values. @@ -1114,13 +1922,30 @@ type ClusterResourceSpecTaskResourceSpecInput interface { } type ClusterResourceSpecTaskResourceSpecArgs struct { - Cpu pulumi.IntPtrInput `pulumi:"cpu"` - DiskSize pulumi.IntPtrInput `pulumi:"diskSize"` - DiskType pulumi.StringPtrInput `pulumi:"diskType"` - MemSize pulumi.IntPtrInput `pulumi:"memSize"` - RootSize pulumi.IntPtrInput `pulumi:"rootSize"` - Spec pulumi.StringPtrInput `pulumi:"spec"` - StorageType pulumi.IntPtrInput `pulumi:"storageType"` + // Number of CPU cores. + Cpu pulumi.IntPtrInput `pulumi:"cpu"` + // Data disk capacity. + DiskSize pulumi.IntPtrInput `pulumi:"diskSize"` + // disk types. Value range: + // - CLOUD_SSD: Represents cloud SSD; + // - CLOUD_PREMIUM: Represents efficient cloud disk; + // - CLOUD_BASIC: Represents Cloud Block Storage. + DiskType pulumi.StringPtrInput `pulumi:"diskType"` + // Memory size in M. + MemSize pulumi.IntPtrInput `pulumi:"memSize"` + // Cloud disk list. When the data disk is a cloud disk, use diskType and diskSize parameters directly, and use multiDisks for excess parts. + MultiDisks ClusterResourceSpecTaskResourceSpecMultiDiskArrayInput `pulumi:"multiDisks"` + // Root disk capacity. + RootSize pulumi.IntPtrInput `pulumi:"rootSize"` + // Node specification description, such as CVM.SA2. + Spec pulumi.StringPtrInput `pulumi:"spec"` + // Storage type. Value range: + // - 4: Represents cloud SSD; + // - 5: Represents efficient cloud disk; + // - 6: Represents enhanced SSD Cloud Block Storage; + // - 11: Represents throughput Cloud Block Storage; + // - 12: Represents extremely fast SSD Cloud Block Storage. + StorageType pulumi.IntPtrInput `pulumi:"storageType"` } func (ClusterResourceSpecTaskResourceSpecArgs) ElementType() reflect.Type { @@ -1200,30 +2025,52 @@ func (o ClusterResourceSpecTaskResourceSpecOutput) ToClusterResourceSpecTaskReso }).(ClusterResourceSpecTaskResourceSpecPtrOutput) } +// Number of CPU cores. func (o ClusterResourceSpecTaskResourceSpecOutput) Cpu() pulumi.IntPtrOutput { return o.ApplyT(func(v ClusterResourceSpecTaskResourceSpec) *int { return v.Cpu }).(pulumi.IntPtrOutput) } +// Data disk capacity. func (o ClusterResourceSpecTaskResourceSpecOutput) DiskSize() pulumi.IntPtrOutput { return o.ApplyT(func(v ClusterResourceSpecTaskResourceSpec) *int { return v.DiskSize }).(pulumi.IntPtrOutput) } +// disk types. Value range: +// - CLOUD_SSD: Represents cloud SSD; +// - CLOUD_PREMIUM: Represents efficient cloud disk; +// - CLOUD_BASIC: Represents Cloud Block Storage. func (o ClusterResourceSpecTaskResourceSpecOutput) DiskType() pulumi.StringPtrOutput { return o.ApplyT(func(v ClusterResourceSpecTaskResourceSpec) *string { return v.DiskType }).(pulumi.StringPtrOutput) } +// Memory size in M. func (o ClusterResourceSpecTaskResourceSpecOutput) MemSize() pulumi.IntPtrOutput { return o.ApplyT(func(v ClusterResourceSpecTaskResourceSpec) *int { return v.MemSize }).(pulumi.IntPtrOutput) } +// Cloud disk list. When the data disk is a cloud disk, use diskType and diskSize parameters directly, and use multiDisks for excess parts. +func (o ClusterResourceSpecTaskResourceSpecOutput) MultiDisks() ClusterResourceSpecTaskResourceSpecMultiDiskArrayOutput { + return o.ApplyT(func(v ClusterResourceSpecTaskResourceSpec) []ClusterResourceSpecTaskResourceSpecMultiDisk { + return v.MultiDisks + }).(ClusterResourceSpecTaskResourceSpecMultiDiskArrayOutput) +} + +// Root disk capacity. func (o ClusterResourceSpecTaskResourceSpecOutput) RootSize() pulumi.IntPtrOutput { return o.ApplyT(func(v ClusterResourceSpecTaskResourceSpec) *int { return v.RootSize }).(pulumi.IntPtrOutput) } +// Node specification description, such as CVM.SA2. func (o ClusterResourceSpecTaskResourceSpecOutput) Spec() pulumi.StringPtrOutput { return o.ApplyT(func(v ClusterResourceSpecTaskResourceSpec) *string { return v.Spec }).(pulumi.StringPtrOutput) } +// Storage type. Value range: +// - 4: Represents cloud SSD; +// - 5: Represents efficient cloud disk; +// - 6: Represents enhanced SSD Cloud Block Storage; +// - 11: Represents throughput Cloud Block Storage; +// - 12: Represents extremely fast SSD Cloud Block Storage. func (o ClusterResourceSpecTaskResourceSpecOutput) StorageType() pulumi.IntPtrOutput { return o.ApplyT(func(v ClusterResourceSpecTaskResourceSpec) *int { return v.StorageType }).(pulumi.IntPtrOutput) } @@ -1252,6 +2099,7 @@ func (o ClusterResourceSpecTaskResourceSpecPtrOutput) Elem() ClusterResourceSpec }).(ClusterResourceSpecTaskResourceSpecOutput) } +// Number of CPU cores. func (o ClusterResourceSpecTaskResourceSpecPtrOutput) Cpu() pulumi.IntPtrOutput { return o.ApplyT(func(v *ClusterResourceSpecTaskResourceSpec) *int { if v == nil { @@ -1261,6 +2109,7 @@ func (o ClusterResourceSpecTaskResourceSpecPtrOutput) Cpu() pulumi.IntPtrOutput }).(pulumi.IntPtrOutput) } +// Data disk capacity. func (o ClusterResourceSpecTaskResourceSpecPtrOutput) DiskSize() pulumi.IntPtrOutput { return o.ApplyT(func(v *ClusterResourceSpecTaskResourceSpec) *int { if v == nil { @@ -1270,6 +2119,10 @@ func (o ClusterResourceSpecTaskResourceSpecPtrOutput) DiskSize() pulumi.IntPtrOu }).(pulumi.IntPtrOutput) } +// disk types. Value range: +// - CLOUD_SSD: Represents cloud SSD; +// - CLOUD_PREMIUM: Represents efficient cloud disk; +// - CLOUD_BASIC: Represents Cloud Block Storage. func (o ClusterResourceSpecTaskResourceSpecPtrOutput) DiskType() pulumi.StringPtrOutput { return o.ApplyT(func(v *ClusterResourceSpecTaskResourceSpec) *string { if v == nil { @@ -1279,6 +2132,7 @@ func (o ClusterResourceSpecTaskResourceSpecPtrOutput) DiskType() pulumi.StringPt }).(pulumi.StringPtrOutput) } +// Memory size in M. func (o ClusterResourceSpecTaskResourceSpecPtrOutput) MemSize() pulumi.IntPtrOutput { return o.ApplyT(func(v *ClusterResourceSpecTaskResourceSpec) *int { if v == nil { @@ -1288,6 +2142,17 @@ func (o ClusterResourceSpecTaskResourceSpecPtrOutput) MemSize() pulumi.IntPtrOut }).(pulumi.IntPtrOutput) } +// Cloud disk list. When the data disk is a cloud disk, use diskType and diskSize parameters directly, and use multiDisks for excess parts. +func (o ClusterResourceSpecTaskResourceSpecPtrOutput) MultiDisks() ClusterResourceSpecTaskResourceSpecMultiDiskArrayOutput { + return o.ApplyT(func(v *ClusterResourceSpecTaskResourceSpec) []ClusterResourceSpecTaskResourceSpecMultiDisk { + if v == nil { + return nil + } + return v.MultiDisks + }).(ClusterResourceSpecTaskResourceSpecMultiDiskArrayOutput) +} + +// Root disk capacity. func (o ClusterResourceSpecTaskResourceSpecPtrOutput) RootSize() pulumi.IntPtrOutput { return o.ApplyT(func(v *ClusterResourceSpecTaskResourceSpec) *int { if v == nil { @@ -1297,6 +2162,7 @@ func (o ClusterResourceSpecTaskResourceSpecPtrOutput) RootSize() pulumi.IntPtrOu }).(pulumi.IntPtrOutput) } +// Node specification description, such as CVM.SA2. func (o ClusterResourceSpecTaskResourceSpecPtrOutput) Spec() pulumi.StringPtrOutput { return o.ApplyT(func(v *ClusterResourceSpecTaskResourceSpec) *string { if v == nil { @@ -1306,6 +2172,12 @@ func (o ClusterResourceSpecTaskResourceSpecPtrOutput) Spec() pulumi.StringPtrOut }).(pulumi.StringPtrOutput) } +// Storage type. Value range: +// - 4: Represents cloud SSD; +// - 5: Represents efficient cloud disk; +// - 6: Represents enhanced SSD Cloud Block Storage; +// - 11: Represents throughput Cloud Block Storage; +// - 12: Represents extremely fast SSD Cloud Block Storage. func (o ClusterResourceSpecTaskResourceSpecPtrOutput) StorageType() pulumi.IntPtrOutput { return o.ApplyT(func(v *ClusterResourceSpecTaskResourceSpec) *int { if v == nil { @@ -1315,6 +2187,236 @@ func (o ClusterResourceSpecTaskResourceSpecPtrOutput) StorageType() pulumi.IntPt }).(pulumi.IntPtrOutput) } +type ClusterResourceSpecTaskResourceSpecMultiDisk struct { + // Number of cloud disks of this type. + Count *int `pulumi:"count"` + // Cloud disk type + // - CLOUD_SSD: Represents cloud SSD; + // - CLOUD_PREMIUM: Represents efficient cloud disk; + // - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + DiskType *string `pulumi:"diskType"` + // Cloud disk size. + Volume *int `pulumi:"volume"` +} + +// ClusterResourceSpecTaskResourceSpecMultiDiskInput is an input type that accepts ClusterResourceSpecTaskResourceSpecMultiDiskArgs and ClusterResourceSpecTaskResourceSpecMultiDiskOutput values. +// You can construct a concrete instance of `ClusterResourceSpecTaskResourceSpecMultiDiskInput` via: +// +// ClusterResourceSpecTaskResourceSpecMultiDiskArgs{...} +type ClusterResourceSpecTaskResourceSpecMultiDiskInput interface { + pulumi.Input + + ToClusterResourceSpecTaskResourceSpecMultiDiskOutput() ClusterResourceSpecTaskResourceSpecMultiDiskOutput + ToClusterResourceSpecTaskResourceSpecMultiDiskOutputWithContext(context.Context) ClusterResourceSpecTaskResourceSpecMultiDiskOutput +} + +type ClusterResourceSpecTaskResourceSpecMultiDiskArgs struct { + // Number of cloud disks of this type. + Count pulumi.IntPtrInput `pulumi:"count"` + // Cloud disk type + // - CLOUD_SSD: Represents cloud SSD; + // - CLOUD_PREMIUM: Represents efficient cloud disk; + // - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + DiskType pulumi.StringPtrInput `pulumi:"diskType"` + // Cloud disk size. + Volume pulumi.IntPtrInput `pulumi:"volume"` +} + +func (ClusterResourceSpecTaskResourceSpecMultiDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterResourceSpecTaskResourceSpecMultiDisk)(nil)).Elem() +} + +func (i ClusterResourceSpecTaskResourceSpecMultiDiskArgs) ToClusterResourceSpecTaskResourceSpecMultiDiskOutput() ClusterResourceSpecTaskResourceSpecMultiDiskOutput { + return i.ToClusterResourceSpecTaskResourceSpecMultiDiskOutputWithContext(context.Background()) +} + +func (i ClusterResourceSpecTaskResourceSpecMultiDiskArgs) ToClusterResourceSpecTaskResourceSpecMultiDiskOutputWithContext(ctx context.Context) ClusterResourceSpecTaskResourceSpecMultiDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterResourceSpecTaskResourceSpecMultiDiskOutput) +} + +// ClusterResourceSpecTaskResourceSpecMultiDiskArrayInput is an input type that accepts ClusterResourceSpecTaskResourceSpecMultiDiskArray and ClusterResourceSpecTaskResourceSpecMultiDiskArrayOutput values. +// You can construct a concrete instance of `ClusterResourceSpecTaskResourceSpecMultiDiskArrayInput` via: +// +// ClusterResourceSpecTaskResourceSpecMultiDiskArray{ ClusterResourceSpecTaskResourceSpecMultiDiskArgs{...} } +type ClusterResourceSpecTaskResourceSpecMultiDiskArrayInput interface { + pulumi.Input + + ToClusterResourceSpecTaskResourceSpecMultiDiskArrayOutput() ClusterResourceSpecTaskResourceSpecMultiDiskArrayOutput + ToClusterResourceSpecTaskResourceSpecMultiDiskArrayOutputWithContext(context.Context) ClusterResourceSpecTaskResourceSpecMultiDiskArrayOutput +} + +type ClusterResourceSpecTaskResourceSpecMultiDiskArray []ClusterResourceSpecTaskResourceSpecMultiDiskInput + +func (ClusterResourceSpecTaskResourceSpecMultiDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterResourceSpecTaskResourceSpecMultiDisk)(nil)).Elem() +} + +func (i ClusterResourceSpecTaskResourceSpecMultiDiskArray) ToClusterResourceSpecTaskResourceSpecMultiDiskArrayOutput() ClusterResourceSpecTaskResourceSpecMultiDiskArrayOutput { + return i.ToClusterResourceSpecTaskResourceSpecMultiDiskArrayOutputWithContext(context.Background()) +} + +func (i ClusterResourceSpecTaskResourceSpecMultiDiskArray) ToClusterResourceSpecTaskResourceSpecMultiDiskArrayOutputWithContext(ctx context.Context) ClusterResourceSpecTaskResourceSpecMultiDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterResourceSpecTaskResourceSpecMultiDiskArrayOutput) +} + +type ClusterResourceSpecTaskResourceSpecMultiDiskOutput struct{ *pulumi.OutputState } + +func (ClusterResourceSpecTaskResourceSpecMultiDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterResourceSpecTaskResourceSpecMultiDisk)(nil)).Elem() +} + +func (o ClusterResourceSpecTaskResourceSpecMultiDiskOutput) ToClusterResourceSpecTaskResourceSpecMultiDiskOutput() ClusterResourceSpecTaskResourceSpecMultiDiskOutput { + return o +} + +func (o ClusterResourceSpecTaskResourceSpecMultiDiskOutput) ToClusterResourceSpecTaskResourceSpecMultiDiskOutputWithContext(ctx context.Context) ClusterResourceSpecTaskResourceSpecMultiDiskOutput { + return o +} + +// Number of cloud disks of this type. +func (o ClusterResourceSpecTaskResourceSpecMultiDiskOutput) Count() pulumi.IntPtrOutput { + return o.ApplyT(func(v ClusterResourceSpecTaskResourceSpecMultiDisk) *int { return v.Count }).(pulumi.IntPtrOutput) +} + +// Cloud disk type +// - CLOUD_SSD: Represents cloud SSD; +// - CLOUD_PREMIUM: Represents efficient cloud disk; +// - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. +func (o ClusterResourceSpecTaskResourceSpecMultiDiskOutput) DiskType() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterResourceSpecTaskResourceSpecMultiDisk) *string { return v.DiskType }).(pulumi.StringPtrOutput) +} + +// Cloud disk size. +func (o ClusterResourceSpecTaskResourceSpecMultiDiskOutput) Volume() pulumi.IntPtrOutput { + return o.ApplyT(func(v ClusterResourceSpecTaskResourceSpecMultiDisk) *int { return v.Volume }).(pulumi.IntPtrOutput) +} + +type ClusterResourceSpecTaskResourceSpecMultiDiskArrayOutput struct{ *pulumi.OutputState } + +func (ClusterResourceSpecTaskResourceSpecMultiDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterResourceSpecTaskResourceSpecMultiDisk)(nil)).Elem() +} + +func (o ClusterResourceSpecTaskResourceSpecMultiDiskArrayOutput) ToClusterResourceSpecTaskResourceSpecMultiDiskArrayOutput() ClusterResourceSpecTaskResourceSpecMultiDiskArrayOutput { + return o +} + +func (o ClusterResourceSpecTaskResourceSpecMultiDiskArrayOutput) ToClusterResourceSpecTaskResourceSpecMultiDiskArrayOutputWithContext(ctx context.Context) ClusterResourceSpecTaskResourceSpecMultiDiskArrayOutput { + return o +} + +func (o ClusterResourceSpecTaskResourceSpecMultiDiskArrayOutput) Index(i pulumi.IntInput) ClusterResourceSpecTaskResourceSpecMultiDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ClusterResourceSpecTaskResourceSpecMultiDisk { + return vs[0].([]ClusterResourceSpecTaskResourceSpecMultiDisk)[vs[1].(int)] + }).(ClusterResourceSpecTaskResourceSpecMultiDiskOutput) +} + +type ClusterTerminateNodeInfo struct { + // Destroy resource list. + CvmInstanceIds []string `pulumi:"cvmInstanceIds"` + // Value range of destruction node type: `MASTER`, `TASK`, `CORE`, `ROUTER`. + NodeFlag *string `pulumi:"nodeFlag"` +} + +// ClusterTerminateNodeInfoInput is an input type that accepts ClusterTerminateNodeInfoArgs and ClusterTerminateNodeInfoOutput values. +// You can construct a concrete instance of `ClusterTerminateNodeInfoInput` via: +// +// ClusterTerminateNodeInfoArgs{...} +type ClusterTerminateNodeInfoInput interface { + pulumi.Input + + ToClusterTerminateNodeInfoOutput() ClusterTerminateNodeInfoOutput + ToClusterTerminateNodeInfoOutputWithContext(context.Context) ClusterTerminateNodeInfoOutput +} + +type ClusterTerminateNodeInfoArgs struct { + // Destroy resource list. + CvmInstanceIds pulumi.StringArrayInput `pulumi:"cvmInstanceIds"` + // Value range of destruction node type: `MASTER`, `TASK`, `CORE`, `ROUTER`. + NodeFlag pulumi.StringPtrInput `pulumi:"nodeFlag"` +} + +func (ClusterTerminateNodeInfoArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterTerminateNodeInfo)(nil)).Elem() +} + +func (i ClusterTerminateNodeInfoArgs) ToClusterTerminateNodeInfoOutput() ClusterTerminateNodeInfoOutput { + return i.ToClusterTerminateNodeInfoOutputWithContext(context.Background()) +} + +func (i ClusterTerminateNodeInfoArgs) ToClusterTerminateNodeInfoOutputWithContext(ctx context.Context) ClusterTerminateNodeInfoOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterTerminateNodeInfoOutput) +} + +// ClusterTerminateNodeInfoArrayInput is an input type that accepts ClusterTerminateNodeInfoArray and ClusterTerminateNodeInfoArrayOutput values. +// You can construct a concrete instance of `ClusterTerminateNodeInfoArrayInput` via: +// +// ClusterTerminateNodeInfoArray{ ClusterTerminateNodeInfoArgs{...} } +type ClusterTerminateNodeInfoArrayInput interface { + pulumi.Input + + ToClusterTerminateNodeInfoArrayOutput() ClusterTerminateNodeInfoArrayOutput + ToClusterTerminateNodeInfoArrayOutputWithContext(context.Context) ClusterTerminateNodeInfoArrayOutput +} + +type ClusterTerminateNodeInfoArray []ClusterTerminateNodeInfoInput + +func (ClusterTerminateNodeInfoArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterTerminateNodeInfo)(nil)).Elem() +} + +func (i ClusterTerminateNodeInfoArray) ToClusterTerminateNodeInfoArrayOutput() ClusterTerminateNodeInfoArrayOutput { + return i.ToClusterTerminateNodeInfoArrayOutputWithContext(context.Background()) +} + +func (i ClusterTerminateNodeInfoArray) ToClusterTerminateNodeInfoArrayOutputWithContext(ctx context.Context) ClusterTerminateNodeInfoArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterTerminateNodeInfoArrayOutput) +} + +type ClusterTerminateNodeInfoOutput struct{ *pulumi.OutputState } + +func (ClusterTerminateNodeInfoOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterTerminateNodeInfo)(nil)).Elem() +} + +func (o ClusterTerminateNodeInfoOutput) ToClusterTerminateNodeInfoOutput() ClusterTerminateNodeInfoOutput { + return o +} + +func (o ClusterTerminateNodeInfoOutput) ToClusterTerminateNodeInfoOutputWithContext(ctx context.Context) ClusterTerminateNodeInfoOutput { + return o +} + +// Destroy resource list. +func (o ClusterTerminateNodeInfoOutput) CvmInstanceIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v ClusterTerminateNodeInfo) []string { return v.CvmInstanceIds }).(pulumi.StringArrayOutput) +} + +// Value range of destruction node type: `MASTER`, `TASK`, `CORE`, `ROUTER`. +func (o ClusterTerminateNodeInfoOutput) NodeFlag() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterTerminateNodeInfo) *string { return v.NodeFlag }).(pulumi.StringPtrOutput) +} + +type ClusterTerminateNodeInfoArrayOutput struct{ *pulumi.OutputState } + +func (ClusterTerminateNodeInfoArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterTerminateNodeInfo)(nil)).Elem() +} + +func (o ClusterTerminateNodeInfoArrayOutput) ToClusterTerminateNodeInfoArrayOutput() ClusterTerminateNodeInfoArrayOutput { + return o +} + +func (o ClusterTerminateNodeInfoArrayOutput) ToClusterTerminateNodeInfoArrayOutputWithContext(ctx context.Context) ClusterTerminateNodeInfoArrayOutput { + return o +} + +func (o ClusterTerminateNodeInfoArrayOutput) Index(i pulumi.IntInput) ClusterTerminateNodeInfoOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ClusterTerminateNodeInfo { + return vs[0].([]ClusterTerminateNodeInfo)[vs[1].(int)] + }).(ClusterTerminateNodeInfoOutput) +} + type GetAutoScaleRecordsFilter struct { // Key. Note: This field may return null, indicating that no valid value can be obtained. Key string `pulumi:"key"` @@ -3071,16 +4173,28 @@ func (o GetNodesNodeTagArrayOutput) Index(i pulumi.IntInput) GetNodesNodeTagOutp func init() { pulumi.RegisterInputType(reflect.TypeOf((*ClusterPlacementInfoInput)(nil)).Elem(), ClusterPlacementInfoArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterPlacementInfoPtrInput)(nil)).Elem(), ClusterPlacementInfoArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterPreExecutedFileSettingInput)(nil)).Elem(), ClusterPreExecutedFileSettingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterPreExecutedFileSettingArrayInput)(nil)).Elem(), ClusterPreExecutedFileSettingArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterResourceSpecInput)(nil)).Elem(), ClusterResourceSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterResourceSpecPtrInput)(nil)).Elem(), ClusterResourceSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterResourceSpecCommonResourceSpecInput)(nil)).Elem(), ClusterResourceSpecCommonResourceSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterResourceSpecCommonResourceSpecPtrInput)(nil)).Elem(), ClusterResourceSpecCommonResourceSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterResourceSpecCommonResourceSpecMultiDiskInput)(nil)).Elem(), ClusterResourceSpecCommonResourceSpecMultiDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterResourceSpecCommonResourceSpecMultiDiskArrayInput)(nil)).Elem(), ClusterResourceSpecCommonResourceSpecMultiDiskArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterResourceSpecCoreResourceSpecInput)(nil)).Elem(), ClusterResourceSpecCoreResourceSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterResourceSpecCoreResourceSpecPtrInput)(nil)).Elem(), ClusterResourceSpecCoreResourceSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterResourceSpecCoreResourceSpecMultiDiskInput)(nil)).Elem(), ClusterResourceSpecCoreResourceSpecMultiDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterResourceSpecCoreResourceSpecMultiDiskArrayInput)(nil)).Elem(), ClusterResourceSpecCoreResourceSpecMultiDiskArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterResourceSpecMasterResourceSpecInput)(nil)).Elem(), ClusterResourceSpecMasterResourceSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterResourceSpecMasterResourceSpecPtrInput)(nil)).Elem(), ClusterResourceSpecMasterResourceSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterResourceSpecMasterResourceSpecMultiDiskInput)(nil)).Elem(), ClusterResourceSpecMasterResourceSpecMultiDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterResourceSpecMasterResourceSpecMultiDiskArrayInput)(nil)).Elem(), ClusterResourceSpecMasterResourceSpecMultiDiskArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterResourceSpecTaskResourceSpecInput)(nil)).Elem(), ClusterResourceSpecTaskResourceSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterResourceSpecTaskResourceSpecPtrInput)(nil)).Elem(), ClusterResourceSpecTaskResourceSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterResourceSpecTaskResourceSpecMultiDiskInput)(nil)).Elem(), ClusterResourceSpecTaskResourceSpecMultiDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterResourceSpecTaskResourceSpecMultiDiskArrayInput)(nil)).Elem(), ClusterResourceSpecTaskResourceSpecMultiDiskArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterTerminateNodeInfoInput)(nil)).Elem(), ClusterTerminateNodeInfoArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterTerminateNodeInfoArrayInput)(nil)).Elem(), ClusterTerminateNodeInfoArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAutoScaleRecordsFilterInput)(nil)).Elem(), GetAutoScaleRecordsFilterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAutoScaleRecordsFilterArrayInput)(nil)).Elem(), GetAutoScaleRecordsFilterArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAutoScaleRecordsRecordListInput)(nil)).Elem(), GetAutoScaleRecordsRecordListArgs{}) @@ -3103,16 +4217,28 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetNodesNodeTagArrayInput)(nil)).Elem(), GetNodesNodeTagArray{}) pulumi.RegisterOutputType(ClusterPlacementInfoOutput{}) pulumi.RegisterOutputType(ClusterPlacementInfoPtrOutput{}) + pulumi.RegisterOutputType(ClusterPreExecutedFileSettingOutput{}) + pulumi.RegisterOutputType(ClusterPreExecutedFileSettingArrayOutput{}) pulumi.RegisterOutputType(ClusterResourceSpecOutput{}) pulumi.RegisterOutputType(ClusterResourceSpecPtrOutput{}) pulumi.RegisterOutputType(ClusterResourceSpecCommonResourceSpecOutput{}) pulumi.RegisterOutputType(ClusterResourceSpecCommonResourceSpecPtrOutput{}) + pulumi.RegisterOutputType(ClusterResourceSpecCommonResourceSpecMultiDiskOutput{}) + pulumi.RegisterOutputType(ClusterResourceSpecCommonResourceSpecMultiDiskArrayOutput{}) pulumi.RegisterOutputType(ClusterResourceSpecCoreResourceSpecOutput{}) pulumi.RegisterOutputType(ClusterResourceSpecCoreResourceSpecPtrOutput{}) + pulumi.RegisterOutputType(ClusterResourceSpecCoreResourceSpecMultiDiskOutput{}) + pulumi.RegisterOutputType(ClusterResourceSpecCoreResourceSpecMultiDiskArrayOutput{}) pulumi.RegisterOutputType(ClusterResourceSpecMasterResourceSpecOutput{}) pulumi.RegisterOutputType(ClusterResourceSpecMasterResourceSpecPtrOutput{}) + pulumi.RegisterOutputType(ClusterResourceSpecMasterResourceSpecMultiDiskOutput{}) + pulumi.RegisterOutputType(ClusterResourceSpecMasterResourceSpecMultiDiskArrayOutput{}) pulumi.RegisterOutputType(ClusterResourceSpecTaskResourceSpecOutput{}) pulumi.RegisterOutputType(ClusterResourceSpecTaskResourceSpecPtrOutput{}) + pulumi.RegisterOutputType(ClusterResourceSpecTaskResourceSpecMultiDiskOutput{}) + pulumi.RegisterOutputType(ClusterResourceSpecTaskResourceSpecMultiDiskArrayOutput{}) + pulumi.RegisterOutputType(ClusterTerminateNodeInfoOutput{}) + pulumi.RegisterOutputType(ClusterTerminateNodeInfoArrayOutput{}) pulumi.RegisterOutputType(GetAutoScaleRecordsFilterOutput{}) pulumi.RegisterOutputType(GetAutoScaleRecordsFilterArrayOutput{}) pulumi.RegisterOutputType(GetAutoScaleRecordsRecordListOutput{}) 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/getInstance.go b/sdk/go/tencentcloud/enis/getInstance.go index 91999ecd7..1e83f9e50 100644 --- a/sdk/go/tencentcloud/enis/getInstance.go +++ b/sdk/go/tencentcloud/enis/getInstance.go @@ -76,7 +76,7 @@ type GetInstanceArgs struct { // A collection of values returned by getInstance. type GetInstanceResult struct { - // Description of the IP. + // Message description. Description *string `pulumi:"description"` // An information list of ENIs. Each element contains the following attributes: Enis []GetInstanceEni `pulumi:"enis"` @@ -154,7 +154,7 @@ func (o GetInstanceResultOutput) ToGetInstanceResultOutputWithContext(ctx contex return o } -// Description of the IP. +// Message description. func (o GetInstanceResultOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v GetInstanceResult) *string { return v.Description }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/tencentcloud/enis/pulumiTypes.go b/sdk/go/tencentcloud/enis/pulumiTypes.go index 05493ba90..bf1b5787f 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`. @@ -24,6 +26,8 @@ type GetInstanceEni struct { InstanceId string `pulumi:"instanceId"` // A set of intranet IPv4s. Ipv4s []GetInstanceEniIpv4 `pulumi:"ipv4s"` + // A set of intranet IPv6s. + Ipv6s []GetInstanceEniIpv6 `pulumi:"ipv6s"` // MAC address. Mac string `pulumi:"mac"` // Name of the ENI to be queried. Conflict with `ids`. @@ -54,6 +58,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`. @@ -64,6 +70,8 @@ type GetInstanceEniArgs struct { InstanceId pulumi.StringInput `pulumi:"instanceId"` // A set of intranet IPv4s. Ipv4s GetInstanceEniIpv4ArrayInput `pulumi:"ipv4s"` + // A set of intranet IPv6s. + Ipv6s GetInstanceEniIpv6ArrayInput `pulumi:"ipv6s"` // MAC address. Mac pulumi.StringInput `pulumi:"mac"` // Name of the ENI to be queried. Conflict with `ids`. @@ -133,6 +141,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) @@ -158,6 +171,11 @@ func (o GetInstanceEniOutput) Ipv4s() GetInstanceEniIpv4ArrayOutput { return o.ApplyT(func(v GetInstanceEni) []GetInstanceEniIpv4 { return v.Ipv4s }).(GetInstanceEniIpv4ArrayOutput) } +// A set of intranet IPv6s. +func (o GetInstanceEniOutput) Ipv6s() GetInstanceEniIpv6ArrayOutput { + return o.ApplyT(func(v GetInstanceEni) []GetInstanceEniIpv6 { return v.Ipv6s }).(GetInstanceEniIpv6ArrayOutput) +} + // MAC address. func (o GetInstanceEniOutput) Mac() pulumi.StringOutput { return o.ApplyT(func(v GetInstanceEni) string { return v.Mac }).(pulumi.StringOutput) @@ -333,13 +351,150 @@ func (o GetInstanceEniIpv4ArrayOutput) Index(i pulumi.IntInput) GetInstanceEniIp }).(GetInstanceEniIpv4Output) } +type GetInstanceEniIpv6 struct { + // `IPv6` address, such as `3402:4e00:20:100:0:8cd9:2a67:71f3`. + Address string `pulumi:"address"` + // The `ID` of the `EIP` instance, such as `eip-hxlqja90`. + AddressId string `pulumi:"addressId"` + // Description of the ENI. Conflict with `ids`. + Description string `pulumi:"description"` + // Whether the public IP is blocked. + IsWanIpBlocked bool `pulumi:"isWanIpBlocked"` + // Indicates whether the IP is primary. + Primary bool `pulumi:"primary"` +} + +// GetInstanceEniIpv6Input is an input type that accepts GetInstanceEniIpv6Args and GetInstanceEniIpv6Output values. +// You can construct a concrete instance of `GetInstanceEniIpv6Input` via: +// +// GetInstanceEniIpv6Args{...} +type GetInstanceEniIpv6Input interface { + pulumi.Input + + ToGetInstanceEniIpv6Output() GetInstanceEniIpv6Output + ToGetInstanceEniIpv6OutputWithContext(context.Context) GetInstanceEniIpv6Output +} + +type GetInstanceEniIpv6Args struct { + // `IPv6` address, such as `3402:4e00:20:100:0:8cd9:2a67:71f3`. + Address pulumi.StringInput `pulumi:"address"` + // The `ID` of the `EIP` instance, such as `eip-hxlqja90`. + AddressId pulumi.StringInput `pulumi:"addressId"` + // Description of the ENI. Conflict with `ids`. + Description pulumi.StringInput `pulumi:"description"` + // Whether the public IP is blocked. + IsWanIpBlocked pulumi.BoolInput `pulumi:"isWanIpBlocked"` + // Indicates whether the IP is primary. + Primary pulumi.BoolInput `pulumi:"primary"` +} + +func (GetInstanceEniIpv6Args) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstanceEniIpv6)(nil)).Elem() +} + +func (i GetInstanceEniIpv6Args) ToGetInstanceEniIpv6Output() GetInstanceEniIpv6Output { + return i.ToGetInstanceEniIpv6OutputWithContext(context.Background()) +} + +func (i GetInstanceEniIpv6Args) ToGetInstanceEniIpv6OutputWithContext(ctx context.Context) GetInstanceEniIpv6Output { + return pulumi.ToOutputWithContext(ctx, i).(GetInstanceEniIpv6Output) +} + +// GetInstanceEniIpv6ArrayInput is an input type that accepts GetInstanceEniIpv6Array and GetInstanceEniIpv6ArrayOutput values. +// You can construct a concrete instance of `GetInstanceEniIpv6ArrayInput` via: +// +// GetInstanceEniIpv6Array{ GetInstanceEniIpv6Args{...} } +type GetInstanceEniIpv6ArrayInput interface { + pulumi.Input + + ToGetInstanceEniIpv6ArrayOutput() GetInstanceEniIpv6ArrayOutput + ToGetInstanceEniIpv6ArrayOutputWithContext(context.Context) GetInstanceEniIpv6ArrayOutput +} + +type GetInstanceEniIpv6Array []GetInstanceEniIpv6Input + +func (GetInstanceEniIpv6Array) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetInstanceEniIpv6)(nil)).Elem() +} + +func (i GetInstanceEniIpv6Array) ToGetInstanceEniIpv6ArrayOutput() GetInstanceEniIpv6ArrayOutput { + return i.ToGetInstanceEniIpv6ArrayOutputWithContext(context.Background()) +} + +func (i GetInstanceEniIpv6Array) ToGetInstanceEniIpv6ArrayOutputWithContext(ctx context.Context) GetInstanceEniIpv6ArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetInstanceEniIpv6ArrayOutput) +} + +type GetInstanceEniIpv6Output struct{ *pulumi.OutputState } + +func (GetInstanceEniIpv6Output) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstanceEniIpv6)(nil)).Elem() +} + +func (o GetInstanceEniIpv6Output) ToGetInstanceEniIpv6Output() GetInstanceEniIpv6Output { + return o +} + +func (o GetInstanceEniIpv6Output) ToGetInstanceEniIpv6OutputWithContext(ctx context.Context) GetInstanceEniIpv6Output { + return o +} + +// `IPv6` address, such as `3402:4e00:20:100:0:8cd9:2a67:71f3`. +func (o GetInstanceEniIpv6Output) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetInstanceEniIpv6) string { return v.Address }).(pulumi.StringOutput) +} + +// The `ID` of the `EIP` instance, such as `eip-hxlqja90`. +func (o GetInstanceEniIpv6Output) AddressId() pulumi.StringOutput { + return o.ApplyT(func(v GetInstanceEniIpv6) string { return v.AddressId }).(pulumi.StringOutput) +} + +// Description of the ENI. Conflict with `ids`. +func (o GetInstanceEniIpv6Output) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetInstanceEniIpv6) string { return v.Description }).(pulumi.StringOutput) +} + +// Whether the public IP is blocked. +func (o GetInstanceEniIpv6Output) IsWanIpBlocked() pulumi.BoolOutput { + return o.ApplyT(func(v GetInstanceEniIpv6) bool { return v.IsWanIpBlocked }).(pulumi.BoolOutput) +} + +// Indicates whether the IP is primary. +func (o GetInstanceEniIpv6Output) Primary() pulumi.BoolOutput { + return o.ApplyT(func(v GetInstanceEniIpv6) bool { return v.Primary }).(pulumi.BoolOutput) +} + +type GetInstanceEniIpv6ArrayOutput struct{ *pulumi.OutputState } + +func (GetInstanceEniIpv6ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetInstanceEniIpv6)(nil)).Elem() +} + +func (o GetInstanceEniIpv6ArrayOutput) ToGetInstanceEniIpv6ArrayOutput() GetInstanceEniIpv6ArrayOutput { + return o +} + +func (o GetInstanceEniIpv6ArrayOutput) ToGetInstanceEniIpv6ArrayOutputWithContext(ctx context.Context) GetInstanceEniIpv6ArrayOutput { + return o +} + +func (o GetInstanceEniIpv6ArrayOutput) Index(i pulumi.IntInput) GetInstanceEniIpv6Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetInstanceEniIpv6 { + return vs[0].([]GetInstanceEniIpv6)[vs[1].(int)] + }).(GetInstanceEniIpv6Output) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetInstanceEniInput)(nil)).Elem(), GetInstanceEniArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetInstanceEniArrayInput)(nil)).Elem(), GetInstanceEniArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetInstanceEniIpv4Input)(nil)).Elem(), GetInstanceEniIpv4Args{}) pulumi.RegisterInputType(reflect.TypeOf((*GetInstanceEniIpv4ArrayInput)(nil)).Elem(), GetInstanceEniIpv4Array{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetInstanceEniIpv6Input)(nil)).Elem(), GetInstanceEniIpv6Args{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetInstanceEniIpv6ArrayInput)(nil)).Elem(), GetInstanceEniIpv6Array{}) pulumi.RegisterOutputType(GetInstanceEniOutput{}) pulumi.RegisterOutputType(GetInstanceEniArrayOutput{}) pulumi.RegisterOutputType(GetInstanceEniIpv4Output{}) pulumi.RegisterOutputType(GetInstanceEniIpv4ArrayOutput{}) + pulumi.RegisterOutputType(GetInstanceEniIpv6Output{}) + pulumi.RegisterOutputType(GetInstanceEniIpv6ArrayOutput{}) } diff --git a/sdk/go/tencentcloud/events/auditTrack.go b/sdk/go/tencentcloud/events/auditTrack.go new file mode 100644 index 000000000..d6bb224d8 --- /dev/null +++ b/sdk/go/tencentcloud/events/auditTrack.go @@ -0,0 +1,365 @@ +// 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 events + +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 events audit track +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Events" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Events.NewAuditTrack(ctx, "example", &Events.AuditTrackArgs{ +// Filters: &events.AuditTrackFiltersArgs{ +// ResourceFields: events.AuditTrackFiltersResourceFieldArray{ +// &events.AuditTrackFiltersResourceFieldArgs{ +// ActionType: pulumi.String("*"), +// EventNames: pulumi.StringArray{ +// pulumi.String("AddSubAccount"), +// pulumi.String("AddSubAccountCheckingMFA"), +// }, +// ResourceType: pulumi.String("cam"), +// }, +// &events.AuditTrackFiltersResourceFieldArgs{ +// ActionType: pulumi.String("*"), +// EventNames: pulumi.StringArray{ +// pulumi.String("*"), +// }, +// ResourceType: pulumi.String("cvm"), +// }, +// &events.AuditTrackFiltersResourceFieldArgs{ +// ActionType: pulumi.String("*"), +// EventNames: pulumi.StringArray{ +// pulumi.String("*"), +// }, +// ResourceType: pulumi.String("tke"), +// }, +// }, +// }, +// Status: pulumi.Int(1), +// Storage: &events.AuditTrackStorageArgs{ +// StorageName: pulumi.String("393953ac-5c1b-457d-911d-376271b1b4f2"), +// StoragePrefix: pulumi.String("cloudaudit"), +// StorageRegion: pulumi.String("ap-guangzhou"), +// StorageType: pulumi.String("cls"), +// }, +// TrackForAllMembers: pulumi.Int(0), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// events audit track can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Events/auditTrack:AuditTrack example 24283 +// ``` +type AuditTrack struct { + pulumi.CustomResourceState + + // Data filtering criteria. + Filters AuditTrackFiltersOutput `pulumi:"filters"` + // Tracking set name, which can only contain 3-48 letters, digits, hyphens, and underscores. + Name pulumi.StringOutput `pulumi:"name"` + // Tracking set status (0: Not enabled; 1: Enabled). + Status pulumi.IntOutput `pulumi:"status"` + // Storage type of shipped data. Valid values: `cos`, `cls`. + Storage AuditTrackStorageOutput `pulumi:"storage"` + // Whether to enable the feature of shipping organization members operation logs to the organization admin account or the trusted service admin account (0: Not enabled; 1: Enabled. This feature can only be enabled by the organization admin account or the trusted service admin account). + TrackForAllMembers pulumi.IntPtrOutput `pulumi:"trackForAllMembers"` + // Whether the log list has come to an end. `true`: Yes. Pagination is not required. + TrackId pulumi.IntOutput `pulumi:"trackId"` +} + +// NewAuditTrack registers a new resource with the given unique name, arguments, and options. +func NewAuditTrack(ctx *pulumi.Context, + name string, args *AuditTrackArgs, opts ...pulumi.ResourceOption) (*AuditTrack, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Filters == nil { + return nil, errors.New("invalid value for required argument 'Filters'") + } + if args.Status == nil { + return nil, errors.New("invalid value for required argument 'Status'") + } + if args.Storage == nil { + return nil, errors.New("invalid value for required argument 'Storage'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource AuditTrack + err := ctx.RegisterResource("tencentcloud:Events/auditTrack:AuditTrack", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetAuditTrack gets an existing AuditTrack 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 GetAuditTrack(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *AuditTrackState, opts ...pulumi.ResourceOption) (*AuditTrack, error) { + var resource AuditTrack + err := ctx.ReadResource("tencentcloud:Events/auditTrack:AuditTrack", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering AuditTrack resources. +type auditTrackState struct { + // Data filtering criteria. + Filters *AuditTrackFilters `pulumi:"filters"` + // Tracking set name, which can only contain 3-48 letters, digits, hyphens, and underscores. + Name *string `pulumi:"name"` + // Tracking set status (0: Not enabled; 1: Enabled). + Status *int `pulumi:"status"` + // Storage type of shipped data. Valid values: `cos`, `cls`. + Storage *AuditTrackStorage `pulumi:"storage"` + // Whether to enable the feature of shipping organization members operation logs to the organization admin account or the trusted service admin account (0: Not enabled; 1: Enabled. This feature can only be enabled by the organization admin account or the trusted service admin account). + TrackForAllMembers *int `pulumi:"trackForAllMembers"` + // Whether the log list has come to an end. `true`: Yes. Pagination is not required. + TrackId *int `pulumi:"trackId"` +} + +type AuditTrackState struct { + // Data filtering criteria. + Filters AuditTrackFiltersPtrInput + // Tracking set name, which can only contain 3-48 letters, digits, hyphens, and underscores. + Name pulumi.StringPtrInput + // Tracking set status (0: Not enabled; 1: Enabled). + Status pulumi.IntPtrInput + // Storage type of shipped data. Valid values: `cos`, `cls`. + Storage AuditTrackStoragePtrInput + // Whether to enable the feature of shipping organization members operation logs to the organization admin account or the trusted service admin account (0: Not enabled; 1: Enabled. This feature can only be enabled by the organization admin account or the trusted service admin account). + TrackForAllMembers pulumi.IntPtrInput + // Whether the log list has come to an end. `true`: Yes. Pagination is not required. + TrackId pulumi.IntPtrInput +} + +func (AuditTrackState) ElementType() reflect.Type { + return reflect.TypeOf((*auditTrackState)(nil)).Elem() +} + +type auditTrackArgs struct { + // Data filtering criteria. + Filters AuditTrackFilters `pulumi:"filters"` + // Tracking set name, which can only contain 3-48 letters, digits, hyphens, and underscores. + Name *string `pulumi:"name"` + // Tracking set status (0: Not enabled; 1: Enabled). + Status int `pulumi:"status"` + // Storage type of shipped data. Valid values: `cos`, `cls`. + Storage AuditTrackStorage `pulumi:"storage"` + // Whether to enable the feature of shipping organization members operation logs to the organization admin account or the trusted service admin account (0: Not enabled; 1: Enabled. This feature can only be enabled by the organization admin account or the trusted service admin account). + TrackForAllMembers *int `pulumi:"trackForAllMembers"` +} + +// The set of arguments for constructing a AuditTrack resource. +type AuditTrackArgs struct { + // Data filtering criteria. + Filters AuditTrackFiltersInput + // Tracking set name, which can only contain 3-48 letters, digits, hyphens, and underscores. + Name pulumi.StringPtrInput + // Tracking set status (0: Not enabled; 1: Enabled). + Status pulumi.IntInput + // Storage type of shipped data. Valid values: `cos`, `cls`. + Storage AuditTrackStorageInput + // Whether to enable the feature of shipping organization members operation logs to the organization admin account or the trusted service admin account (0: Not enabled; 1: Enabled. This feature can only be enabled by the organization admin account or the trusted service admin account). + TrackForAllMembers pulumi.IntPtrInput +} + +func (AuditTrackArgs) ElementType() reflect.Type { + return reflect.TypeOf((*auditTrackArgs)(nil)).Elem() +} + +type AuditTrackInput interface { + pulumi.Input + + ToAuditTrackOutput() AuditTrackOutput + ToAuditTrackOutputWithContext(ctx context.Context) AuditTrackOutput +} + +func (*AuditTrack) ElementType() reflect.Type { + return reflect.TypeOf((**AuditTrack)(nil)).Elem() +} + +func (i *AuditTrack) ToAuditTrackOutput() AuditTrackOutput { + return i.ToAuditTrackOutputWithContext(context.Background()) +} + +func (i *AuditTrack) ToAuditTrackOutputWithContext(ctx context.Context) AuditTrackOutput { + return pulumi.ToOutputWithContext(ctx, i).(AuditTrackOutput) +} + +// AuditTrackArrayInput is an input type that accepts AuditTrackArray and AuditTrackArrayOutput values. +// You can construct a concrete instance of `AuditTrackArrayInput` via: +// +// AuditTrackArray{ AuditTrackArgs{...} } +type AuditTrackArrayInput interface { + pulumi.Input + + ToAuditTrackArrayOutput() AuditTrackArrayOutput + ToAuditTrackArrayOutputWithContext(context.Context) AuditTrackArrayOutput +} + +type AuditTrackArray []AuditTrackInput + +func (AuditTrackArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AuditTrack)(nil)).Elem() +} + +func (i AuditTrackArray) ToAuditTrackArrayOutput() AuditTrackArrayOutput { + return i.ToAuditTrackArrayOutputWithContext(context.Background()) +} + +func (i AuditTrackArray) ToAuditTrackArrayOutputWithContext(ctx context.Context) AuditTrackArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AuditTrackArrayOutput) +} + +// AuditTrackMapInput is an input type that accepts AuditTrackMap and AuditTrackMapOutput values. +// You can construct a concrete instance of `AuditTrackMapInput` via: +// +// AuditTrackMap{ "key": AuditTrackArgs{...} } +type AuditTrackMapInput interface { + pulumi.Input + + ToAuditTrackMapOutput() AuditTrackMapOutput + ToAuditTrackMapOutputWithContext(context.Context) AuditTrackMapOutput +} + +type AuditTrackMap map[string]AuditTrackInput + +func (AuditTrackMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AuditTrack)(nil)).Elem() +} + +func (i AuditTrackMap) ToAuditTrackMapOutput() AuditTrackMapOutput { + return i.ToAuditTrackMapOutputWithContext(context.Background()) +} + +func (i AuditTrackMap) ToAuditTrackMapOutputWithContext(ctx context.Context) AuditTrackMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AuditTrackMapOutput) +} + +type AuditTrackOutput struct{ *pulumi.OutputState } + +func (AuditTrackOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AuditTrack)(nil)).Elem() +} + +func (o AuditTrackOutput) ToAuditTrackOutput() AuditTrackOutput { + return o +} + +func (o AuditTrackOutput) ToAuditTrackOutputWithContext(ctx context.Context) AuditTrackOutput { + return o +} + +// Data filtering criteria. +func (o AuditTrackOutput) Filters() AuditTrackFiltersOutput { + return o.ApplyT(func(v *AuditTrack) AuditTrackFiltersOutput { return v.Filters }).(AuditTrackFiltersOutput) +} + +// Tracking set name, which can only contain 3-48 letters, digits, hyphens, and underscores. +func (o AuditTrackOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *AuditTrack) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Tracking set status (0: Not enabled; 1: Enabled). +func (o AuditTrackOutput) Status() pulumi.IntOutput { + return o.ApplyT(func(v *AuditTrack) pulumi.IntOutput { return v.Status }).(pulumi.IntOutput) +} + +// Storage type of shipped data. Valid values: `cos`, `cls`. +func (o AuditTrackOutput) Storage() AuditTrackStorageOutput { + return o.ApplyT(func(v *AuditTrack) AuditTrackStorageOutput { return v.Storage }).(AuditTrackStorageOutput) +} + +// Whether to enable the feature of shipping organization members operation logs to the organization admin account or the trusted service admin account (0: Not enabled; 1: Enabled. This feature can only be enabled by the organization admin account or the trusted service admin account). +func (o AuditTrackOutput) TrackForAllMembers() pulumi.IntPtrOutput { + return o.ApplyT(func(v *AuditTrack) pulumi.IntPtrOutput { return v.TrackForAllMembers }).(pulumi.IntPtrOutput) +} + +// Whether the log list has come to an end. `true`: Yes. Pagination is not required. +func (o AuditTrackOutput) TrackId() pulumi.IntOutput { + return o.ApplyT(func(v *AuditTrack) pulumi.IntOutput { return v.TrackId }).(pulumi.IntOutput) +} + +type AuditTrackArrayOutput struct{ *pulumi.OutputState } + +func (AuditTrackArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AuditTrack)(nil)).Elem() +} + +func (o AuditTrackArrayOutput) ToAuditTrackArrayOutput() AuditTrackArrayOutput { + return o +} + +func (o AuditTrackArrayOutput) ToAuditTrackArrayOutputWithContext(ctx context.Context) AuditTrackArrayOutput { + return o +} + +func (o AuditTrackArrayOutput) Index(i pulumi.IntInput) AuditTrackOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AuditTrack { + return vs[0].([]*AuditTrack)[vs[1].(int)] + }).(AuditTrackOutput) +} + +type AuditTrackMapOutput struct{ *pulumi.OutputState } + +func (AuditTrackMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AuditTrack)(nil)).Elem() +} + +func (o AuditTrackMapOutput) ToAuditTrackMapOutput() AuditTrackMapOutput { + return o +} + +func (o AuditTrackMapOutput) ToAuditTrackMapOutputWithContext(ctx context.Context) AuditTrackMapOutput { + return o +} + +func (o AuditTrackMapOutput) MapIndex(k pulumi.StringInput) AuditTrackOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AuditTrack { + return vs[0].(map[string]*AuditTrack)[vs[1].(string)] + }).(AuditTrackOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AuditTrackInput)(nil)).Elem(), &AuditTrack{}) + pulumi.RegisterInputType(reflect.TypeOf((*AuditTrackArrayInput)(nil)).Elem(), AuditTrackArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AuditTrackMapInput)(nil)).Elem(), AuditTrackMap{}) + pulumi.RegisterOutputType(AuditTrackOutput{}) + pulumi.RegisterOutputType(AuditTrackArrayOutput{}) + pulumi.RegisterOutputType(AuditTrackMapOutput{}) +} diff --git a/sdk/go/tencentcloud/events/init.go b/sdk/go/tencentcloud/events/init.go new file mode 100644 index 000000000..7ffd5b0ec --- /dev/null +++ b/sdk/go/tencentcloud/events/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 events + +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:Events/auditTrack:AuditTrack": + r = &AuditTrack{} + 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", + "Events/auditTrack", + &module{version}, + ) +} diff --git a/sdk/go/tencentcloud/events/pulumiTypes.go b/sdk/go/tencentcloud/events/pulumiTypes.go new file mode 100644 index 000000000..10b018ec3 --- /dev/null +++ b/sdk/go/tencentcloud/events/pulumiTypes.go @@ -0,0 +1,513 @@ +// 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 events + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" +) + +var _ = internal.GetEnvOrDefault + +type AuditTrackFilters struct { + // Resource filtering conditions. + ResourceFields []AuditTrackFiltersResourceField `pulumi:"resourceFields"` +} + +// AuditTrackFiltersInput is an input type that accepts AuditTrackFiltersArgs and AuditTrackFiltersOutput values. +// You can construct a concrete instance of `AuditTrackFiltersInput` via: +// +// AuditTrackFiltersArgs{...} +type AuditTrackFiltersInput interface { + pulumi.Input + + ToAuditTrackFiltersOutput() AuditTrackFiltersOutput + ToAuditTrackFiltersOutputWithContext(context.Context) AuditTrackFiltersOutput +} + +type AuditTrackFiltersArgs struct { + // Resource filtering conditions. + ResourceFields AuditTrackFiltersResourceFieldArrayInput `pulumi:"resourceFields"` +} + +func (AuditTrackFiltersArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AuditTrackFilters)(nil)).Elem() +} + +func (i AuditTrackFiltersArgs) ToAuditTrackFiltersOutput() AuditTrackFiltersOutput { + return i.ToAuditTrackFiltersOutputWithContext(context.Background()) +} + +func (i AuditTrackFiltersArgs) ToAuditTrackFiltersOutputWithContext(ctx context.Context) AuditTrackFiltersOutput { + return pulumi.ToOutputWithContext(ctx, i).(AuditTrackFiltersOutput) +} + +func (i AuditTrackFiltersArgs) ToAuditTrackFiltersPtrOutput() AuditTrackFiltersPtrOutput { + return i.ToAuditTrackFiltersPtrOutputWithContext(context.Background()) +} + +func (i AuditTrackFiltersArgs) ToAuditTrackFiltersPtrOutputWithContext(ctx context.Context) AuditTrackFiltersPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AuditTrackFiltersOutput).ToAuditTrackFiltersPtrOutputWithContext(ctx) +} + +// AuditTrackFiltersPtrInput is an input type that accepts AuditTrackFiltersArgs, AuditTrackFiltersPtr and AuditTrackFiltersPtrOutput values. +// You can construct a concrete instance of `AuditTrackFiltersPtrInput` via: +// +// AuditTrackFiltersArgs{...} +// +// or: +// +// nil +type AuditTrackFiltersPtrInput interface { + pulumi.Input + + ToAuditTrackFiltersPtrOutput() AuditTrackFiltersPtrOutput + ToAuditTrackFiltersPtrOutputWithContext(context.Context) AuditTrackFiltersPtrOutput +} + +type auditTrackFiltersPtrType AuditTrackFiltersArgs + +func AuditTrackFiltersPtr(v *AuditTrackFiltersArgs) AuditTrackFiltersPtrInput { + return (*auditTrackFiltersPtrType)(v) +} + +func (*auditTrackFiltersPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AuditTrackFilters)(nil)).Elem() +} + +func (i *auditTrackFiltersPtrType) ToAuditTrackFiltersPtrOutput() AuditTrackFiltersPtrOutput { + return i.ToAuditTrackFiltersPtrOutputWithContext(context.Background()) +} + +func (i *auditTrackFiltersPtrType) ToAuditTrackFiltersPtrOutputWithContext(ctx context.Context) AuditTrackFiltersPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AuditTrackFiltersPtrOutput) +} + +type AuditTrackFiltersOutput struct{ *pulumi.OutputState } + +func (AuditTrackFiltersOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AuditTrackFilters)(nil)).Elem() +} + +func (o AuditTrackFiltersOutput) ToAuditTrackFiltersOutput() AuditTrackFiltersOutput { + return o +} + +func (o AuditTrackFiltersOutput) ToAuditTrackFiltersOutputWithContext(ctx context.Context) AuditTrackFiltersOutput { + return o +} + +func (o AuditTrackFiltersOutput) ToAuditTrackFiltersPtrOutput() AuditTrackFiltersPtrOutput { + return o.ToAuditTrackFiltersPtrOutputWithContext(context.Background()) +} + +func (o AuditTrackFiltersOutput) ToAuditTrackFiltersPtrOutputWithContext(ctx context.Context) AuditTrackFiltersPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AuditTrackFilters) *AuditTrackFilters { + return &v + }).(AuditTrackFiltersPtrOutput) +} + +// Resource filtering conditions. +func (o AuditTrackFiltersOutput) ResourceFields() AuditTrackFiltersResourceFieldArrayOutput { + return o.ApplyT(func(v AuditTrackFilters) []AuditTrackFiltersResourceField { return v.ResourceFields }).(AuditTrackFiltersResourceFieldArrayOutput) +} + +type AuditTrackFiltersPtrOutput struct{ *pulumi.OutputState } + +func (AuditTrackFiltersPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AuditTrackFilters)(nil)).Elem() +} + +func (o AuditTrackFiltersPtrOutput) ToAuditTrackFiltersPtrOutput() AuditTrackFiltersPtrOutput { + return o +} + +func (o AuditTrackFiltersPtrOutput) ToAuditTrackFiltersPtrOutputWithContext(ctx context.Context) AuditTrackFiltersPtrOutput { + return o +} + +func (o AuditTrackFiltersPtrOutput) Elem() AuditTrackFiltersOutput { + return o.ApplyT(func(v *AuditTrackFilters) AuditTrackFilters { + if v != nil { + return *v + } + var ret AuditTrackFilters + return ret + }).(AuditTrackFiltersOutput) +} + +// Resource filtering conditions. +func (o AuditTrackFiltersPtrOutput) ResourceFields() AuditTrackFiltersResourceFieldArrayOutput { + return o.ApplyT(func(v *AuditTrackFilters) []AuditTrackFiltersResourceField { + if v == nil { + return nil + } + return v.ResourceFields + }).(AuditTrackFiltersResourceFieldArrayOutput) +} + +type AuditTrackFiltersResourceField struct { + // Tracking set event type (`Read`: Read; `Write`: Write; `*`: All). + ActionType string `pulumi:"actionType"` + // The list of API names of tracking set events. When `ResourceType` is `*`, the value of `EventNames` must be `*`. When `ResourceType` is a specified product, the value of `EventNames` can be `*`. When `ResourceType` is `cos` or `cls`, up to 10 APIs are supported. + EventNames []string `pulumi:"eventNames"` + // The product to which the tracking set event belongs. The value can be a single product such as `cos`, or `*` that indicates all products. + ResourceType string `pulumi:"resourceType"` +} + +// AuditTrackFiltersResourceFieldInput is an input type that accepts AuditTrackFiltersResourceFieldArgs and AuditTrackFiltersResourceFieldOutput values. +// You can construct a concrete instance of `AuditTrackFiltersResourceFieldInput` via: +// +// AuditTrackFiltersResourceFieldArgs{...} +type AuditTrackFiltersResourceFieldInput interface { + pulumi.Input + + ToAuditTrackFiltersResourceFieldOutput() AuditTrackFiltersResourceFieldOutput + ToAuditTrackFiltersResourceFieldOutputWithContext(context.Context) AuditTrackFiltersResourceFieldOutput +} + +type AuditTrackFiltersResourceFieldArgs struct { + // Tracking set event type (`Read`: Read; `Write`: Write; `*`: All). + ActionType pulumi.StringInput `pulumi:"actionType"` + // The list of API names of tracking set events. When `ResourceType` is `*`, the value of `EventNames` must be `*`. When `ResourceType` is a specified product, the value of `EventNames` can be `*`. When `ResourceType` is `cos` or `cls`, up to 10 APIs are supported. + EventNames pulumi.StringArrayInput `pulumi:"eventNames"` + // The product to which the tracking set event belongs. The value can be a single product such as `cos`, or `*` that indicates all products. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (AuditTrackFiltersResourceFieldArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AuditTrackFiltersResourceField)(nil)).Elem() +} + +func (i AuditTrackFiltersResourceFieldArgs) ToAuditTrackFiltersResourceFieldOutput() AuditTrackFiltersResourceFieldOutput { + return i.ToAuditTrackFiltersResourceFieldOutputWithContext(context.Background()) +} + +func (i AuditTrackFiltersResourceFieldArgs) ToAuditTrackFiltersResourceFieldOutputWithContext(ctx context.Context) AuditTrackFiltersResourceFieldOutput { + return pulumi.ToOutputWithContext(ctx, i).(AuditTrackFiltersResourceFieldOutput) +} + +// AuditTrackFiltersResourceFieldArrayInput is an input type that accepts AuditTrackFiltersResourceFieldArray and AuditTrackFiltersResourceFieldArrayOutput values. +// You can construct a concrete instance of `AuditTrackFiltersResourceFieldArrayInput` via: +// +// AuditTrackFiltersResourceFieldArray{ AuditTrackFiltersResourceFieldArgs{...} } +type AuditTrackFiltersResourceFieldArrayInput interface { + pulumi.Input + + ToAuditTrackFiltersResourceFieldArrayOutput() AuditTrackFiltersResourceFieldArrayOutput + ToAuditTrackFiltersResourceFieldArrayOutputWithContext(context.Context) AuditTrackFiltersResourceFieldArrayOutput +} + +type AuditTrackFiltersResourceFieldArray []AuditTrackFiltersResourceFieldInput + +func (AuditTrackFiltersResourceFieldArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]AuditTrackFiltersResourceField)(nil)).Elem() +} + +func (i AuditTrackFiltersResourceFieldArray) ToAuditTrackFiltersResourceFieldArrayOutput() AuditTrackFiltersResourceFieldArrayOutput { + return i.ToAuditTrackFiltersResourceFieldArrayOutputWithContext(context.Background()) +} + +func (i AuditTrackFiltersResourceFieldArray) ToAuditTrackFiltersResourceFieldArrayOutputWithContext(ctx context.Context) AuditTrackFiltersResourceFieldArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AuditTrackFiltersResourceFieldArrayOutput) +} + +type AuditTrackFiltersResourceFieldOutput struct{ *pulumi.OutputState } + +func (AuditTrackFiltersResourceFieldOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AuditTrackFiltersResourceField)(nil)).Elem() +} + +func (o AuditTrackFiltersResourceFieldOutput) ToAuditTrackFiltersResourceFieldOutput() AuditTrackFiltersResourceFieldOutput { + return o +} + +func (o AuditTrackFiltersResourceFieldOutput) ToAuditTrackFiltersResourceFieldOutputWithContext(ctx context.Context) AuditTrackFiltersResourceFieldOutput { + return o +} + +// Tracking set event type (`Read`: Read; `Write`: Write; `*`: All). +func (o AuditTrackFiltersResourceFieldOutput) ActionType() pulumi.StringOutput { + return o.ApplyT(func(v AuditTrackFiltersResourceField) string { return v.ActionType }).(pulumi.StringOutput) +} + +// The list of API names of tracking set events. When `ResourceType` is `*`, the value of `EventNames` must be `*`. When `ResourceType` is a specified product, the value of `EventNames` can be `*`. When `ResourceType` is `cos` or `cls`, up to 10 APIs are supported. +func (o AuditTrackFiltersResourceFieldOutput) EventNames() pulumi.StringArrayOutput { + return o.ApplyT(func(v AuditTrackFiltersResourceField) []string { return v.EventNames }).(pulumi.StringArrayOutput) +} + +// The product to which the tracking set event belongs. The value can be a single product such as `cos`, or `*` that indicates all products. +func (o AuditTrackFiltersResourceFieldOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v AuditTrackFiltersResourceField) string { return v.ResourceType }).(pulumi.StringOutput) +} + +type AuditTrackFiltersResourceFieldArrayOutput struct{ *pulumi.OutputState } + +func (AuditTrackFiltersResourceFieldArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]AuditTrackFiltersResourceField)(nil)).Elem() +} + +func (o AuditTrackFiltersResourceFieldArrayOutput) ToAuditTrackFiltersResourceFieldArrayOutput() AuditTrackFiltersResourceFieldArrayOutput { + return o +} + +func (o AuditTrackFiltersResourceFieldArrayOutput) ToAuditTrackFiltersResourceFieldArrayOutputWithContext(ctx context.Context) AuditTrackFiltersResourceFieldArrayOutput { + return o +} + +func (o AuditTrackFiltersResourceFieldArrayOutput) Index(i pulumi.IntInput) AuditTrackFiltersResourceFieldOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) AuditTrackFiltersResourceField { + return vs[0].([]AuditTrackFiltersResourceField)[vs[1].(int)] + }).(AuditTrackFiltersResourceFieldOutput) +} + +type AuditTrackStorage struct { + // Designated to store user ID. + StorageAccountId *string `pulumi:"storageAccountId"` + // Designated to store user app ID. + StorageAppId *string `pulumi:"storageAppId"` + // Storage name. For COS, the storage name is the custom bucket name, which can contain up to 50 lowercase letters, digits, and hyphens. It cannot contain "-APPID" and cannot start or end with a hyphen. For CLS, the storage name is the log topic ID, which can contain 1-50 characters. + StorageName string `pulumi:"storageName"` + // Storage directory prefix. The COS log file prefix can only contain 3-40 letters and digits. + StoragePrefix string `pulumi:"storagePrefix"` + // StorageRegion *string `json:'StorageRegion,omitnil,omitempty' name: 'StorageRegion'`. + StorageRegion string `pulumi:"storageRegion"` + // Storage type (Valid values: cos, cls). + StorageType string `pulumi:"storageType"` +} + +// AuditTrackStorageInput is an input type that accepts AuditTrackStorageArgs and AuditTrackStorageOutput values. +// You can construct a concrete instance of `AuditTrackStorageInput` via: +// +// AuditTrackStorageArgs{...} +type AuditTrackStorageInput interface { + pulumi.Input + + ToAuditTrackStorageOutput() AuditTrackStorageOutput + ToAuditTrackStorageOutputWithContext(context.Context) AuditTrackStorageOutput +} + +type AuditTrackStorageArgs struct { + // Designated to store user ID. + StorageAccountId pulumi.StringPtrInput `pulumi:"storageAccountId"` + // Designated to store user app ID. + StorageAppId pulumi.StringPtrInput `pulumi:"storageAppId"` + // Storage name. For COS, the storage name is the custom bucket name, which can contain up to 50 lowercase letters, digits, and hyphens. It cannot contain "-APPID" and cannot start or end with a hyphen. For CLS, the storage name is the log topic ID, which can contain 1-50 characters. + StorageName pulumi.StringInput `pulumi:"storageName"` + // Storage directory prefix. The COS log file prefix can only contain 3-40 letters and digits. + StoragePrefix pulumi.StringInput `pulumi:"storagePrefix"` + // StorageRegion *string `json:'StorageRegion,omitnil,omitempty' name: 'StorageRegion'`. + StorageRegion pulumi.StringInput `pulumi:"storageRegion"` + // Storage type (Valid values: cos, cls). + StorageType pulumi.StringInput `pulumi:"storageType"` +} + +func (AuditTrackStorageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AuditTrackStorage)(nil)).Elem() +} + +func (i AuditTrackStorageArgs) ToAuditTrackStorageOutput() AuditTrackStorageOutput { + return i.ToAuditTrackStorageOutputWithContext(context.Background()) +} + +func (i AuditTrackStorageArgs) ToAuditTrackStorageOutputWithContext(ctx context.Context) AuditTrackStorageOutput { + return pulumi.ToOutputWithContext(ctx, i).(AuditTrackStorageOutput) +} + +func (i AuditTrackStorageArgs) ToAuditTrackStoragePtrOutput() AuditTrackStoragePtrOutput { + return i.ToAuditTrackStoragePtrOutputWithContext(context.Background()) +} + +func (i AuditTrackStorageArgs) ToAuditTrackStoragePtrOutputWithContext(ctx context.Context) AuditTrackStoragePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AuditTrackStorageOutput).ToAuditTrackStoragePtrOutputWithContext(ctx) +} + +// AuditTrackStoragePtrInput is an input type that accepts AuditTrackStorageArgs, AuditTrackStoragePtr and AuditTrackStoragePtrOutput values. +// You can construct a concrete instance of `AuditTrackStoragePtrInput` via: +// +// AuditTrackStorageArgs{...} +// +// or: +// +// nil +type AuditTrackStoragePtrInput interface { + pulumi.Input + + ToAuditTrackStoragePtrOutput() AuditTrackStoragePtrOutput + ToAuditTrackStoragePtrOutputWithContext(context.Context) AuditTrackStoragePtrOutput +} + +type auditTrackStoragePtrType AuditTrackStorageArgs + +func AuditTrackStoragePtr(v *AuditTrackStorageArgs) AuditTrackStoragePtrInput { + return (*auditTrackStoragePtrType)(v) +} + +func (*auditTrackStoragePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AuditTrackStorage)(nil)).Elem() +} + +func (i *auditTrackStoragePtrType) ToAuditTrackStoragePtrOutput() AuditTrackStoragePtrOutput { + return i.ToAuditTrackStoragePtrOutputWithContext(context.Background()) +} + +func (i *auditTrackStoragePtrType) ToAuditTrackStoragePtrOutputWithContext(ctx context.Context) AuditTrackStoragePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AuditTrackStoragePtrOutput) +} + +type AuditTrackStorageOutput struct{ *pulumi.OutputState } + +func (AuditTrackStorageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AuditTrackStorage)(nil)).Elem() +} + +func (o AuditTrackStorageOutput) ToAuditTrackStorageOutput() AuditTrackStorageOutput { + return o +} + +func (o AuditTrackStorageOutput) ToAuditTrackStorageOutputWithContext(ctx context.Context) AuditTrackStorageOutput { + return o +} + +func (o AuditTrackStorageOutput) ToAuditTrackStoragePtrOutput() AuditTrackStoragePtrOutput { + return o.ToAuditTrackStoragePtrOutputWithContext(context.Background()) +} + +func (o AuditTrackStorageOutput) ToAuditTrackStoragePtrOutputWithContext(ctx context.Context) AuditTrackStoragePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AuditTrackStorage) *AuditTrackStorage { + return &v + }).(AuditTrackStoragePtrOutput) +} + +// Designated to store user ID. +func (o AuditTrackStorageOutput) StorageAccountId() pulumi.StringPtrOutput { + return o.ApplyT(func(v AuditTrackStorage) *string { return v.StorageAccountId }).(pulumi.StringPtrOutput) +} + +// Designated to store user app ID. +func (o AuditTrackStorageOutput) StorageAppId() pulumi.StringPtrOutput { + return o.ApplyT(func(v AuditTrackStorage) *string { return v.StorageAppId }).(pulumi.StringPtrOutput) +} + +// Storage name. For COS, the storage name is the custom bucket name, which can contain up to 50 lowercase letters, digits, and hyphens. It cannot contain "-APPID" and cannot start or end with a hyphen. For CLS, the storage name is the log topic ID, which can contain 1-50 characters. +func (o AuditTrackStorageOutput) StorageName() pulumi.StringOutput { + return o.ApplyT(func(v AuditTrackStorage) string { return v.StorageName }).(pulumi.StringOutput) +} + +// Storage directory prefix. The COS log file prefix can only contain 3-40 letters and digits. +func (o AuditTrackStorageOutput) StoragePrefix() pulumi.StringOutput { + return o.ApplyT(func(v AuditTrackStorage) string { return v.StoragePrefix }).(pulumi.StringOutput) +} + +// StorageRegion *string `json:'StorageRegion,omitnil,omitempty' name: 'StorageRegion'`. +func (o AuditTrackStorageOutput) StorageRegion() pulumi.StringOutput { + return o.ApplyT(func(v AuditTrackStorage) string { return v.StorageRegion }).(pulumi.StringOutput) +} + +// Storage type (Valid values: cos, cls). +func (o AuditTrackStorageOutput) StorageType() pulumi.StringOutput { + return o.ApplyT(func(v AuditTrackStorage) string { return v.StorageType }).(pulumi.StringOutput) +} + +type AuditTrackStoragePtrOutput struct{ *pulumi.OutputState } + +func (AuditTrackStoragePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AuditTrackStorage)(nil)).Elem() +} + +func (o AuditTrackStoragePtrOutput) ToAuditTrackStoragePtrOutput() AuditTrackStoragePtrOutput { + return o +} + +func (o AuditTrackStoragePtrOutput) ToAuditTrackStoragePtrOutputWithContext(ctx context.Context) AuditTrackStoragePtrOutput { + return o +} + +func (o AuditTrackStoragePtrOutput) Elem() AuditTrackStorageOutput { + return o.ApplyT(func(v *AuditTrackStorage) AuditTrackStorage { + if v != nil { + return *v + } + var ret AuditTrackStorage + return ret + }).(AuditTrackStorageOutput) +} + +// Designated to store user ID. +func (o AuditTrackStoragePtrOutput) StorageAccountId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AuditTrackStorage) *string { + if v == nil { + return nil + } + return v.StorageAccountId + }).(pulumi.StringPtrOutput) +} + +// Designated to store user app ID. +func (o AuditTrackStoragePtrOutput) StorageAppId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AuditTrackStorage) *string { + if v == nil { + return nil + } + return v.StorageAppId + }).(pulumi.StringPtrOutput) +} + +// Storage name. For COS, the storage name is the custom bucket name, which can contain up to 50 lowercase letters, digits, and hyphens. It cannot contain "-APPID" and cannot start or end with a hyphen. For CLS, the storage name is the log topic ID, which can contain 1-50 characters. +func (o AuditTrackStoragePtrOutput) StorageName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AuditTrackStorage) *string { + if v == nil { + return nil + } + return &v.StorageName + }).(pulumi.StringPtrOutput) +} + +// Storage directory prefix. The COS log file prefix can only contain 3-40 letters and digits. +func (o AuditTrackStoragePtrOutput) StoragePrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AuditTrackStorage) *string { + if v == nil { + return nil + } + return &v.StoragePrefix + }).(pulumi.StringPtrOutput) +} + +// StorageRegion *string `json:'StorageRegion,omitnil,omitempty' name: 'StorageRegion'`. +func (o AuditTrackStoragePtrOutput) StorageRegion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AuditTrackStorage) *string { + if v == nil { + return nil + } + return &v.StorageRegion + }).(pulumi.StringPtrOutput) +} + +// Storage type (Valid values: cos, cls). +func (o AuditTrackStoragePtrOutput) StorageType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AuditTrackStorage) *string { + if v == nil { + return nil + } + return &v.StorageType + }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AuditTrackFiltersInput)(nil)).Elem(), AuditTrackFiltersArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AuditTrackFiltersPtrInput)(nil)).Elem(), AuditTrackFiltersArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AuditTrackFiltersResourceFieldInput)(nil)).Elem(), AuditTrackFiltersResourceFieldArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AuditTrackFiltersResourceFieldArrayInput)(nil)).Elem(), AuditTrackFiltersResourceFieldArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AuditTrackStorageInput)(nil)).Elem(), AuditTrackStorageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AuditTrackStoragePtrInput)(nil)).Elem(), AuditTrackStorageArgs{}) + pulumi.RegisterOutputType(AuditTrackFiltersOutput{}) + pulumi.RegisterOutputType(AuditTrackFiltersPtrOutput{}) + pulumi.RegisterOutputType(AuditTrackFiltersResourceFieldOutput{}) + pulumi.RegisterOutputType(AuditTrackFiltersResourceFieldArrayOutput{}) + pulumi.RegisterOutputType(AuditTrackStorageOutput{}) + pulumi.RegisterOutputType(AuditTrackStoragePtrOutput{}) +} diff --git a/sdk/go/tencentcloud/gaap/getLayer7Listeners.go b/sdk/go/tencentcloud/gaap/getLayer7Listeners.go index ec0b498c9..314a336e6 100644 --- a/sdk/go/tencentcloud/gaap/getLayer7Listeners.go +++ b/sdk/go/tencentcloud/gaap/getLayer7Listeners.go @@ -68,6 +68,8 @@ func GetLayer7Listeners(ctx *pulumi.Context, args *GetLayer7ListenersArgs, opts // A collection of arguments for invoking getLayer7Listeners. type GetLayer7ListenersArgs struct { + // Group id. + GroupId *string `pulumi:"groupId"` // ID of the layer7 listener to be queried. ListenerId *string `pulumi:"listenerId"` // Name of the layer7 listener to be queried. @@ -84,6 +86,7 @@ type GetLayer7ListenersArgs struct { // A collection of values returned by getLayer7Listeners. type GetLayer7ListenersResult struct { + GroupId *string `pulumi:"groupId"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` ListenerId *string `pulumi:"listenerId"` @@ -114,6 +117,8 @@ func GetLayer7ListenersOutput(ctx *pulumi.Context, args GetLayer7ListenersOutput // A collection of arguments for invoking getLayer7Listeners. type GetLayer7ListenersOutputArgs struct { + // Group id. + GroupId pulumi.StringPtrInput `pulumi:"groupId"` // ID of the layer7 listener to be queried. ListenerId pulumi.StringPtrInput `pulumi:"listenerId"` // Name of the layer7 listener to be queried. @@ -147,6 +152,10 @@ func (o GetLayer7ListenersResultOutput) ToGetLayer7ListenersResultOutputWithCont return o } +func (o GetLayer7ListenersResultOutput) GroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetLayer7ListenersResult) *string { return v.GroupId }).(pulumi.StringPtrOutput) +} + // The provider-assigned unique ID for this managed resource. func (o GetLayer7ListenersResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetLayer7ListenersResult) string { return v.Id }).(pulumi.StringOutput) diff --git a/sdk/go/tencentcloud/gaap/getProxyStatistics.go b/sdk/go/tencentcloud/gaap/getProxyStatistics.go index 4b4f4d1e1..cfa292ea6 100644 --- a/sdk/go/tencentcloud/gaap/getProxyStatistics.go +++ b/sdk/go/tencentcloud/gaap/getProxyStatistics.go @@ -74,7 +74,7 @@ type GetProxyStatisticsArgs struct { Granularity int `pulumi:"granularity"` // Operator (valid when the proxy is a three network proxy), supports CMCC, CUCC, CTCC, and merges data from the three operators if null values are passed or not passed. Isp *string `pulumi:"isp"` - // Metric Names. Valid values: InBandwidth,OutBandwidth, Concurrent, InPackets, OutPackets, PacketLoss, Latency, HttpQPS, HttpsQPS. + // Metric Names. Valid values: InBandwidth,OutBandwidth, Concurrent, InPackets, OutPackets, PacketLoss, Latency, HttpQPS, HttpsQPS, HttpQPSPercent, HttpsQPSPercent. MetricNames []string `pulumi:"metricNames"` // Proxy Id. ProxyId string `pulumi:"proxyId"` @@ -120,7 +120,7 @@ type GetProxyStatisticsOutputArgs struct { Granularity pulumi.IntInput `pulumi:"granularity"` // Operator (valid when the proxy is a three network proxy), supports CMCC, CUCC, CTCC, and merges data from the three operators if null values are passed or not passed. Isp pulumi.StringPtrInput `pulumi:"isp"` - // Metric Names. Valid values: InBandwidth,OutBandwidth, Concurrent, InPackets, OutPackets, PacketLoss, Latency, HttpQPS, HttpsQPS. + // Metric Names. Valid values: InBandwidth,OutBandwidth, Concurrent, InPackets, OutPackets, PacketLoss, Latency, HttpQPS, HttpsQPS, HttpQPSPercent, HttpsQPSPercent. MetricNames pulumi.StringArrayInput `pulumi:"metricNames"` // Proxy Id. ProxyId pulumi.StringInput `pulumi:"proxyId"` diff --git a/sdk/go/tencentcloud/gaap/httpDomain.go b/sdk/go/tencentcloud/gaap/httpDomain.go index b7d0deb16..23735b190 100644 --- a/sdk/go/tencentcloud/gaap/httpDomain.go +++ b/sdk/go/tencentcloud/gaap/httpDomain.go @@ -88,6 +88,10 @@ type HttpDomain struct { GaapAuth pulumi.BoolPtrOutput `pulumi:"gaapAuth"` // ID of the SSL certificate. GaapAuthId pulumi.StringOutput `pulumi:"gaapAuthId"` + // Group Id. + GroupId pulumi.StringPtrOutput `pulumi:"groupId"` + // Whether to use as the default domain name, the default is false. + IsDefaultServer pulumi.BoolPtrOutput `pulumi:"isDefaultServer"` // ID of the layer7 listener. ListenerId pulumi.StringOutput `pulumi:"listenerId"` // Indicates whether realserver authentication is enable, default value is `false`. @@ -156,6 +160,10 @@ type httpDomainState struct { GaapAuth *bool `pulumi:"gaapAuth"` // ID of the SSL certificate. GaapAuthId *string `pulumi:"gaapAuthId"` + // Group Id. + GroupId *string `pulumi:"groupId"` + // Whether to use as the default domain name, the default is false. + IsDefaultServer *bool `pulumi:"isDefaultServer"` // ID of the layer7 listener. ListenerId *string `pulumi:"listenerId"` // Indicates whether realserver authentication is enable, default value is `false`. @@ -189,6 +197,10 @@ type HttpDomainState struct { GaapAuth pulumi.BoolPtrInput // ID of the SSL certificate. GaapAuthId pulumi.StringPtrInput + // Group Id. + GroupId pulumi.StringPtrInput + // Whether to use as the default domain name, the default is false. + IsDefaultServer pulumi.BoolPtrInput // ID of the layer7 listener. ListenerId pulumi.StringPtrInput // Indicates whether realserver authentication is enable, default value is `false`. @@ -226,6 +238,10 @@ type httpDomainArgs struct { GaapAuth *bool `pulumi:"gaapAuth"` // ID of the SSL certificate. GaapAuthId *string `pulumi:"gaapAuthId"` + // Group Id. + GroupId *string `pulumi:"groupId"` + // Whether to use as the default domain name, the default is false. + IsDefaultServer *bool `pulumi:"isDefaultServer"` // ID of the layer7 listener. ListenerId string `pulumi:"listenerId"` // Indicates whether realserver authentication is enable, default value is `false`. @@ -260,6 +276,10 @@ type HttpDomainArgs struct { GaapAuth pulumi.BoolPtrInput // ID of the SSL certificate. GaapAuthId pulumi.StringPtrInput + // Group Id. + GroupId pulumi.StringPtrInput + // Whether to use as the default domain name, the default is false. + IsDefaultServer pulumi.BoolPtrInput // ID of the layer7 listener. ListenerId pulumi.StringInput // Indicates whether realserver authentication is enable, default value is `false`. @@ -403,6 +423,16 @@ func (o HttpDomainOutput) GaapAuthId() pulumi.StringOutput { return o.ApplyT(func(v *HttpDomain) pulumi.StringOutput { return v.GaapAuthId }).(pulumi.StringOutput) } +// Group Id. +func (o HttpDomainOutput) GroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *HttpDomain) pulumi.StringPtrOutput { return v.GroupId }).(pulumi.StringPtrOutput) +} + +// Whether to use as the default domain name, the default is false. +func (o HttpDomainOutput) IsDefaultServer() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *HttpDomain) pulumi.BoolPtrOutput { return v.IsDefaultServer }).(pulumi.BoolPtrOutput) +} + // ID of the layer7 listener. func (o HttpDomainOutput) ListenerId() pulumi.StringOutput { return o.ApplyT(func(v *HttpDomain) pulumi.StringOutput { return v.ListenerId }).(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/gaap/layer7Listener.go b/sdk/go/tencentcloud/gaap/layer7Listener.go index ea34fb039..49c01974b 100644 --- a/sdk/go/tencentcloud/gaap/layer7Listener.go +++ b/sdk/go/tencentcloud/gaap/layer7Listener.go @@ -77,6 +77,8 @@ type Layer7Listener struct { CreateTime pulumi.StringOutput `pulumi:"createTime"` // Protocol type of the forwarding. Valid value: `HTTP` and `HTTPS`. NOTES: Only supports listeners of `HTTPS` protocol. ForwardProtocol pulumi.StringPtrOutput `pulumi:"forwardProtocol"` + // Group ID. + GroupId pulumi.StringPtrOutput `pulumi:"groupId"` // Name of the layer7 listener, the maximum length is 30. Name pulumi.StringOutput `pulumi:"name"` // Port of the layer7 listener. @@ -84,9 +86,13 @@ type Layer7Listener struct { // Protocol of the layer7 listener. Valid value: `HTTP` and `HTTPS`. Protocol pulumi.StringOutput `pulumi:"protocol"` // ID of the GAAP proxy. - ProxyId pulumi.StringOutput `pulumi:"proxyId"` + ProxyId pulumi.StringPtrOutput `pulumi:"proxyId"` // Status of the layer7 listener. Status pulumi.IntOutput `pulumi:"status"` + // Password Suite, optional GAAP_TLS_CIPHERS_STRICT, GAAP_TLS_CIPHERS_GENERAL, GAAP_TLS_CIPHERS_WIDE(default). + TlsCiphers pulumi.StringOutput `pulumi:"tlsCiphers"` + // TLS version, optional TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. + TlsSupportVersions pulumi.StringArrayOutput `pulumi:"tlsSupportVersions"` } // NewLayer7Listener registers a new resource with the given unique name, arguments, and options. @@ -102,9 +108,6 @@ func NewLayer7Listener(ctx *pulumi.Context, if args.Protocol == nil { return nil, errors.New("invalid value for required argument 'Protocol'") } - if args.ProxyId == nil { - return nil, errors.New("invalid value for required argument 'ProxyId'") - } opts = internal.PkgResourceDefaultOpts(opts) var resource Layer7Listener err := ctx.RegisterResource("tencentcloud:Gaap/layer7Listener:Layer7Listener", name, args, &resource, opts...) @@ -142,6 +145,8 @@ type layer7ListenerState struct { CreateTime *string `pulumi:"createTime"` // Protocol type of the forwarding. Valid value: `HTTP` and `HTTPS`. NOTES: Only supports listeners of `HTTPS` protocol. ForwardProtocol *string `pulumi:"forwardProtocol"` + // Group ID. + GroupId *string `pulumi:"groupId"` // Name of the layer7 listener, the maximum length is 30. Name *string `pulumi:"name"` // Port of the layer7 listener. @@ -152,6 +157,10 @@ type layer7ListenerState struct { ProxyId *string `pulumi:"proxyId"` // Status of the layer7 listener. Status *int `pulumi:"status"` + // Password Suite, optional GAAP_TLS_CIPHERS_STRICT, GAAP_TLS_CIPHERS_GENERAL, GAAP_TLS_CIPHERS_WIDE(default). + TlsCiphers *string `pulumi:"tlsCiphers"` + // TLS version, optional TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. + TlsSupportVersions []string `pulumi:"tlsSupportVersions"` } type Layer7ListenerState struct { @@ -169,6 +178,8 @@ type Layer7ListenerState struct { CreateTime pulumi.StringPtrInput // Protocol type of the forwarding. Valid value: `HTTP` and `HTTPS`. NOTES: Only supports listeners of `HTTPS` protocol. ForwardProtocol pulumi.StringPtrInput + // Group ID. + GroupId pulumi.StringPtrInput // Name of the layer7 listener, the maximum length is 30. Name pulumi.StringPtrInput // Port of the layer7 listener. @@ -179,6 +190,10 @@ type Layer7ListenerState struct { ProxyId pulumi.StringPtrInput // Status of the layer7 listener. Status pulumi.IntPtrInput + // Password Suite, optional GAAP_TLS_CIPHERS_STRICT, GAAP_TLS_CIPHERS_GENERAL, GAAP_TLS_CIPHERS_WIDE(default). + TlsCiphers pulumi.StringPtrInput + // TLS version, optional TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. + TlsSupportVersions pulumi.StringArrayInput } func (Layer7ListenerState) ElementType() reflect.Type { @@ -198,6 +213,8 @@ type layer7ListenerArgs struct { ClientCertificateIds []string `pulumi:"clientCertificateIds"` // Protocol type of the forwarding. Valid value: `HTTP` and `HTTPS`. NOTES: Only supports listeners of `HTTPS` protocol. ForwardProtocol *string `pulumi:"forwardProtocol"` + // Group ID. + GroupId *string `pulumi:"groupId"` // Name of the layer7 listener, the maximum length is 30. Name *string `pulumi:"name"` // Port of the layer7 listener. @@ -205,7 +222,11 @@ type layer7ListenerArgs struct { // Protocol of the layer7 listener. Valid value: `HTTP` and `HTTPS`. Protocol string `pulumi:"protocol"` // ID of the GAAP proxy. - ProxyId string `pulumi:"proxyId"` + ProxyId *string `pulumi:"proxyId"` + // Password Suite, optional GAAP_TLS_CIPHERS_STRICT, GAAP_TLS_CIPHERS_GENERAL, GAAP_TLS_CIPHERS_WIDE(default). + TlsCiphers *string `pulumi:"tlsCiphers"` + // TLS version, optional TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. + TlsSupportVersions []string `pulumi:"tlsSupportVersions"` } // The set of arguments for constructing a Layer7Listener resource. @@ -222,6 +243,8 @@ type Layer7ListenerArgs struct { ClientCertificateIds pulumi.StringArrayInput // Protocol type of the forwarding. Valid value: `HTTP` and `HTTPS`. NOTES: Only supports listeners of `HTTPS` protocol. ForwardProtocol pulumi.StringPtrInput + // Group ID. + GroupId pulumi.StringPtrInput // Name of the layer7 listener, the maximum length is 30. Name pulumi.StringPtrInput // Port of the layer7 listener. @@ -229,7 +252,11 @@ type Layer7ListenerArgs struct { // Protocol of the layer7 listener. Valid value: `HTTP` and `HTTPS`. Protocol pulumi.StringInput // ID of the GAAP proxy. - ProxyId pulumi.StringInput + ProxyId pulumi.StringPtrInput + // Password Suite, optional GAAP_TLS_CIPHERS_STRICT, GAAP_TLS_CIPHERS_GENERAL, GAAP_TLS_CIPHERS_WIDE(default). + TlsCiphers pulumi.StringPtrInput + // TLS version, optional TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. + TlsSupportVersions pulumi.StringArrayInput } func (Layer7ListenerArgs) ElementType() reflect.Type { @@ -351,6 +378,11 @@ func (o Layer7ListenerOutput) ForwardProtocol() pulumi.StringPtrOutput { return o.ApplyT(func(v *Layer7Listener) pulumi.StringPtrOutput { return v.ForwardProtocol }).(pulumi.StringPtrOutput) } +// Group ID. +func (o Layer7ListenerOutput) GroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Layer7Listener) pulumi.StringPtrOutput { return v.GroupId }).(pulumi.StringPtrOutput) +} + // Name of the layer7 listener, the maximum length is 30. func (o Layer7ListenerOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *Layer7Listener) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) @@ -367,8 +399,8 @@ func (o Layer7ListenerOutput) Protocol() pulumi.StringOutput { } // ID of the GAAP proxy. -func (o Layer7ListenerOutput) ProxyId() pulumi.StringOutput { - return o.ApplyT(func(v *Layer7Listener) pulumi.StringOutput { return v.ProxyId }).(pulumi.StringOutput) +func (o Layer7ListenerOutput) ProxyId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Layer7Listener) pulumi.StringPtrOutput { return v.ProxyId }).(pulumi.StringPtrOutput) } // Status of the layer7 listener. @@ -376,6 +408,16 @@ func (o Layer7ListenerOutput) Status() pulumi.IntOutput { return o.ApplyT(func(v *Layer7Listener) pulumi.IntOutput { return v.Status }).(pulumi.IntOutput) } +// Password Suite, optional GAAP_TLS_CIPHERS_STRICT, GAAP_TLS_CIPHERS_GENERAL, GAAP_TLS_CIPHERS_WIDE(default). +func (o Layer7ListenerOutput) TlsCiphers() pulumi.StringOutput { + return o.ApplyT(func(v *Layer7Listener) pulumi.StringOutput { return v.TlsCiphers }).(pulumi.StringOutput) +} + +// TLS version, optional TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. +func (o Layer7ListenerOutput) TlsSupportVersions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *Layer7Listener) pulumi.StringArrayOutput { return v.TlsSupportVersions }).(pulumi.StringArrayOutput) +} + type Layer7ListenerArrayOutput struct{ *pulumi.OutputState } func (Layer7ListenerArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/tencentcloud/gaap/pulumiTypes.go b/sdk/go/tencentcloud/gaap/pulumiTypes.go index 0a297b9e8..bd119d714 100644 --- a/sdk/go/tencentcloud/gaap/pulumiTypes.go +++ b/sdk/go/tencentcloud/gaap/pulumiTypes.go @@ -2258,6 +2258,8 @@ type GetHttpDomainsDomain struct { GaapAuth bool `pulumi:"gaapAuth"` // ID of the SSL certificate. GaapAuthId string `pulumi:"gaapAuthId"` + // Whether to use as the default domain name. + IsDefaultServer bool `pulumi:"isDefaultServer"` // Indicates whether realserver authentication is enable. RealserverAuth bool `pulumi:"realserverAuth"` // CA certificate domain of the realserver. @@ -2300,6 +2302,8 @@ type GetHttpDomainsDomainArgs struct { GaapAuth pulumi.BoolInput `pulumi:"gaapAuth"` // ID of the SSL certificate. GaapAuthId pulumi.StringInput `pulumi:"gaapAuthId"` + // Whether to use as the default domain name. + IsDefaultServer pulumi.BoolInput `pulumi:"isDefaultServer"` // Indicates whether realserver authentication is enable. RealserverAuth pulumi.BoolInput `pulumi:"realserverAuth"` // CA certificate domain of the realserver. @@ -2405,6 +2409,11 @@ func (o GetHttpDomainsDomainOutput) GaapAuthId() pulumi.StringOutput { return o.ApplyT(func(v GetHttpDomainsDomain) string { return v.GaapAuthId }).(pulumi.StringOutput) } +// Whether to use as the default domain name. +func (o GetHttpDomainsDomainOutput) IsDefaultServer() pulumi.BoolOutput { + return o.ApplyT(func(v GetHttpDomainsDomain) bool { return v.IsDefaultServer }).(pulumi.BoolOutput) +} + // Indicates whether realserver authentication is enable. func (o GetHttpDomainsDomainOutput) RealserverAuth() pulumi.BoolOutput { return o.ApplyT(func(v GetHttpDomainsDomain) bool { return v.RealserverAuth }).(pulumi.BoolOutput) @@ -3044,6 +3053,10 @@ type GetLayer7ListenersListener struct { ProxyId string `pulumi:"proxyId"` // Status of the layer7 listener. Status int `pulumi:"status"` + // Password Suite, optional GAAP_TLS_CIPHERS_STRICT, GAAP_TLS_CIPHERS_GENERAL, GAAP_TLS_CIPHERS_WIDE(default). + TlsCiphers string `pulumi:"tlsCiphers"` + // TLS version, optional TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. + TlsSupportVersions []string `pulumi:"tlsSupportVersions"` } // GetLayer7ListenersListenerInput is an input type that accepts GetLayer7ListenersListenerArgs and GetLayer7ListenersListenerOutput values. @@ -3084,6 +3097,10 @@ type GetLayer7ListenersListenerArgs struct { ProxyId pulumi.StringInput `pulumi:"proxyId"` // Status of the layer7 listener. Status pulumi.IntInput `pulumi:"status"` + // Password Suite, optional GAAP_TLS_CIPHERS_STRICT, GAAP_TLS_CIPHERS_GENERAL, GAAP_TLS_CIPHERS_WIDE(default). + TlsCiphers pulumi.StringInput `pulumi:"tlsCiphers"` + // TLS version, optional TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. + TlsSupportVersions pulumi.StringArrayInput `pulumi:"tlsSupportVersions"` } func (GetLayer7ListenersListenerArgs) ElementType() reflect.Type { @@ -3199,6 +3216,16 @@ func (o GetLayer7ListenersListenerOutput) Status() pulumi.IntOutput { return o.ApplyT(func(v GetLayer7ListenersListener) int { return v.Status }).(pulumi.IntOutput) } +// Password Suite, optional GAAP_TLS_CIPHERS_STRICT, GAAP_TLS_CIPHERS_GENERAL, GAAP_TLS_CIPHERS_WIDE(default). +func (o GetLayer7ListenersListenerOutput) TlsCiphers() pulumi.StringOutput { + return o.ApplyT(func(v GetLayer7ListenersListener) string { return v.TlsCiphers }).(pulumi.StringOutput) +} + +// TLS version, optional TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. +func (o GetLayer7ListenersListenerOutput) TlsSupportVersions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetLayer7ListenersListener) []string { return v.TlsSupportVersions }).(pulumi.StringArrayOutput) +} + type GetLayer7ListenersListenerArrayOutput struct{ *pulumi.OutputState } func (GetLayer7ListenersListenerArrayOutput) ElementType() reflect.Type { @@ -4372,6 +4399,8 @@ type GetProxyDetailProxyDetail struct { IpAddressVersion string `pulumi:"ipAddressVersion"` // IP ListNote: This field may return null, indicating that a valid value cannot be obtained. IpLists []GetProxyDetailProxyDetailIpList `pulumi:"ipLists"` + // Whether to allow TLS configuration.0-no support, 1-expressed support. + IsSupportTlsChoice int `pulumi:"isSupportTlsChoice"` // Configuration change timeNote: This field may return null, indicating that a valid value cannot be obtained. ModifyConfigTime int `pulumi:"modifyConfigTime"` // A list of network types supported by the access area, with normal indicating support for regular BGP, cn2 indicating premium BGP, triple indicating three networks, and secure_EIP represents a custom secure EIP. @@ -4456,6 +4485,8 @@ type GetProxyDetailProxyDetailArgs struct { IpAddressVersion pulumi.StringInput `pulumi:"ipAddressVersion"` // IP ListNote: This field may return null, indicating that a valid value cannot be obtained. IpLists GetProxyDetailProxyDetailIpListArrayInput `pulumi:"ipLists"` + // Whether to allow TLS configuration.0-no support, 1-expressed support. + IsSupportTlsChoice pulumi.IntInput `pulumi:"isSupportTlsChoice"` // Configuration change timeNote: This field may return null, indicating that a valid value cannot be obtained. ModifyConfigTime pulumi.IntInput `pulumi:"modifyConfigTime"` // A list of network types supported by the access area, with normal indicating support for regular BGP, cn2 indicating premium BGP, triple indicating three networks, and secure_EIP represents a custom secure EIP. @@ -4635,6 +4666,11 @@ func (o GetProxyDetailProxyDetailOutput) IpLists() GetProxyDetailProxyDetailIpLi return o.ApplyT(func(v GetProxyDetailProxyDetail) []GetProxyDetailProxyDetailIpList { return v.IpLists }).(GetProxyDetailProxyDetailIpListArrayOutput) } +// Whether to allow TLS configuration.0-no support, 1-expressed support. +func (o GetProxyDetailProxyDetailOutput) IsSupportTlsChoice() pulumi.IntOutput { + return o.ApplyT(func(v GetProxyDetailProxyDetail) int { return v.IsSupportTlsChoice }).(pulumi.IntOutput) +} + // Configuration change timeNote: This field may return null, indicating that a valid value cannot be obtained. func (o GetProxyDetailProxyDetailOutput) ModifyConfigTime() pulumi.IntOutput { return o.ApplyT(func(v GetProxyDetailProxyDetail) int { return v.ModifyConfigTime }).(pulumi.IntOutput) 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/centerRoleConfigurationPermissionCustomPoliciesAttachment.go b/sdk/go/tencentcloud/identity/centerRoleConfigurationPermissionCustomPoliciesAttachment.go new file mode 100644 index 000000000..464bc8884 --- /dev/null +++ b/sdk/go/tencentcloud/identity/centerRoleConfigurationPermissionCustomPoliciesAttachment.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 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 Identity.CenterRoleConfigurationPermissionCustomPoliciesAttachment +// +// ## 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.NewCenterRoleConfigurationPermissionCustomPoliciesAttachment(ctx, "identityCenterRoleConfigurationPermissionCustomPoliciesAttachment", &Identity.CenterRoleConfigurationPermissionCustomPoliciesAttachmentArgs{ +// ZoneId: pulumi.String("z-xxxxxx"), +// RoleConfigurationId: pulumi.String("rc-xxxxxx"), +// Policies: identity.CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArray{ +// &identity.CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs{ +// RolePolicyName: pulumi.String("CustomPolicy2"), +// RolePolicyDocument: pulumi.String(`{ +// "version": "2.0", +// "statement": [ +// { +// "effect": "allow", +// "action": [ +// "vpc:AcceptAttachCcnInstances" +// ], +// "resource": [ +// "*" +// ] +// } +// ] +// } +// +// `), +// +// }, +// &identity.CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs{ +// RolePolicyName: pulumi.String("CustomPolicy1"), +// RolePolicyDocument: pulumi.String(`{ +// "version": "2.0", +// "statement": [ +// { +// "effect": "allow", +// "action": [ +// "vpc:AcceptAttachCcnInstances" +// ], +// "resource": [ +// "*" +// ] +// } +// ] +// } +// +// `), +// +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// organization tencentcloud_identity_center_role_configuration_permission_custom_policies_attachment can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Identity/centerRoleConfigurationPermissionCustomPoliciesAttachment:CenterRoleConfigurationPermissionCustomPoliciesAttachment identity_center_role_configuration_permission_custom_policies_attachment ${zoneId}#${roleConfigurationId}#${rolePolicyName1},...${rolePolicyNameN} +// ``` +type CenterRoleConfigurationPermissionCustomPoliciesAttachment struct { + pulumi.CustomResourceState + + // Policies. + Policies CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArrayOutput `pulumi:"policies"` + // Permission configuration ID. + RoleConfigurationId pulumi.StringOutput `pulumi:"roleConfigurationId"` + // Space ID. + ZoneId pulumi.StringOutput `pulumi:"zoneId"` +} + +// NewCenterRoleConfigurationPermissionCustomPoliciesAttachment registers a new resource with the given unique name, arguments, and options. +func NewCenterRoleConfigurationPermissionCustomPoliciesAttachment(ctx *pulumi.Context, + name string, args *CenterRoleConfigurationPermissionCustomPoliciesAttachmentArgs, opts ...pulumi.ResourceOption) (*CenterRoleConfigurationPermissionCustomPoliciesAttachment, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Policies == nil { + return nil, errors.New("invalid value for required argument 'Policies'") + } + if args.RoleConfigurationId == nil { + return nil, errors.New("invalid value for required argument 'RoleConfigurationId'") + } + if args.ZoneId == nil { + return nil, errors.New("invalid value for required argument 'ZoneId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource CenterRoleConfigurationPermissionCustomPoliciesAttachment + err := ctx.RegisterResource("tencentcloud:Identity/centerRoleConfigurationPermissionCustomPoliciesAttachment:CenterRoleConfigurationPermissionCustomPoliciesAttachment", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCenterRoleConfigurationPermissionCustomPoliciesAttachment gets an existing CenterRoleConfigurationPermissionCustomPoliciesAttachment 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 GetCenterRoleConfigurationPermissionCustomPoliciesAttachment(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CenterRoleConfigurationPermissionCustomPoliciesAttachmentState, opts ...pulumi.ResourceOption) (*CenterRoleConfigurationPermissionCustomPoliciesAttachment, error) { + var resource CenterRoleConfigurationPermissionCustomPoliciesAttachment + err := ctx.ReadResource("tencentcloud:Identity/centerRoleConfigurationPermissionCustomPoliciesAttachment:CenterRoleConfigurationPermissionCustomPoliciesAttachment", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering CenterRoleConfigurationPermissionCustomPoliciesAttachment resources. +type centerRoleConfigurationPermissionCustomPoliciesAttachmentState struct { + // Policies. + Policies []CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicy `pulumi:"policies"` + // Permission configuration ID. + RoleConfigurationId *string `pulumi:"roleConfigurationId"` + // Space ID. + ZoneId *string `pulumi:"zoneId"` +} + +type CenterRoleConfigurationPermissionCustomPoliciesAttachmentState struct { + // Policies. + Policies CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArrayInput + // Permission configuration ID. + RoleConfigurationId pulumi.StringPtrInput + // Space ID. + ZoneId pulumi.StringPtrInput +} + +func (CenterRoleConfigurationPermissionCustomPoliciesAttachmentState) ElementType() reflect.Type { + return reflect.TypeOf((*centerRoleConfigurationPermissionCustomPoliciesAttachmentState)(nil)).Elem() +} + +type centerRoleConfigurationPermissionCustomPoliciesAttachmentArgs struct { + // Policies. + Policies []CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicy `pulumi:"policies"` + // Permission configuration ID. + RoleConfigurationId string `pulumi:"roleConfigurationId"` + // Space ID. + ZoneId string `pulumi:"zoneId"` +} + +// The set of arguments for constructing a CenterRoleConfigurationPermissionCustomPoliciesAttachment resource. +type CenterRoleConfigurationPermissionCustomPoliciesAttachmentArgs struct { + // Policies. + Policies CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArrayInput + // Permission configuration ID. + RoleConfigurationId pulumi.StringInput + // Space ID. + ZoneId pulumi.StringInput +} + +func (CenterRoleConfigurationPermissionCustomPoliciesAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*centerRoleConfigurationPermissionCustomPoliciesAttachmentArgs)(nil)).Elem() +} + +type CenterRoleConfigurationPermissionCustomPoliciesAttachmentInput interface { + pulumi.Input + + ToCenterRoleConfigurationPermissionCustomPoliciesAttachmentOutput() CenterRoleConfigurationPermissionCustomPoliciesAttachmentOutput + ToCenterRoleConfigurationPermissionCustomPoliciesAttachmentOutputWithContext(ctx context.Context) CenterRoleConfigurationPermissionCustomPoliciesAttachmentOutput +} + +func (*CenterRoleConfigurationPermissionCustomPoliciesAttachment) ElementType() reflect.Type { + return reflect.TypeOf((**CenterRoleConfigurationPermissionCustomPoliciesAttachment)(nil)).Elem() +} + +func (i *CenterRoleConfigurationPermissionCustomPoliciesAttachment) ToCenterRoleConfigurationPermissionCustomPoliciesAttachmentOutput() CenterRoleConfigurationPermissionCustomPoliciesAttachmentOutput { + return i.ToCenterRoleConfigurationPermissionCustomPoliciesAttachmentOutputWithContext(context.Background()) +} + +func (i *CenterRoleConfigurationPermissionCustomPoliciesAttachment) ToCenterRoleConfigurationPermissionCustomPoliciesAttachmentOutputWithContext(ctx context.Context) CenterRoleConfigurationPermissionCustomPoliciesAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterRoleConfigurationPermissionCustomPoliciesAttachmentOutput) +} + +// CenterRoleConfigurationPermissionCustomPoliciesAttachmentArrayInput is an input type that accepts CenterRoleConfigurationPermissionCustomPoliciesAttachmentArray and CenterRoleConfigurationPermissionCustomPoliciesAttachmentArrayOutput values. +// You can construct a concrete instance of `CenterRoleConfigurationPermissionCustomPoliciesAttachmentArrayInput` via: +// +// CenterRoleConfigurationPermissionCustomPoliciesAttachmentArray{ CenterRoleConfigurationPermissionCustomPoliciesAttachmentArgs{...} } +type CenterRoleConfigurationPermissionCustomPoliciesAttachmentArrayInput interface { + pulumi.Input + + ToCenterRoleConfigurationPermissionCustomPoliciesAttachmentArrayOutput() CenterRoleConfigurationPermissionCustomPoliciesAttachmentArrayOutput + ToCenterRoleConfigurationPermissionCustomPoliciesAttachmentArrayOutputWithContext(context.Context) CenterRoleConfigurationPermissionCustomPoliciesAttachmentArrayOutput +} + +type CenterRoleConfigurationPermissionCustomPoliciesAttachmentArray []CenterRoleConfigurationPermissionCustomPoliciesAttachmentInput + +func (CenterRoleConfigurationPermissionCustomPoliciesAttachmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CenterRoleConfigurationPermissionCustomPoliciesAttachment)(nil)).Elem() +} + +func (i CenterRoleConfigurationPermissionCustomPoliciesAttachmentArray) ToCenterRoleConfigurationPermissionCustomPoliciesAttachmentArrayOutput() CenterRoleConfigurationPermissionCustomPoliciesAttachmentArrayOutput { + return i.ToCenterRoleConfigurationPermissionCustomPoliciesAttachmentArrayOutputWithContext(context.Background()) +} + +func (i CenterRoleConfigurationPermissionCustomPoliciesAttachmentArray) ToCenterRoleConfigurationPermissionCustomPoliciesAttachmentArrayOutputWithContext(ctx context.Context) CenterRoleConfigurationPermissionCustomPoliciesAttachmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterRoleConfigurationPermissionCustomPoliciesAttachmentArrayOutput) +} + +// CenterRoleConfigurationPermissionCustomPoliciesAttachmentMapInput is an input type that accepts CenterRoleConfigurationPermissionCustomPoliciesAttachmentMap and CenterRoleConfigurationPermissionCustomPoliciesAttachmentMapOutput values. +// You can construct a concrete instance of `CenterRoleConfigurationPermissionCustomPoliciesAttachmentMapInput` via: +// +// CenterRoleConfigurationPermissionCustomPoliciesAttachmentMap{ "key": CenterRoleConfigurationPermissionCustomPoliciesAttachmentArgs{...} } +type CenterRoleConfigurationPermissionCustomPoliciesAttachmentMapInput interface { + pulumi.Input + + ToCenterRoleConfigurationPermissionCustomPoliciesAttachmentMapOutput() CenterRoleConfigurationPermissionCustomPoliciesAttachmentMapOutput + ToCenterRoleConfigurationPermissionCustomPoliciesAttachmentMapOutputWithContext(context.Context) CenterRoleConfigurationPermissionCustomPoliciesAttachmentMapOutput +} + +type CenterRoleConfigurationPermissionCustomPoliciesAttachmentMap map[string]CenterRoleConfigurationPermissionCustomPoliciesAttachmentInput + +func (CenterRoleConfigurationPermissionCustomPoliciesAttachmentMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CenterRoleConfigurationPermissionCustomPoliciesAttachment)(nil)).Elem() +} + +func (i CenterRoleConfigurationPermissionCustomPoliciesAttachmentMap) ToCenterRoleConfigurationPermissionCustomPoliciesAttachmentMapOutput() CenterRoleConfigurationPermissionCustomPoliciesAttachmentMapOutput { + return i.ToCenterRoleConfigurationPermissionCustomPoliciesAttachmentMapOutputWithContext(context.Background()) +} + +func (i CenterRoleConfigurationPermissionCustomPoliciesAttachmentMap) ToCenterRoleConfigurationPermissionCustomPoliciesAttachmentMapOutputWithContext(ctx context.Context) CenterRoleConfigurationPermissionCustomPoliciesAttachmentMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterRoleConfigurationPermissionCustomPoliciesAttachmentMapOutput) +} + +type CenterRoleConfigurationPermissionCustomPoliciesAttachmentOutput struct{ *pulumi.OutputState } + +func (CenterRoleConfigurationPermissionCustomPoliciesAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CenterRoleConfigurationPermissionCustomPoliciesAttachment)(nil)).Elem() +} + +func (o CenterRoleConfigurationPermissionCustomPoliciesAttachmentOutput) ToCenterRoleConfigurationPermissionCustomPoliciesAttachmentOutput() CenterRoleConfigurationPermissionCustomPoliciesAttachmentOutput { + return o +} + +func (o CenterRoleConfigurationPermissionCustomPoliciesAttachmentOutput) ToCenterRoleConfigurationPermissionCustomPoliciesAttachmentOutputWithContext(ctx context.Context) CenterRoleConfigurationPermissionCustomPoliciesAttachmentOutput { + return o +} + +// Policies. +func (o CenterRoleConfigurationPermissionCustomPoliciesAttachmentOutput) Policies() CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArrayOutput { + return o.ApplyT(func(v *CenterRoleConfigurationPermissionCustomPoliciesAttachment) CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArrayOutput { + return v.Policies + }).(CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArrayOutput) +} + +// Permission configuration ID. +func (o CenterRoleConfigurationPermissionCustomPoliciesAttachmentOutput) RoleConfigurationId() pulumi.StringOutput { + return o.ApplyT(func(v *CenterRoleConfigurationPermissionCustomPoliciesAttachment) pulumi.StringOutput { + return v.RoleConfigurationId + }).(pulumi.StringOutput) +} + +// Space ID. +func (o CenterRoleConfigurationPermissionCustomPoliciesAttachmentOutput) ZoneId() pulumi.StringOutput { + return o.ApplyT(func(v *CenterRoleConfigurationPermissionCustomPoliciesAttachment) pulumi.StringOutput { + return v.ZoneId + }).(pulumi.StringOutput) +} + +type CenterRoleConfigurationPermissionCustomPoliciesAttachmentArrayOutput struct{ *pulumi.OutputState } + +func (CenterRoleConfigurationPermissionCustomPoliciesAttachmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CenterRoleConfigurationPermissionCustomPoliciesAttachment)(nil)).Elem() +} + +func (o CenterRoleConfigurationPermissionCustomPoliciesAttachmentArrayOutput) ToCenterRoleConfigurationPermissionCustomPoliciesAttachmentArrayOutput() CenterRoleConfigurationPermissionCustomPoliciesAttachmentArrayOutput { + return o +} + +func (o CenterRoleConfigurationPermissionCustomPoliciesAttachmentArrayOutput) ToCenterRoleConfigurationPermissionCustomPoliciesAttachmentArrayOutputWithContext(ctx context.Context) CenterRoleConfigurationPermissionCustomPoliciesAttachmentArrayOutput { + return o +} + +func (o CenterRoleConfigurationPermissionCustomPoliciesAttachmentArrayOutput) Index(i pulumi.IntInput) CenterRoleConfigurationPermissionCustomPoliciesAttachmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *CenterRoleConfigurationPermissionCustomPoliciesAttachment { + return vs[0].([]*CenterRoleConfigurationPermissionCustomPoliciesAttachment)[vs[1].(int)] + }).(CenterRoleConfigurationPermissionCustomPoliciesAttachmentOutput) +} + +type CenterRoleConfigurationPermissionCustomPoliciesAttachmentMapOutput struct{ *pulumi.OutputState } + +func (CenterRoleConfigurationPermissionCustomPoliciesAttachmentMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CenterRoleConfigurationPermissionCustomPoliciesAttachment)(nil)).Elem() +} + +func (o CenterRoleConfigurationPermissionCustomPoliciesAttachmentMapOutput) ToCenterRoleConfigurationPermissionCustomPoliciesAttachmentMapOutput() CenterRoleConfigurationPermissionCustomPoliciesAttachmentMapOutput { + return o +} + +func (o CenterRoleConfigurationPermissionCustomPoliciesAttachmentMapOutput) ToCenterRoleConfigurationPermissionCustomPoliciesAttachmentMapOutputWithContext(ctx context.Context) CenterRoleConfigurationPermissionCustomPoliciesAttachmentMapOutput { + return o +} + +func (o CenterRoleConfigurationPermissionCustomPoliciesAttachmentMapOutput) MapIndex(k pulumi.StringInput) CenterRoleConfigurationPermissionCustomPoliciesAttachmentOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *CenterRoleConfigurationPermissionCustomPoliciesAttachment { + return vs[0].(map[string]*CenterRoleConfigurationPermissionCustomPoliciesAttachment)[vs[1].(string)] + }).(CenterRoleConfigurationPermissionCustomPoliciesAttachmentOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CenterRoleConfigurationPermissionCustomPoliciesAttachmentInput)(nil)).Elem(), &CenterRoleConfigurationPermissionCustomPoliciesAttachment{}) + pulumi.RegisterInputType(reflect.TypeOf((*CenterRoleConfigurationPermissionCustomPoliciesAttachmentArrayInput)(nil)).Elem(), CenterRoleConfigurationPermissionCustomPoliciesAttachmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CenterRoleConfigurationPermissionCustomPoliciesAttachmentMapInput)(nil)).Elem(), CenterRoleConfigurationPermissionCustomPoliciesAttachmentMap{}) + pulumi.RegisterOutputType(CenterRoleConfigurationPermissionCustomPoliciesAttachmentOutput{}) + pulumi.RegisterOutputType(CenterRoleConfigurationPermissionCustomPoliciesAttachmentArrayOutput{}) + pulumi.RegisterOutputType(CenterRoleConfigurationPermissionCustomPoliciesAttachmentMapOutput{}) +} 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/centerScimCredential.go b/sdk/go/tencentcloud/identity/centerScimCredential.go new file mode 100644 index 000000000..be9eb086a --- /dev/null +++ b/sdk/go/tencentcloud/identity/centerScimCredential.go @@ -0,0 +1,310 @@ +// 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 scim credential +// +// ## 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.NewCenterScimCredential(ctx, "identityCenterScimCredential", &Identity.CenterScimCredentialArgs{ +// ZoneId: pulumi.String("z-xxxxxx"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// organization identity_center_scim_credential can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Identity/centerScimCredential:CenterScimCredential identity_center_scim_credential ${zone_id}#${credential_id} +// ``` +type CenterScimCredential struct { + pulumi.CustomResourceState + + // SCIM create time. + CreateTime pulumi.StringOutput `pulumi:"createTime"` + // SCIM key ID. scimcred-prefix and followed by 12 random digits/lowercase letters. + CredentialId pulumi.StringOutput `pulumi:"credentialId"` + // SCIM credential type. + CredentialType pulumi.StringOutput `pulumi:"credentialType"` + // SCIM expire time. + ExpireTime pulumi.StringOutput `pulumi:"expireTime"` + // SCIM key status, Enabled-On, Disabled-Closed. + Status pulumi.StringOutput `pulumi:"status"` + // Space ID. z-prefix starts with 12 random digits/lowercase letters. + ZoneId pulumi.StringOutput `pulumi:"zoneId"` +} + +// NewCenterScimCredential registers a new resource with the given unique name, arguments, and options. +func NewCenterScimCredential(ctx *pulumi.Context, + name string, args *CenterScimCredentialArgs, opts ...pulumi.ResourceOption) (*CenterScimCredential, 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 CenterScimCredential + err := ctx.RegisterResource("tencentcloud:Identity/centerScimCredential:CenterScimCredential", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCenterScimCredential gets an existing CenterScimCredential 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 GetCenterScimCredential(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CenterScimCredentialState, opts ...pulumi.ResourceOption) (*CenterScimCredential, error) { + var resource CenterScimCredential + err := ctx.ReadResource("tencentcloud:Identity/centerScimCredential:CenterScimCredential", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering CenterScimCredential resources. +type centerScimCredentialState struct { + // SCIM create time. + CreateTime *string `pulumi:"createTime"` + // SCIM key ID. scimcred-prefix and followed by 12 random digits/lowercase letters. + CredentialId *string `pulumi:"credentialId"` + // SCIM credential type. + CredentialType *string `pulumi:"credentialType"` + // SCIM expire time. + ExpireTime *string `pulumi:"expireTime"` + // SCIM key status, Enabled-On, Disabled-Closed. + Status *string `pulumi:"status"` + // Space ID. z-prefix starts with 12 random digits/lowercase letters. + ZoneId *string `pulumi:"zoneId"` +} + +type CenterScimCredentialState struct { + // SCIM create time. + CreateTime pulumi.StringPtrInput + // SCIM key ID. scimcred-prefix and followed by 12 random digits/lowercase letters. + CredentialId pulumi.StringPtrInput + // SCIM credential type. + CredentialType pulumi.StringPtrInput + // SCIM expire time. + ExpireTime pulumi.StringPtrInput + // SCIM key status, Enabled-On, Disabled-Closed. + Status pulumi.StringPtrInput + // Space ID. z-prefix starts with 12 random digits/lowercase letters. + ZoneId pulumi.StringPtrInput +} + +func (CenterScimCredentialState) ElementType() reflect.Type { + return reflect.TypeOf((*centerScimCredentialState)(nil)).Elem() +} + +type centerScimCredentialArgs struct { + // Space ID. z-prefix starts with 12 random digits/lowercase letters. + ZoneId string `pulumi:"zoneId"` +} + +// The set of arguments for constructing a CenterScimCredential resource. +type CenterScimCredentialArgs struct { + // Space ID. z-prefix starts with 12 random digits/lowercase letters. + ZoneId pulumi.StringInput +} + +func (CenterScimCredentialArgs) ElementType() reflect.Type { + return reflect.TypeOf((*centerScimCredentialArgs)(nil)).Elem() +} + +type CenterScimCredentialInput interface { + pulumi.Input + + ToCenterScimCredentialOutput() CenterScimCredentialOutput + ToCenterScimCredentialOutputWithContext(ctx context.Context) CenterScimCredentialOutput +} + +func (*CenterScimCredential) ElementType() reflect.Type { + return reflect.TypeOf((**CenterScimCredential)(nil)).Elem() +} + +func (i *CenterScimCredential) ToCenterScimCredentialOutput() CenterScimCredentialOutput { + return i.ToCenterScimCredentialOutputWithContext(context.Background()) +} + +func (i *CenterScimCredential) ToCenterScimCredentialOutputWithContext(ctx context.Context) CenterScimCredentialOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterScimCredentialOutput) +} + +// CenterScimCredentialArrayInput is an input type that accepts CenterScimCredentialArray and CenterScimCredentialArrayOutput values. +// You can construct a concrete instance of `CenterScimCredentialArrayInput` via: +// +// CenterScimCredentialArray{ CenterScimCredentialArgs{...} } +type CenterScimCredentialArrayInput interface { + pulumi.Input + + ToCenterScimCredentialArrayOutput() CenterScimCredentialArrayOutput + ToCenterScimCredentialArrayOutputWithContext(context.Context) CenterScimCredentialArrayOutput +} + +type CenterScimCredentialArray []CenterScimCredentialInput + +func (CenterScimCredentialArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CenterScimCredential)(nil)).Elem() +} + +func (i CenterScimCredentialArray) ToCenterScimCredentialArrayOutput() CenterScimCredentialArrayOutput { + return i.ToCenterScimCredentialArrayOutputWithContext(context.Background()) +} + +func (i CenterScimCredentialArray) ToCenterScimCredentialArrayOutputWithContext(ctx context.Context) CenterScimCredentialArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterScimCredentialArrayOutput) +} + +// CenterScimCredentialMapInput is an input type that accepts CenterScimCredentialMap and CenterScimCredentialMapOutput values. +// You can construct a concrete instance of `CenterScimCredentialMapInput` via: +// +// CenterScimCredentialMap{ "key": CenterScimCredentialArgs{...} } +type CenterScimCredentialMapInput interface { + pulumi.Input + + ToCenterScimCredentialMapOutput() CenterScimCredentialMapOutput + ToCenterScimCredentialMapOutputWithContext(context.Context) CenterScimCredentialMapOutput +} + +type CenterScimCredentialMap map[string]CenterScimCredentialInput + +func (CenterScimCredentialMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CenterScimCredential)(nil)).Elem() +} + +func (i CenterScimCredentialMap) ToCenterScimCredentialMapOutput() CenterScimCredentialMapOutput { + return i.ToCenterScimCredentialMapOutputWithContext(context.Background()) +} + +func (i CenterScimCredentialMap) ToCenterScimCredentialMapOutputWithContext(ctx context.Context) CenterScimCredentialMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterScimCredentialMapOutput) +} + +type CenterScimCredentialOutput struct{ *pulumi.OutputState } + +func (CenterScimCredentialOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CenterScimCredential)(nil)).Elem() +} + +func (o CenterScimCredentialOutput) ToCenterScimCredentialOutput() CenterScimCredentialOutput { + return o +} + +func (o CenterScimCredentialOutput) ToCenterScimCredentialOutputWithContext(ctx context.Context) CenterScimCredentialOutput { + return o +} + +// SCIM create time. +func (o CenterScimCredentialOutput) CreateTime() pulumi.StringOutput { + return o.ApplyT(func(v *CenterScimCredential) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput) +} + +// SCIM key ID. scimcred-prefix and followed by 12 random digits/lowercase letters. +func (o CenterScimCredentialOutput) CredentialId() pulumi.StringOutput { + return o.ApplyT(func(v *CenterScimCredential) pulumi.StringOutput { return v.CredentialId }).(pulumi.StringOutput) +} + +// SCIM credential type. +func (o CenterScimCredentialOutput) CredentialType() pulumi.StringOutput { + return o.ApplyT(func(v *CenterScimCredential) pulumi.StringOutput { return v.CredentialType }).(pulumi.StringOutput) +} + +// SCIM expire time. +func (o CenterScimCredentialOutput) ExpireTime() pulumi.StringOutput { + return o.ApplyT(func(v *CenterScimCredential) pulumi.StringOutput { return v.ExpireTime }).(pulumi.StringOutput) +} + +// SCIM key status, Enabled-On, Disabled-Closed. +func (o CenterScimCredentialOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *CenterScimCredential) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// Space ID. z-prefix starts with 12 random digits/lowercase letters. +func (o CenterScimCredentialOutput) ZoneId() pulumi.StringOutput { + return o.ApplyT(func(v *CenterScimCredential) pulumi.StringOutput { return v.ZoneId }).(pulumi.StringOutput) +} + +type CenterScimCredentialArrayOutput struct{ *pulumi.OutputState } + +func (CenterScimCredentialArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CenterScimCredential)(nil)).Elem() +} + +func (o CenterScimCredentialArrayOutput) ToCenterScimCredentialArrayOutput() CenterScimCredentialArrayOutput { + return o +} + +func (o CenterScimCredentialArrayOutput) ToCenterScimCredentialArrayOutputWithContext(ctx context.Context) CenterScimCredentialArrayOutput { + return o +} + +func (o CenterScimCredentialArrayOutput) Index(i pulumi.IntInput) CenterScimCredentialOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *CenterScimCredential { + return vs[0].([]*CenterScimCredential)[vs[1].(int)] + }).(CenterScimCredentialOutput) +} + +type CenterScimCredentialMapOutput struct{ *pulumi.OutputState } + +func (CenterScimCredentialMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CenterScimCredential)(nil)).Elem() +} + +func (o CenterScimCredentialMapOutput) ToCenterScimCredentialMapOutput() CenterScimCredentialMapOutput { + return o +} + +func (o CenterScimCredentialMapOutput) ToCenterScimCredentialMapOutputWithContext(ctx context.Context) CenterScimCredentialMapOutput { + return o +} + +func (o CenterScimCredentialMapOutput) MapIndex(k pulumi.StringInput) CenterScimCredentialOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *CenterScimCredential { + return vs[0].(map[string]*CenterScimCredential)[vs[1].(string)] + }).(CenterScimCredentialOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CenterScimCredentialInput)(nil)).Elem(), &CenterScimCredential{}) + pulumi.RegisterInputType(reflect.TypeOf((*CenterScimCredentialArrayInput)(nil)).Elem(), CenterScimCredentialArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CenterScimCredentialMapInput)(nil)).Elem(), CenterScimCredentialMap{}) + pulumi.RegisterOutputType(CenterScimCredentialOutput{}) + pulumi.RegisterOutputType(CenterScimCredentialArrayOutput{}) + pulumi.RegisterOutputType(CenterScimCredentialMapOutput{}) +} diff --git a/sdk/go/tencentcloud/identity/centerScimCredentialStatus.go b/sdk/go/tencentcloud/identity/centerScimCredentialStatus.go new file mode 100644 index 000000000..20f2f17e0 --- /dev/null +++ b/sdk/go/tencentcloud/identity/centerScimCredentialStatus.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 manage identity center scim credential status +// +// ## 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.NewCenterScimCredentialStatus(ctx, "identityCenterScimCredentialStatus", &Identity.CenterScimCredentialStatusArgs{ +// CredentialId: pulumi.String("scimcred-xxxxxx"), +// Status: pulumi.String("Enabled"), +// ZoneId: pulumi.String("z-xxxxxx"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// organization identity_center_scim_credential_status can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Identity/centerScimCredentialStatus:CenterScimCredentialStatus identity_center_scim_credential_status ${zone_id}#${credential_id} +// ``` +type CenterScimCredentialStatus struct { + pulumi.CustomResourceState + + // SCIM key ID. scimcred-prefix and followed by 12 random digits/lowercase letters. + CredentialId pulumi.StringOutput `pulumi:"credentialId"` + // SCIM key status. Enabled-enabled. Disabled-disabled. + Status pulumi.StringOutput `pulumi:"status"` + // Space ID. z-prefix starts with 12 random digits/lowercase letters. + ZoneId pulumi.StringOutput `pulumi:"zoneId"` +} + +// NewCenterScimCredentialStatus registers a new resource with the given unique name, arguments, and options. +func NewCenterScimCredentialStatus(ctx *pulumi.Context, + name string, args *CenterScimCredentialStatusArgs, opts ...pulumi.ResourceOption) (*CenterScimCredentialStatus, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.CredentialId == nil { + return nil, errors.New("invalid value for required argument 'CredentialId'") + } + if args.Status == nil { + return nil, errors.New("invalid value for required argument 'Status'") + } + if args.ZoneId == nil { + return nil, errors.New("invalid value for required argument 'ZoneId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource CenterScimCredentialStatus + err := ctx.RegisterResource("tencentcloud:Identity/centerScimCredentialStatus:CenterScimCredentialStatus", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCenterScimCredentialStatus gets an existing CenterScimCredentialStatus 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 GetCenterScimCredentialStatus(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CenterScimCredentialStatusState, opts ...pulumi.ResourceOption) (*CenterScimCredentialStatus, error) { + var resource CenterScimCredentialStatus + err := ctx.ReadResource("tencentcloud:Identity/centerScimCredentialStatus:CenterScimCredentialStatus", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering CenterScimCredentialStatus resources. +type centerScimCredentialStatusState struct { + // SCIM key ID. scimcred-prefix and followed by 12 random digits/lowercase letters. + CredentialId *string `pulumi:"credentialId"` + // SCIM key status. Enabled-enabled. Disabled-disabled. + Status *string `pulumi:"status"` + // Space ID. z-prefix starts with 12 random digits/lowercase letters. + ZoneId *string `pulumi:"zoneId"` +} + +type CenterScimCredentialStatusState struct { + // SCIM key ID. scimcred-prefix and followed by 12 random digits/lowercase letters. + CredentialId pulumi.StringPtrInput + // SCIM key status. Enabled-enabled. Disabled-disabled. + Status pulumi.StringPtrInput + // Space ID. z-prefix starts with 12 random digits/lowercase letters. + ZoneId pulumi.StringPtrInput +} + +func (CenterScimCredentialStatusState) ElementType() reflect.Type { + return reflect.TypeOf((*centerScimCredentialStatusState)(nil)).Elem() +} + +type centerScimCredentialStatusArgs struct { + // SCIM key ID. scimcred-prefix and followed by 12 random digits/lowercase letters. + CredentialId string `pulumi:"credentialId"` + // SCIM key status. Enabled-enabled. Disabled-disabled. + Status string `pulumi:"status"` + // Space ID. z-prefix starts with 12 random digits/lowercase letters. + ZoneId string `pulumi:"zoneId"` +} + +// The set of arguments for constructing a CenterScimCredentialStatus resource. +type CenterScimCredentialStatusArgs struct { + // SCIM key ID. scimcred-prefix and followed by 12 random digits/lowercase letters. + CredentialId pulumi.StringInput + // SCIM key status. Enabled-enabled. Disabled-disabled. + Status pulumi.StringInput + // Space ID. z-prefix starts with 12 random digits/lowercase letters. + ZoneId pulumi.StringInput +} + +func (CenterScimCredentialStatusArgs) ElementType() reflect.Type { + return reflect.TypeOf((*centerScimCredentialStatusArgs)(nil)).Elem() +} + +type CenterScimCredentialStatusInput interface { + pulumi.Input + + ToCenterScimCredentialStatusOutput() CenterScimCredentialStatusOutput + ToCenterScimCredentialStatusOutputWithContext(ctx context.Context) CenterScimCredentialStatusOutput +} + +func (*CenterScimCredentialStatus) ElementType() reflect.Type { + return reflect.TypeOf((**CenterScimCredentialStatus)(nil)).Elem() +} + +func (i *CenterScimCredentialStatus) ToCenterScimCredentialStatusOutput() CenterScimCredentialStatusOutput { + return i.ToCenterScimCredentialStatusOutputWithContext(context.Background()) +} + +func (i *CenterScimCredentialStatus) ToCenterScimCredentialStatusOutputWithContext(ctx context.Context) CenterScimCredentialStatusOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterScimCredentialStatusOutput) +} + +// CenterScimCredentialStatusArrayInput is an input type that accepts CenterScimCredentialStatusArray and CenterScimCredentialStatusArrayOutput values. +// You can construct a concrete instance of `CenterScimCredentialStatusArrayInput` via: +// +// CenterScimCredentialStatusArray{ CenterScimCredentialStatusArgs{...} } +type CenterScimCredentialStatusArrayInput interface { + pulumi.Input + + ToCenterScimCredentialStatusArrayOutput() CenterScimCredentialStatusArrayOutput + ToCenterScimCredentialStatusArrayOutputWithContext(context.Context) CenterScimCredentialStatusArrayOutput +} + +type CenterScimCredentialStatusArray []CenterScimCredentialStatusInput + +func (CenterScimCredentialStatusArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CenterScimCredentialStatus)(nil)).Elem() +} + +func (i CenterScimCredentialStatusArray) ToCenterScimCredentialStatusArrayOutput() CenterScimCredentialStatusArrayOutput { + return i.ToCenterScimCredentialStatusArrayOutputWithContext(context.Background()) +} + +func (i CenterScimCredentialStatusArray) ToCenterScimCredentialStatusArrayOutputWithContext(ctx context.Context) CenterScimCredentialStatusArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterScimCredentialStatusArrayOutput) +} + +// CenterScimCredentialStatusMapInput is an input type that accepts CenterScimCredentialStatusMap and CenterScimCredentialStatusMapOutput values. +// You can construct a concrete instance of `CenterScimCredentialStatusMapInput` via: +// +// CenterScimCredentialStatusMap{ "key": CenterScimCredentialStatusArgs{...} } +type CenterScimCredentialStatusMapInput interface { + pulumi.Input + + ToCenterScimCredentialStatusMapOutput() CenterScimCredentialStatusMapOutput + ToCenterScimCredentialStatusMapOutputWithContext(context.Context) CenterScimCredentialStatusMapOutput +} + +type CenterScimCredentialStatusMap map[string]CenterScimCredentialStatusInput + +func (CenterScimCredentialStatusMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CenterScimCredentialStatus)(nil)).Elem() +} + +func (i CenterScimCredentialStatusMap) ToCenterScimCredentialStatusMapOutput() CenterScimCredentialStatusMapOutput { + return i.ToCenterScimCredentialStatusMapOutputWithContext(context.Background()) +} + +func (i CenterScimCredentialStatusMap) ToCenterScimCredentialStatusMapOutputWithContext(ctx context.Context) CenterScimCredentialStatusMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterScimCredentialStatusMapOutput) +} + +type CenterScimCredentialStatusOutput struct{ *pulumi.OutputState } + +func (CenterScimCredentialStatusOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CenterScimCredentialStatus)(nil)).Elem() +} + +func (o CenterScimCredentialStatusOutput) ToCenterScimCredentialStatusOutput() CenterScimCredentialStatusOutput { + return o +} + +func (o CenterScimCredentialStatusOutput) ToCenterScimCredentialStatusOutputWithContext(ctx context.Context) CenterScimCredentialStatusOutput { + return o +} + +// SCIM key ID. scimcred-prefix and followed by 12 random digits/lowercase letters. +func (o CenterScimCredentialStatusOutput) CredentialId() pulumi.StringOutput { + return o.ApplyT(func(v *CenterScimCredentialStatus) pulumi.StringOutput { return v.CredentialId }).(pulumi.StringOutput) +} + +// SCIM key status. Enabled-enabled. Disabled-disabled. +func (o CenterScimCredentialStatusOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *CenterScimCredentialStatus) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// Space ID. z-prefix starts with 12 random digits/lowercase letters. +func (o CenterScimCredentialStatusOutput) ZoneId() pulumi.StringOutput { + return o.ApplyT(func(v *CenterScimCredentialStatus) pulumi.StringOutput { return v.ZoneId }).(pulumi.StringOutput) +} + +type CenterScimCredentialStatusArrayOutput struct{ *pulumi.OutputState } + +func (CenterScimCredentialStatusArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CenterScimCredentialStatus)(nil)).Elem() +} + +func (o CenterScimCredentialStatusArrayOutput) ToCenterScimCredentialStatusArrayOutput() CenterScimCredentialStatusArrayOutput { + return o +} + +func (o CenterScimCredentialStatusArrayOutput) ToCenterScimCredentialStatusArrayOutputWithContext(ctx context.Context) CenterScimCredentialStatusArrayOutput { + return o +} + +func (o CenterScimCredentialStatusArrayOutput) Index(i pulumi.IntInput) CenterScimCredentialStatusOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *CenterScimCredentialStatus { + return vs[0].([]*CenterScimCredentialStatus)[vs[1].(int)] + }).(CenterScimCredentialStatusOutput) +} + +type CenterScimCredentialStatusMapOutput struct{ *pulumi.OutputState } + +func (CenterScimCredentialStatusMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CenterScimCredentialStatus)(nil)).Elem() +} + +func (o CenterScimCredentialStatusMapOutput) ToCenterScimCredentialStatusMapOutput() CenterScimCredentialStatusMapOutput { + return o +} + +func (o CenterScimCredentialStatusMapOutput) ToCenterScimCredentialStatusMapOutputWithContext(ctx context.Context) CenterScimCredentialStatusMapOutput { + return o +} + +func (o CenterScimCredentialStatusMapOutput) MapIndex(k pulumi.StringInput) CenterScimCredentialStatusOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *CenterScimCredentialStatus { + return vs[0].(map[string]*CenterScimCredentialStatus)[vs[1].(string)] + }).(CenterScimCredentialStatusOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CenterScimCredentialStatusInput)(nil)).Elem(), &CenterScimCredentialStatus{}) + pulumi.RegisterInputType(reflect.TypeOf((*CenterScimCredentialStatusArrayInput)(nil)).Elem(), CenterScimCredentialStatusArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CenterScimCredentialStatusMapInput)(nil)).Elem(), CenterScimCredentialStatusMap{}) + pulumi.RegisterOutputType(CenterScimCredentialStatusOutput{}) + pulumi.RegisterOutputType(CenterScimCredentialStatusArrayOutput{}) + pulumi.RegisterOutputType(CenterScimCredentialStatusMapOutput{}) +} diff --git a/sdk/go/tencentcloud/identity/centerScimSynchronizationStatus.go b/sdk/go/tencentcloud/identity/centerScimSynchronizationStatus.go new file mode 100644 index 000000000..2be5ac69f --- /dev/null +++ b/sdk/go/tencentcloud/identity/centerScimSynchronizationStatus.go @@ -0,0 +1,274 @@ +// 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 manage identity center scim synchronization status +// +// ## 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.NewCenterScimSynchronizationStatus(ctx, "identityCenterScimSynchronizationStatus", &Identity.CenterScimSynchronizationStatusArgs{ +// ScimSynchronizationStatus: pulumi.String("Enabled"), +// ZoneId: pulumi.String("z-xxxxxx"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// organization identity_center_scim_synchronization_status can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Identity/centerScimSynchronizationStatus:CenterScimSynchronizationStatus identity_center_scim_synchronization_status ${zone_id} +// ``` +type CenterScimSynchronizationStatus struct { + pulumi.CustomResourceState + + // SCIM synchronization status. Enabled-enabled. Disabled-disables. + ScimSynchronizationStatus pulumi.StringOutput `pulumi:"scimSynchronizationStatus"` + // Space ID. z-prefix starts with 12 random digits/lowercase letters. + ZoneId pulumi.StringOutput `pulumi:"zoneId"` +} + +// NewCenterScimSynchronizationStatus registers a new resource with the given unique name, arguments, and options. +func NewCenterScimSynchronizationStatus(ctx *pulumi.Context, + name string, args *CenterScimSynchronizationStatusArgs, opts ...pulumi.ResourceOption) (*CenterScimSynchronizationStatus, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ScimSynchronizationStatus == nil { + return nil, errors.New("invalid value for required argument 'ScimSynchronizationStatus'") + } + if args.ZoneId == nil { + return nil, errors.New("invalid value for required argument 'ZoneId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource CenterScimSynchronizationStatus + err := ctx.RegisterResource("tencentcloud:Identity/centerScimSynchronizationStatus:CenterScimSynchronizationStatus", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCenterScimSynchronizationStatus gets an existing CenterScimSynchronizationStatus 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 GetCenterScimSynchronizationStatus(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CenterScimSynchronizationStatusState, opts ...pulumi.ResourceOption) (*CenterScimSynchronizationStatus, error) { + var resource CenterScimSynchronizationStatus + err := ctx.ReadResource("tencentcloud:Identity/centerScimSynchronizationStatus:CenterScimSynchronizationStatus", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering CenterScimSynchronizationStatus resources. +type centerScimSynchronizationStatusState struct { + // SCIM synchronization status. Enabled-enabled. Disabled-disables. + ScimSynchronizationStatus *string `pulumi:"scimSynchronizationStatus"` + // Space ID. z-prefix starts with 12 random digits/lowercase letters. + ZoneId *string `pulumi:"zoneId"` +} + +type CenterScimSynchronizationStatusState struct { + // SCIM synchronization status. Enabled-enabled. Disabled-disables. + ScimSynchronizationStatus pulumi.StringPtrInput + // Space ID. z-prefix starts with 12 random digits/lowercase letters. + ZoneId pulumi.StringPtrInput +} + +func (CenterScimSynchronizationStatusState) ElementType() reflect.Type { + return reflect.TypeOf((*centerScimSynchronizationStatusState)(nil)).Elem() +} + +type centerScimSynchronizationStatusArgs struct { + // SCIM synchronization status. Enabled-enabled. Disabled-disables. + ScimSynchronizationStatus string `pulumi:"scimSynchronizationStatus"` + // Space ID. z-prefix starts with 12 random digits/lowercase letters. + ZoneId string `pulumi:"zoneId"` +} + +// The set of arguments for constructing a CenterScimSynchronizationStatus resource. +type CenterScimSynchronizationStatusArgs struct { + // SCIM synchronization status. Enabled-enabled. Disabled-disables. + ScimSynchronizationStatus pulumi.StringInput + // Space ID. z-prefix starts with 12 random digits/lowercase letters. + ZoneId pulumi.StringInput +} + +func (CenterScimSynchronizationStatusArgs) ElementType() reflect.Type { + return reflect.TypeOf((*centerScimSynchronizationStatusArgs)(nil)).Elem() +} + +type CenterScimSynchronizationStatusInput interface { + pulumi.Input + + ToCenterScimSynchronizationStatusOutput() CenterScimSynchronizationStatusOutput + ToCenterScimSynchronizationStatusOutputWithContext(ctx context.Context) CenterScimSynchronizationStatusOutput +} + +func (*CenterScimSynchronizationStatus) ElementType() reflect.Type { + return reflect.TypeOf((**CenterScimSynchronizationStatus)(nil)).Elem() +} + +func (i *CenterScimSynchronizationStatus) ToCenterScimSynchronizationStatusOutput() CenterScimSynchronizationStatusOutput { + return i.ToCenterScimSynchronizationStatusOutputWithContext(context.Background()) +} + +func (i *CenterScimSynchronizationStatus) ToCenterScimSynchronizationStatusOutputWithContext(ctx context.Context) CenterScimSynchronizationStatusOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterScimSynchronizationStatusOutput) +} + +// CenterScimSynchronizationStatusArrayInput is an input type that accepts CenterScimSynchronizationStatusArray and CenterScimSynchronizationStatusArrayOutput values. +// You can construct a concrete instance of `CenterScimSynchronizationStatusArrayInput` via: +// +// CenterScimSynchronizationStatusArray{ CenterScimSynchronizationStatusArgs{...} } +type CenterScimSynchronizationStatusArrayInput interface { + pulumi.Input + + ToCenterScimSynchronizationStatusArrayOutput() CenterScimSynchronizationStatusArrayOutput + ToCenterScimSynchronizationStatusArrayOutputWithContext(context.Context) CenterScimSynchronizationStatusArrayOutput +} + +type CenterScimSynchronizationStatusArray []CenterScimSynchronizationStatusInput + +func (CenterScimSynchronizationStatusArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CenterScimSynchronizationStatus)(nil)).Elem() +} + +func (i CenterScimSynchronizationStatusArray) ToCenterScimSynchronizationStatusArrayOutput() CenterScimSynchronizationStatusArrayOutput { + return i.ToCenterScimSynchronizationStatusArrayOutputWithContext(context.Background()) +} + +func (i CenterScimSynchronizationStatusArray) ToCenterScimSynchronizationStatusArrayOutputWithContext(ctx context.Context) CenterScimSynchronizationStatusArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterScimSynchronizationStatusArrayOutput) +} + +// CenterScimSynchronizationStatusMapInput is an input type that accepts CenterScimSynchronizationStatusMap and CenterScimSynchronizationStatusMapOutput values. +// You can construct a concrete instance of `CenterScimSynchronizationStatusMapInput` via: +// +// CenterScimSynchronizationStatusMap{ "key": CenterScimSynchronizationStatusArgs{...} } +type CenterScimSynchronizationStatusMapInput interface { + pulumi.Input + + ToCenterScimSynchronizationStatusMapOutput() CenterScimSynchronizationStatusMapOutput + ToCenterScimSynchronizationStatusMapOutputWithContext(context.Context) CenterScimSynchronizationStatusMapOutput +} + +type CenterScimSynchronizationStatusMap map[string]CenterScimSynchronizationStatusInput + +func (CenterScimSynchronizationStatusMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CenterScimSynchronizationStatus)(nil)).Elem() +} + +func (i CenterScimSynchronizationStatusMap) ToCenterScimSynchronizationStatusMapOutput() CenterScimSynchronizationStatusMapOutput { + return i.ToCenterScimSynchronizationStatusMapOutputWithContext(context.Background()) +} + +func (i CenterScimSynchronizationStatusMap) ToCenterScimSynchronizationStatusMapOutputWithContext(ctx context.Context) CenterScimSynchronizationStatusMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterScimSynchronizationStatusMapOutput) +} + +type CenterScimSynchronizationStatusOutput struct{ *pulumi.OutputState } + +func (CenterScimSynchronizationStatusOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CenterScimSynchronizationStatus)(nil)).Elem() +} + +func (o CenterScimSynchronizationStatusOutput) ToCenterScimSynchronizationStatusOutput() CenterScimSynchronizationStatusOutput { + return o +} + +func (o CenterScimSynchronizationStatusOutput) ToCenterScimSynchronizationStatusOutputWithContext(ctx context.Context) CenterScimSynchronizationStatusOutput { + return o +} + +// SCIM synchronization status. Enabled-enabled. Disabled-disables. +func (o CenterScimSynchronizationStatusOutput) ScimSynchronizationStatus() pulumi.StringOutput { + return o.ApplyT(func(v *CenterScimSynchronizationStatus) pulumi.StringOutput { return v.ScimSynchronizationStatus }).(pulumi.StringOutput) +} + +// Space ID. z-prefix starts with 12 random digits/lowercase letters. +func (o CenterScimSynchronizationStatusOutput) ZoneId() pulumi.StringOutput { + return o.ApplyT(func(v *CenterScimSynchronizationStatus) pulumi.StringOutput { return v.ZoneId }).(pulumi.StringOutput) +} + +type CenterScimSynchronizationStatusArrayOutput struct{ *pulumi.OutputState } + +func (CenterScimSynchronizationStatusArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CenterScimSynchronizationStatus)(nil)).Elem() +} + +func (o CenterScimSynchronizationStatusArrayOutput) ToCenterScimSynchronizationStatusArrayOutput() CenterScimSynchronizationStatusArrayOutput { + return o +} + +func (o CenterScimSynchronizationStatusArrayOutput) ToCenterScimSynchronizationStatusArrayOutputWithContext(ctx context.Context) CenterScimSynchronizationStatusArrayOutput { + return o +} + +func (o CenterScimSynchronizationStatusArrayOutput) Index(i pulumi.IntInput) CenterScimSynchronizationStatusOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *CenterScimSynchronizationStatus { + return vs[0].([]*CenterScimSynchronizationStatus)[vs[1].(int)] + }).(CenterScimSynchronizationStatusOutput) +} + +type CenterScimSynchronizationStatusMapOutput struct{ *pulumi.OutputState } + +func (CenterScimSynchronizationStatusMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CenterScimSynchronizationStatus)(nil)).Elem() +} + +func (o CenterScimSynchronizationStatusMapOutput) ToCenterScimSynchronizationStatusMapOutput() CenterScimSynchronizationStatusMapOutput { + return o +} + +func (o CenterScimSynchronizationStatusMapOutput) ToCenterScimSynchronizationStatusMapOutputWithContext(ctx context.Context) CenterScimSynchronizationStatusMapOutput { + return o +} + +func (o CenterScimSynchronizationStatusMapOutput) MapIndex(k pulumi.StringInput) CenterScimSynchronizationStatusOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *CenterScimSynchronizationStatus { + return vs[0].(map[string]*CenterScimSynchronizationStatus)[vs[1].(string)] + }).(CenterScimSynchronizationStatusOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CenterScimSynchronizationStatusInput)(nil)).Elem(), &CenterScimSynchronizationStatus{}) + pulumi.RegisterInputType(reflect.TypeOf((*CenterScimSynchronizationStatusArrayInput)(nil)).Elem(), CenterScimSynchronizationStatusArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CenterScimSynchronizationStatusMapInput)(nil)).Elem(), CenterScimSynchronizationStatusMap{}) + pulumi.RegisterOutputType(CenterScimSynchronizationStatusOutput{}) + pulumi.RegisterOutputType(CenterScimSynchronizationStatusArrayOutput{}) + pulumi.RegisterOutputType(CenterScimSynchronizationStatusMapOutput{}) +} 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/getCenterGroups.go b/sdk/go/tencentcloud/identity/getCenterGroups.go new file mode 100644 index 000000000..d71e70d8a --- /dev/null +++ b/sdk/go/tencentcloud/identity/getCenterGroups.go @@ -0,0 +1,176 @@ +// 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" + + "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 identity center groups +// +// ## 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.GetCenterGroups(ctx, &identity.GetCenterGroupsArgs{ +// ZoneId: "z-xxxxxx", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +func GetCenterGroups(ctx *pulumi.Context, args *GetCenterGroupsArgs, opts ...pulumi.InvokeOption) (*GetCenterGroupsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetCenterGroupsResult + err := ctx.Invoke("tencentcloud:Identity/getCenterGroups:getCenterGroups", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getCenterGroups. +type GetCenterGroupsArgs struct { + // Filter criterion. Format: , case-insensitive. Currently, supports only GroupName, and supports only eq (Equals) and sw (Start With). For example, Filter = "GroupName sw test" indicates querying all user groups with names starting with test; Filter = "GroupName eq testgroup" indicates querying the user group with the name testgroup. + Filter *string `pulumi:"filter"` + // Filtered user. IsSelected=1 will be returned for the user group associated with this user. + FilterUsers []string `pulumi:"filterUsers"` + // User group type. Manual: manually created; Synchronized: externally imported. + GroupType *string `pulumi:"groupType"` + // Used to save results. + ResultOutputFile *string `pulumi:"resultOutputFile"` + // Sorting field, which currently only supports CreateTime. The default is the CreateTime field. + SortField *string `pulumi:"sortField"` + // Sorting type. Desc: descending order; Asc: ascending order. It should be set along with SortField. + SortType *string `pulumi:"sortType"` + // Space ID. + ZoneId string `pulumi:"zoneId"` +} + +// A collection of values returned by getCenterGroups. +type GetCenterGroupsResult struct { + Filter *string `pulumi:"filter"` + FilterUsers []string `pulumi:"filterUsers"` + GroupType *string `pulumi:"groupType"` + // User group list. + Groups []GetCenterGroupsGroup `pulumi:"groups"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + ResultOutputFile *string `pulumi:"resultOutputFile"` + SortField *string `pulumi:"sortField"` + SortType *string `pulumi:"sortType"` + ZoneId string `pulumi:"zoneId"` +} + +func GetCenterGroupsOutput(ctx *pulumi.Context, args GetCenterGroupsOutputArgs, opts ...pulumi.InvokeOption) GetCenterGroupsResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetCenterGroupsResult, error) { + args := v.(GetCenterGroupsArgs) + r, err := GetCenterGroups(ctx, &args, opts...) + var s GetCenterGroupsResult + if r != nil { + s = *r + } + return s, err + }).(GetCenterGroupsResultOutput) +} + +// A collection of arguments for invoking getCenterGroups. +type GetCenterGroupsOutputArgs struct { + // Filter criterion. Format: , case-insensitive. Currently, supports only GroupName, and supports only eq (Equals) and sw (Start With). For example, Filter = "GroupName sw test" indicates querying all user groups with names starting with test; Filter = "GroupName eq testgroup" indicates querying the user group with the name testgroup. + Filter pulumi.StringPtrInput `pulumi:"filter"` + // Filtered user. IsSelected=1 will be returned for the user group associated with this user. + FilterUsers pulumi.StringArrayInput `pulumi:"filterUsers"` + // User group type. Manual: manually created; Synchronized: externally imported. + GroupType pulumi.StringPtrInput `pulumi:"groupType"` + // Used to save results. + ResultOutputFile pulumi.StringPtrInput `pulumi:"resultOutputFile"` + // Sorting field, which currently only supports CreateTime. The default is the CreateTime field. + SortField pulumi.StringPtrInput `pulumi:"sortField"` + // Sorting type. Desc: descending order; Asc: ascending order. It should be set along with SortField. + SortType pulumi.StringPtrInput `pulumi:"sortType"` + // Space ID. + ZoneId pulumi.StringInput `pulumi:"zoneId"` +} + +func (GetCenterGroupsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCenterGroupsArgs)(nil)).Elem() +} + +// A collection of values returned by getCenterGroups. +type GetCenterGroupsResultOutput struct{ *pulumi.OutputState } + +func (GetCenterGroupsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCenterGroupsResult)(nil)).Elem() +} + +func (o GetCenterGroupsResultOutput) ToGetCenterGroupsResultOutput() GetCenterGroupsResultOutput { + return o +} + +func (o GetCenterGroupsResultOutput) ToGetCenterGroupsResultOutputWithContext(ctx context.Context) GetCenterGroupsResultOutput { + return o +} + +func (o GetCenterGroupsResultOutput) Filter() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterGroupsResult) *string { return v.Filter }).(pulumi.StringPtrOutput) +} + +func (o GetCenterGroupsResultOutput) FilterUsers() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCenterGroupsResult) []string { return v.FilterUsers }).(pulumi.StringArrayOutput) +} + +func (o GetCenterGroupsResultOutput) GroupType() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterGroupsResult) *string { return v.GroupType }).(pulumi.StringPtrOutput) +} + +// User group list. +func (o GetCenterGroupsResultOutput) Groups() GetCenterGroupsGroupArrayOutput { + return o.ApplyT(func(v GetCenterGroupsResult) []GetCenterGroupsGroup { return v.Groups }).(GetCenterGroupsGroupArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetCenterGroupsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetCenterGroupsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetCenterGroupsResultOutput) ResultOutputFile() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterGroupsResult) *string { return v.ResultOutputFile }).(pulumi.StringPtrOutput) +} + +func (o GetCenterGroupsResultOutput) SortField() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterGroupsResult) *string { return v.SortField }).(pulumi.StringPtrOutput) +} + +func (o GetCenterGroupsResultOutput) SortType() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterGroupsResult) *string { return v.SortType }).(pulumi.StringPtrOutput) +} + +func (o GetCenterGroupsResultOutput) ZoneId() pulumi.StringOutput { + return o.ApplyT(func(v GetCenterGroupsResult) string { return v.ZoneId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetCenterGroupsResultOutput{}) +} diff --git a/sdk/go/tencentcloud/identity/getCenterRoleConfigurations.go b/sdk/go/tencentcloud/identity/getCenterRoleConfigurations.go new file mode 100644 index 000000000..1eadcd591 --- /dev/null +++ b/sdk/go/tencentcloud/identity/getCenterRoleConfigurations.go @@ -0,0 +1,160 @@ +// 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" + + "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 identity center role configurations +// +// ## 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.GetCenterRoleConfigurations(ctx, &identity.GetCenterRoleConfigurationsArgs{ +// ZoneId: "z-xxxxxx", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +func GetCenterRoleConfigurations(ctx *pulumi.Context, args *GetCenterRoleConfigurationsArgs, opts ...pulumi.InvokeOption) (*GetCenterRoleConfigurationsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetCenterRoleConfigurationsResult + err := ctx.Invoke("tencentcloud:Identity/getCenterRoleConfigurations:getCenterRoleConfigurations", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getCenterRoleConfigurations. +type GetCenterRoleConfigurationsArgs struct { + // Filter criteria, which are case insensitive. Currently, only RoleConfigurationName is supported and only eq (Equals) and sw (Start With) are supported. Example: Filter = "RoleConfigurationName, only sw test" means querying all permission configurations starting with test. Filter = "RoleConfigurationName, only eq TestRoleConfiguration" means querying the permission configuration named TestRoleConfiguration. + Filter *string `pulumi:"filter"` + // Check whether the member account has been configured with permissions. If configured, return IsSelected: true; otherwise, return false. + FilterTargets []int `pulumi:"filterTargets"` + // UserId of the authorized user or GroupId of the authorized user group, which must be set together with the input parameter FilterTargets. + PrincipalId *string `pulumi:"principalId"` + // Used to save results. + ResultOutputFile *string `pulumi:"resultOutputFile"` + // Space ID. + ZoneId string `pulumi:"zoneId"` +} + +// A collection of values returned by getCenterRoleConfigurations. +type GetCenterRoleConfigurationsResult struct { + Filter *string `pulumi:"filter"` + FilterTargets []int `pulumi:"filterTargets"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + PrincipalId *string `pulumi:"principalId"` + ResultOutputFile *string `pulumi:"resultOutputFile"` + // Permission configuration list. + RoleConfigurations []GetCenterRoleConfigurationsRoleConfiguration `pulumi:"roleConfigurations"` + ZoneId string `pulumi:"zoneId"` +} + +func GetCenterRoleConfigurationsOutput(ctx *pulumi.Context, args GetCenterRoleConfigurationsOutputArgs, opts ...pulumi.InvokeOption) GetCenterRoleConfigurationsResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetCenterRoleConfigurationsResult, error) { + args := v.(GetCenterRoleConfigurationsArgs) + r, err := GetCenterRoleConfigurations(ctx, &args, opts...) + var s GetCenterRoleConfigurationsResult + if r != nil { + s = *r + } + return s, err + }).(GetCenterRoleConfigurationsResultOutput) +} + +// A collection of arguments for invoking getCenterRoleConfigurations. +type GetCenterRoleConfigurationsOutputArgs struct { + // Filter criteria, which are case insensitive. Currently, only RoleConfigurationName is supported and only eq (Equals) and sw (Start With) are supported. Example: Filter = "RoleConfigurationName, only sw test" means querying all permission configurations starting with test. Filter = "RoleConfigurationName, only eq TestRoleConfiguration" means querying the permission configuration named TestRoleConfiguration. + Filter pulumi.StringPtrInput `pulumi:"filter"` + // Check whether the member account has been configured with permissions. If configured, return IsSelected: true; otherwise, return false. + FilterTargets pulumi.IntArrayInput `pulumi:"filterTargets"` + // UserId of the authorized user or GroupId of the authorized user group, which must be set together with the input parameter FilterTargets. + PrincipalId pulumi.StringPtrInput `pulumi:"principalId"` + // Used to save results. + ResultOutputFile pulumi.StringPtrInput `pulumi:"resultOutputFile"` + // Space ID. + ZoneId pulumi.StringInput `pulumi:"zoneId"` +} + +func (GetCenterRoleConfigurationsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCenterRoleConfigurationsArgs)(nil)).Elem() +} + +// A collection of values returned by getCenterRoleConfigurations. +type GetCenterRoleConfigurationsResultOutput struct{ *pulumi.OutputState } + +func (GetCenterRoleConfigurationsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCenterRoleConfigurationsResult)(nil)).Elem() +} + +func (o GetCenterRoleConfigurationsResultOutput) ToGetCenterRoleConfigurationsResultOutput() GetCenterRoleConfigurationsResultOutput { + return o +} + +func (o GetCenterRoleConfigurationsResultOutput) ToGetCenterRoleConfigurationsResultOutputWithContext(ctx context.Context) GetCenterRoleConfigurationsResultOutput { + return o +} + +func (o GetCenterRoleConfigurationsResultOutput) Filter() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterRoleConfigurationsResult) *string { return v.Filter }).(pulumi.StringPtrOutput) +} + +func (o GetCenterRoleConfigurationsResultOutput) FilterTargets() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetCenterRoleConfigurationsResult) []int { return v.FilterTargets }).(pulumi.IntArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetCenterRoleConfigurationsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetCenterRoleConfigurationsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetCenterRoleConfigurationsResultOutput) PrincipalId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterRoleConfigurationsResult) *string { return v.PrincipalId }).(pulumi.StringPtrOutput) +} + +func (o GetCenterRoleConfigurationsResultOutput) ResultOutputFile() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterRoleConfigurationsResult) *string { return v.ResultOutputFile }).(pulumi.StringPtrOutput) +} + +// Permission configuration list. +func (o GetCenterRoleConfigurationsResultOutput) RoleConfigurations() GetCenterRoleConfigurationsRoleConfigurationArrayOutput { + return o.ApplyT(func(v GetCenterRoleConfigurationsResult) []GetCenterRoleConfigurationsRoleConfiguration { + return v.RoleConfigurations + }).(GetCenterRoleConfigurationsRoleConfigurationArrayOutput) +} + +func (o GetCenterRoleConfigurationsResultOutput) ZoneId() pulumi.StringOutput { + return o.ApplyT(func(v GetCenterRoleConfigurationsResult) string { return v.ZoneId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetCenterRoleConfigurationsResultOutput{}) +} diff --git a/sdk/go/tencentcloud/identity/getCenterUsers.go b/sdk/go/tencentcloud/identity/getCenterUsers.go new file mode 100644 index 000000000..c1309a0e1 --- /dev/null +++ b/sdk/go/tencentcloud/identity/getCenterUsers.go @@ -0,0 +1,185 @@ +// 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" + + "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 identity center users +// +// ## 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.GetCenterUsers(ctx, &identity.GetCenterUsersArgs{ +// ZoneId: "z-xxxxxx", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +func GetCenterUsers(ctx *pulumi.Context, args *GetCenterUsersArgs, opts ...pulumi.InvokeOption) (*GetCenterUsersResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetCenterUsersResult + err := ctx.Invoke("tencentcloud:Identity/getCenterUsers:getCenterUsers", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getCenterUsers. +type GetCenterUsersArgs struct { + // Filter criterion, which currently only supports username, email address, userId, and description. + Filter *string `pulumi:"filter"` + // Filtered user group. IsSelected=1 will be returned for the sub-user associated with this user group. + FilterGroups []string `pulumi:"filterGroups"` + // Used to save results. + ResultOutputFile *string `pulumi:"resultOutputFile"` + // Sorting field, which currently only supports CreateTime. The default is the CreateTime field. + SortField *string `pulumi:"sortField"` + // Sorting type. Desc: descending order; Asc: ascending order. It should be set along with SortField. + SortType *string `pulumi:"sortType"` + // User status: Enabled, Disabled. + UserStatus *string `pulumi:"userStatus"` + // User type. Manual: manually created; Synchronized: externally imported. + UserType *string `pulumi:"userType"` + // Space ID. + ZoneId string `pulumi:"zoneId"` +} + +// A collection of values returned by getCenterUsers. +type GetCenterUsersResult struct { + Filter *string `pulumi:"filter"` + FilterGroups []string `pulumi:"filterGroups"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + ResultOutputFile *string `pulumi:"resultOutputFile"` + SortField *string `pulumi:"sortField"` + SortType *string `pulumi:"sortType"` + UserStatus *string `pulumi:"userStatus"` + UserType *string `pulumi:"userType"` + // User list. + Users []GetCenterUsersUser `pulumi:"users"` + ZoneId string `pulumi:"zoneId"` +} + +func GetCenterUsersOutput(ctx *pulumi.Context, args GetCenterUsersOutputArgs, opts ...pulumi.InvokeOption) GetCenterUsersResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetCenterUsersResult, error) { + args := v.(GetCenterUsersArgs) + r, err := GetCenterUsers(ctx, &args, opts...) + var s GetCenterUsersResult + if r != nil { + s = *r + } + return s, err + }).(GetCenterUsersResultOutput) +} + +// A collection of arguments for invoking getCenterUsers. +type GetCenterUsersOutputArgs struct { + // Filter criterion, which currently only supports username, email address, userId, and description. + Filter pulumi.StringPtrInput `pulumi:"filter"` + // Filtered user group. IsSelected=1 will be returned for the sub-user associated with this user group. + FilterGroups pulumi.StringArrayInput `pulumi:"filterGroups"` + // Used to save results. + ResultOutputFile pulumi.StringPtrInput `pulumi:"resultOutputFile"` + // Sorting field, which currently only supports CreateTime. The default is the CreateTime field. + SortField pulumi.StringPtrInput `pulumi:"sortField"` + // Sorting type. Desc: descending order; Asc: ascending order. It should be set along with SortField. + SortType pulumi.StringPtrInput `pulumi:"sortType"` + // User status: Enabled, Disabled. + UserStatus pulumi.StringPtrInput `pulumi:"userStatus"` + // User type. Manual: manually created; Synchronized: externally imported. + UserType pulumi.StringPtrInput `pulumi:"userType"` + // Space ID. + ZoneId pulumi.StringInput `pulumi:"zoneId"` +} + +func (GetCenterUsersOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCenterUsersArgs)(nil)).Elem() +} + +// A collection of values returned by getCenterUsers. +type GetCenterUsersResultOutput struct{ *pulumi.OutputState } + +func (GetCenterUsersResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCenterUsersResult)(nil)).Elem() +} + +func (o GetCenterUsersResultOutput) ToGetCenterUsersResultOutput() GetCenterUsersResultOutput { + return o +} + +func (o GetCenterUsersResultOutput) ToGetCenterUsersResultOutputWithContext(ctx context.Context) GetCenterUsersResultOutput { + return o +} + +func (o GetCenterUsersResultOutput) Filter() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterUsersResult) *string { return v.Filter }).(pulumi.StringPtrOutput) +} + +func (o GetCenterUsersResultOutput) FilterGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCenterUsersResult) []string { return v.FilterGroups }).(pulumi.StringArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetCenterUsersResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetCenterUsersResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetCenterUsersResultOutput) ResultOutputFile() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterUsersResult) *string { return v.ResultOutputFile }).(pulumi.StringPtrOutput) +} + +func (o GetCenterUsersResultOutput) SortField() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterUsersResult) *string { return v.SortField }).(pulumi.StringPtrOutput) +} + +func (o GetCenterUsersResultOutput) SortType() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterUsersResult) *string { return v.SortType }).(pulumi.StringPtrOutput) +} + +func (o GetCenterUsersResultOutput) UserStatus() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterUsersResult) *string { return v.UserStatus }).(pulumi.StringPtrOutput) +} + +func (o GetCenterUsersResultOutput) UserType() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterUsersResult) *string { return v.UserType }).(pulumi.StringPtrOutput) +} + +// User list. +func (o GetCenterUsersResultOutput) Users() GetCenterUsersUserArrayOutput { + return o.ApplyT(func(v GetCenterUsersResult) []GetCenterUsersUser { return v.Users }).(GetCenterUsersUserArrayOutput) +} + +func (o GetCenterUsersResultOutput) ZoneId() pulumi.StringOutput { + return o.ApplyT(func(v GetCenterUsersResult) string { return v.ZoneId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetCenterUsersResultOutput{}) +} diff --git a/sdk/go/tencentcloud/identity/init.go b/sdk/go/tencentcloud/identity/init.go new file mode 100644 index 000000000..8c70a2597 --- /dev/null +++ b/sdk/go/tencentcloud/identity/init.go @@ -0,0 +1,128 @@ +// 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/centerRoleConfigurationPermissionCustomPoliciesAttachment:CenterRoleConfigurationPermissionCustomPoliciesAttachment": + r = &CenterRoleConfigurationPermissionCustomPoliciesAttachment{} + case "tencentcloud:Identity/centerRoleConfigurationPermissionCustomPolicyAttachment:CenterRoleConfigurationPermissionCustomPolicyAttachment": + r = &CenterRoleConfigurationPermissionCustomPolicyAttachment{} + case "tencentcloud:Identity/centerRoleConfigurationPermissionPolicyAttachment:CenterRoleConfigurationPermissionPolicyAttachment": + r = &CenterRoleConfigurationPermissionPolicyAttachment{} + case "tencentcloud:Identity/centerScimCredential:CenterScimCredential": + r = &CenterScimCredential{} + case "tencentcloud:Identity/centerScimCredentialStatus:CenterScimCredentialStatus": + r = &CenterScimCredentialStatus{} + case "tencentcloud:Identity/centerScimSynchronizationStatus:CenterScimSynchronizationStatus": + r = &CenterScimSynchronizationStatus{} + 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/centerRoleConfigurationPermissionCustomPoliciesAttachment", + &module{version}, + ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Identity/centerRoleConfigurationPermissionCustomPolicyAttachment", + &module{version}, + ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Identity/centerRoleConfigurationPermissionPolicyAttachment", + &module{version}, + ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Identity/centerScimCredential", + &module{version}, + ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Identity/centerScimCredentialStatus", + &module{version}, + ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Identity/centerScimSynchronizationStatus", + &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/identity/pulumiTypes.go b/sdk/go/tencentcloud/identity/pulumiTypes.go new file mode 100644 index 000000000..e1597b936 --- /dev/null +++ b/sdk/go/tencentcloud/identity/pulumiTypes.go @@ -0,0 +1,682 @@ +// 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" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" +) + +var _ = internal.GetEnvOrDefault + +type CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicy struct { + // Role policy add time. + AddTime *string `pulumi:"addTime"` + // Role policy document. + RolePolicyDocument string `pulumi:"rolePolicyDocument"` + // Role policy name. + RolePolicyName string `pulumi:"rolePolicyName"` + // Role policy type. + RolePolicyType *string `pulumi:"rolePolicyType"` +} + +// CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyInput is an input type that accepts CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs and CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyOutput values. +// You can construct a concrete instance of `CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyInput` via: +// +// CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs{...} +type CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyInput interface { + pulumi.Input + + ToCenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyOutput() CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyOutput + ToCenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyOutputWithContext(context.Context) CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyOutput +} + +type CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs struct { + // Role policy add time. + AddTime pulumi.StringPtrInput `pulumi:"addTime"` + // Role policy document. + RolePolicyDocument pulumi.StringInput `pulumi:"rolePolicyDocument"` + // Role policy name. + RolePolicyName pulumi.StringInput `pulumi:"rolePolicyName"` + // Role policy type. + RolePolicyType pulumi.StringPtrInput `pulumi:"rolePolicyType"` +} + +func (CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicy)(nil)).Elem() +} + +func (i CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs) ToCenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyOutput() CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyOutput { + return i.ToCenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyOutputWithContext(context.Background()) +} + +func (i CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs) ToCenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyOutputWithContext(ctx context.Context) CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyOutput) +} + +// CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArrayInput is an input type that accepts CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArray and CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArrayOutput values. +// You can construct a concrete instance of `CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArrayInput` via: +// +// CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArray{ CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs{...} } +type CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArrayInput interface { + pulumi.Input + + ToCenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArrayOutput() CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArrayOutput + ToCenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArrayOutputWithContext(context.Context) CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArrayOutput +} + +type CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArray []CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyInput + +func (CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicy)(nil)).Elem() +} + +func (i CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArray) ToCenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArrayOutput() CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArrayOutput { + return i.ToCenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArrayOutputWithContext(context.Background()) +} + +func (i CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArray) ToCenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArrayOutputWithContext(ctx context.Context) CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArrayOutput) +} + +type CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyOutput struct{ *pulumi.OutputState } + +func (CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicy)(nil)).Elem() +} + +func (o CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyOutput) ToCenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyOutput() CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyOutput { + return o +} + +func (o CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyOutput) ToCenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyOutputWithContext(ctx context.Context) CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyOutput { + return o +} + +// Role policy add time. +func (o CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyOutput) AddTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicy) *string { return v.AddTime }).(pulumi.StringPtrOutput) +} + +// Role policy document. +func (o CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyOutput) RolePolicyDocument() pulumi.StringOutput { + return o.ApplyT(func(v CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicy) string { + return v.RolePolicyDocument + }).(pulumi.StringOutput) +} + +// Role policy name. +func (o CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyOutput) RolePolicyName() pulumi.StringOutput { + return o.ApplyT(func(v CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicy) string { + return v.RolePolicyName + }).(pulumi.StringOutput) +} + +// Role policy type. +func (o CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyOutput) RolePolicyType() pulumi.StringPtrOutput { + return o.ApplyT(func(v CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicy) *string { + return v.RolePolicyType + }).(pulumi.StringPtrOutput) +} + +type CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArrayOutput struct{ *pulumi.OutputState } + +func (CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicy)(nil)).Elem() +} + +func (o CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArrayOutput) ToCenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArrayOutput() CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArrayOutput { + return o +} + +func (o CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArrayOutput) ToCenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArrayOutputWithContext(ctx context.Context) CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArrayOutput { + return o +} + +func (o CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArrayOutput) Index(i pulumi.IntInput) CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicy { + return vs[0].([]CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicy)[vs[1].(int)] + }).(CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyOutput) +} + +type GetCenterGroupsGroup struct { + // Creation time of the user group. + CreateTime *string `pulumi:"createTime"` + // User group description. + Description *string `pulumi:"description"` + // User group ID. + GroupId *string `pulumi:"groupId"` + // User group name. + GroupName *string `pulumi:"groupName"` + // User group type. Manual: manually created; Synchronized: externally imported. + GroupType *string `pulumi:"groupType"` + // If the input parameter FilterUsers is provided, return true when the user is in the user group; otherwise, return false. + IsSelected *bool `pulumi:"isSelected"` + // Number of group members. + MemberCount *int `pulumi:"memberCount"` + // Modification time of the user group. + UpdateTime *string `pulumi:"updateTime"` +} + +// GetCenterGroupsGroupInput is an input type that accepts GetCenterGroupsGroupArgs and GetCenterGroupsGroupOutput values. +// You can construct a concrete instance of `GetCenterGroupsGroupInput` via: +// +// GetCenterGroupsGroupArgs{...} +type GetCenterGroupsGroupInput interface { + pulumi.Input + + ToGetCenterGroupsGroupOutput() GetCenterGroupsGroupOutput + ToGetCenterGroupsGroupOutputWithContext(context.Context) GetCenterGroupsGroupOutput +} + +type GetCenterGroupsGroupArgs struct { + // Creation time of the user group. + CreateTime pulumi.StringPtrInput `pulumi:"createTime"` + // User group description. + Description pulumi.StringPtrInput `pulumi:"description"` + // User group ID. + GroupId pulumi.StringPtrInput `pulumi:"groupId"` + // User group name. + GroupName pulumi.StringPtrInput `pulumi:"groupName"` + // User group type. Manual: manually created; Synchronized: externally imported. + GroupType pulumi.StringPtrInput `pulumi:"groupType"` + // If the input parameter FilterUsers is provided, return true when the user is in the user group; otherwise, return false. + IsSelected pulumi.BoolPtrInput `pulumi:"isSelected"` + // Number of group members. + MemberCount pulumi.IntPtrInput `pulumi:"memberCount"` + // Modification time of the user group. + UpdateTime pulumi.StringPtrInput `pulumi:"updateTime"` +} + +func (GetCenterGroupsGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCenterGroupsGroup)(nil)).Elem() +} + +func (i GetCenterGroupsGroupArgs) ToGetCenterGroupsGroupOutput() GetCenterGroupsGroupOutput { + return i.ToGetCenterGroupsGroupOutputWithContext(context.Background()) +} + +func (i GetCenterGroupsGroupArgs) ToGetCenterGroupsGroupOutputWithContext(ctx context.Context) GetCenterGroupsGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCenterGroupsGroupOutput) +} + +// GetCenterGroupsGroupArrayInput is an input type that accepts GetCenterGroupsGroupArray and GetCenterGroupsGroupArrayOutput values. +// You can construct a concrete instance of `GetCenterGroupsGroupArrayInput` via: +// +// GetCenterGroupsGroupArray{ GetCenterGroupsGroupArgs{...} } +type GetCenterGroupsGroupArrayInput interface { + pulumi.Input + + ToGetCenterGroupsGroupArrayOutput() GetCenterGroupsGroupArrayOutput + ToGetCenterGroupsGroupArrayOutputWithContext(context.Context) GetCenterGroupsGroupArrayOutput +} + +type GetCenterGroupsGroupArray []GetCenterGroupsGroupInput + +func (GetCenterGroupsGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCenterGroupsGroup)(nil)).Elem() +} + +func (i GetCenterGroupsGroupArray) ToGetCenterGroupsGroupArrayOutput() GetCenterGroupsGroupArrayOutput { + return i.ToGetCenterGroupsGroupArrayOutputWithContext(context.Background()) +} + +func (i GetCenterGroupsGroupArray) ToGetCenterGroupsGroupArrayOutputWithContext(ctx context.Context) GetCenterGroupsGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCenterGroupsGroupArrayOutput) +} + +type GetCenterGroupsGroupOutput struct{ *pulumi.OutputState } + +func (GetCenterGroupsGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCenterGroupsGroup)(nil)).Elem() +} + +func (o GetCenterGroupsGroupOutput) ToGetCenterGroupsGroupOutput() GetCenterGroupsGroupOutput { + return o +} + +func (o GetCenterGroupsGroupOutput) ToGetCenterGroupsGroupOutputWithContext(ctx context.Context) GetCenterGroupsGroupOutput { + return o +} + +// Creation time of the user group. +func (o GetCenterGroupsGroupOutput) CreateTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterGroupsGroup) *string { return v.CreateTime }).(pulumi.StringPtrOutput) +} + +// User group description. +func (o GetCenterGroupsGroupOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterGroupsGroup) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// User group ID. +func (o GetCenterGroupsGroupOutput) GroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterGroupsGroup) *string { return v.GroupId }).(pulumi.StringPtrOutput) +} + +// User group name. +func (o GetCenterGroupsGroupOutput) GroupName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterGroupsGroup) *string { return v.GroupName }).(pulumi.StringPtrOutput) +} + +// User group type. Manual: manually created; Synchronized: externally imported. +func (o GetCenterGroupsGroupOutput) GroupType() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterGroupsGroup) *string { return v.GroupType }).(pulumi.StringPtrOutput) +} + +// If the input parameter FilterUsers is provided, return true when the user is in the user group; otherwise, return false. +func (o GetCenterGroupsGroupOutput) IsSelected() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetCenterGroupsGroup) *bool { return v.IsSelected }).(pulumi.BoolPtrOutput) +} + +// Number of group members. +func (o GetCenterGroupsGroupOutput) MemberCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetCenterGroupsGroup) *int { return v.MemberCount }).(pulumi.IntPtrOutput) +} + +// Modification time of the user group. +func (o GetCenterGroupsGroupOutput) UpdateTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterGroupsGroup) *string { return v.UpdateTime }).(pulumi.StringPtrOutput) +} + +type GetCenterGroupsGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetCenterGroupsGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCenterGroupsGroup)(nil)).Elem() +} + +func (o GetCenterGroupsGroupArrayOutput) ToGetCenterGroupsGroupArrayOutput() GetCenterGroupsGroupArrayOutput { + return o +} + +func (o GetCenterGroupsGroupArrayOutput) ToGetCenterGroupsGroupArrayOutputWithContext(ctx context.Context) GetCenterGroupsGroupArrayOutput { + return o +} + +func (o GetCenterGroupsGroupArrayOutput) Index(i pulumi.IntInput) GetCenterGroupsGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCenterGroupsGroup { + return vs[0].([]GetCenterGroupsGroup)[vs[1].(int)] + }).(GetCenterGroupsGroupOutput) +} + +type GetCenterRoleConfigurationsRoleConfiguration struct { + // Creation time of the permission configuration. + CreateTime *string `pulumi:"createTime"` + // Permission configuration description. + Description *string `pulumi:"description"` + // If the input parameter FilterTargets is provided, check whether the member account has been configured with permissions. If configured, return true; otherwise, return false. + IsSelected *bool `pulumi:"isSelected"` + // Initial access page. It indicates the initial access page URL when CIC users use the access configuration to access member accounts. + RelayState *string `pulumi:"relayState"` + // Permission configuration ID. + RoleConfigurationId *string `pulumi:"roleConfigurationId"` + // Permission configuration name. + RoleConfigurationName *string `pulumi:"roleConfigurationName"` + // Session duration. It indicates the maximum session duration when CIC users use the access configuration to access member accounts. + // Unit: seconds. + SessionDuration *int `pulumi:"sessionDuration"` + // Update time of the permission configuration. + UpdateTime *string `pulumi:"updateTime"` +} + +// GetCenterRoleConfigurationsRoleConfigurationInput is an input type that accepts GetCenterRoleConfigurationsRoleConfigurationArgs and GetCenterRoleConfigurationsRoleConfigurationOutput values. +// You can construct a concrete instance of `GetCenterRoleConfigurationsRoleConfigurationInput` via: +// +// GetCenterRoleConfigurationsRoleConfigurationArgs{...} +type GetCenterRoleConfigurationsRoleConfigurationInput interface { + pulumi.Input + + ToGetCenterRoleConfigurationsRoleConfigurationOutput() GetCenterRoleConfigurationsRoleConfigurationOutput + ToGetCenterRoleConfigurationsRoleConfigurationOutputWithContext(context.Context) GetCenterRoleConfigurationsRoleConfigurationOutput +} + +type GetCenterRoleConfigurationsRoleConfigurationArgs struct { + // Creation time of the permission configuration. + CreateTime pulumi.StringPtrInput `pulumi:"createTime"` + // Permission configuration description. + Description pulumi.StringPtrInput `pulumi:"description"` + // If the input parameter FilterTargets is provided, check whether the member account has been configured with permissions. If configured, return true; otherwise, return false. + IsSelected pulumi.BoolPtrInput `pulumi:"isSelected"` + // Initial access page. It indicates the initial access page URL when CIC users use the access configuration to access member accounts. + RelayState pulumi.StringPtrInput `pulumi:"relayState"` + // Permission configuration ID. + RoleConfigurationId pulumi.StringPtrInput `pulumi:"roleConfigurationId"` + // Permission configuration name. + RoleConfigurationName pulumi.StringPtrInput `pulumi:"roleConfigurationName"` + // Session duration. It indicates the maximum session duration when CIC users use the access configuration to access member accounts. + // Unit: seconds. + SessionDuration pulumi.IntPtrInput `pulumi:"sessionDuration"` + // Update time of the permission configuration. + UpdateTime pulumi.StringPtrInput `pulumi:"updateTime"` +} + +func (GetCenterRoleConfigurationsRoleConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCenterRoleConfigurationsRoleConfiguration)(nil)).Elem() +} + +func (i GetCenterRoleConfigurationsRoleConfigurationArgs) ToGetCenterRoleConfigurationsRoleConfigurationOutput() GetCenterRoleConfigurationsRoleConfigurationOutput { + return i.ToGetCenterRoleConfigurationsRoleConfigurationOutputWithContext(context.Background()) +} + +func (i GetCenterRoleConfigurationsRoleConfigurationArgs) ToGetCenterRoleConfigurationsRoleConfigurationOutputWithContext(ctx context.Context) GetCenterRoleConfigurationsRoleConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCenterRoleConfigurationsRoleConfigurationOutput) +} + +// GetCenterRoleConfigurationsRoleConfigurationArrayInput is an input type that accepts GetCenterRoleConfigurationsRoleConfigurationArray and GetCenterRoleConfigurationsRoleConfigurationArrayOutput values. +// You can construct a concrete instance of `GetCenterRoleConfigurationsRoleConfigurationArrayInput` via: +// +// GetCenterRoleConfigurationsRoleConfigurationArray{ GetCenterRoleConfigurationsRoleConfigurationArgs{...} } +type GetCenterRoleConfigurationsRoleConfigurationArrayInput interface { + pulumi.Input + + ToGetCenterRoleConfigurationsRoleConfigurationArrayOutput() GetCenterRoleConfigurationsRoleConfigurationArrayOutput + ToGetCenterRoleConfigurationsRoleConfigurationArrayOutputWithContext(context.Context) GetCenterRoleConfigurationsRoleConfigurationArrayOutput +} + +type GetCenterRoleConfigurationsRoleConfigurationArray []GetCenterRoleConfigurationsRoleConfigurationInput + +func (GetCenterRoleConfigurationsRoleConfigurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCenterRoleConfigurationsRoleConfiguration)(nil)).Elem() +} + +func (i GetCenterRoleConfigurationsRoleConfigurationArray) ToGetCenterRoleConfigurationsRoleConfigurationArrayOutput() GetCenterRoleConfigurationsRoleConfigurationArrayOutput { + return i.ToGetCenterRoleConfigurationsRoleConfigurationArrayOutputWithContext(context.Background()) +} + +func (i GetCenterRoleConfigurationsRoleConfigurationArray) ToGetCenterRoleConfigurationsRoleConfigurationArrayOutputWithContext(ctx context.Context) GetCenterRoleConfigurationsRoleConfigurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCenterRoleConfigurationsRoleConfigurationArrayOutput) +} + +type GetCenterRoleConfigurationsRoleConfigurationOutput struct{ *pulumi.OutputState } + +func (GetCenterRoleConfigurationsRoleConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCenterRoleConfigurationsRoleConfiguration)(nil)).Elem() +} + +func (o GetCenterRoleConfigurationsRoleConfigurationOutput) ToGetCenterRoleConfigurationsRoleConfigurationOutput() GetCenterRoleConfigurationsRoleConfigurationOutput { + return o +} + +func (o GetCenterRoleConfigurationsRoleConfigurationOutput) ToGetCenterRoleConfigurationsRoleConfigurationOutputWithContext(ctx context.Context) GetCenterRoleConfigurationsRoleConfigurationOutput { + return o +} + +// Creation time of the permission configuration. +func (o GetCenterRoleConfigurationsRoleConfigurationOutput) CreateTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterRoleConfigurationsRoleConfiguration) *string { return v.CreateTime }).(pulumi.StringPtrOutput) +} + +// Permission configuration description. +func (o GetCenterRoleConfigurationsRoleConfigurationOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterRoleConfigurationsRoleConfiguration) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// If the input parameter FilterTargets is provided, check whether the member account has been configured with permissions. If configured, return true; otherwise, return false. +func (o GetCenterRoleConfigurationsRoleConfigurationOutput) IsSelected() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetCenterRoleConfigurationsRoleConfiguration) *bool { return v.IsSelected }).(pulumi.BoolPtrOutput) +} + +// Initial access page. It indicates the initial access page URL when CIC users use the access configuration to access member accounts. +func (o GetCenterRoleConfigurationsRoleConfigurationOutput) RelayState() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterRoleConfigurationsRoleConfiguration) *string { return v.RelayState }).(pulumi.StringPtrOutput) +} + +// Permission configuration ID. +func (o GetCenterRoleConfigurationsRoleConfigurationOutput) RoleConfigurationId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterRoleConfigurationsRoleConfiguration) *string { return v.RoleConfigurationId }).(pulumi.StringPtrOutput) +} + +// Permission configuration name. +func (o GetCenterRoleConfigurationsRoleConfigurationOutput) RoleConfigurationName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterRoleConfigurationsRoleConfiguration) *string { return v.RoleConfigurationName }).(pulumi.StringPtrOutput) +} + +// Session duration. It indicates the maximum session duration when CIC users use the access configuration to access member accounts. +// Unit: seconds. +func (o GetCenterRoleConfigurationsRoleConfigurationOutput) SessionDuration() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetCenterRoleConfigurationsRoleConfiguration) *int { return v.SessionDuration }).(pulumi.IntPtrOutput) +} + +// Update time of the permission configuration. +func (o GetCenterRoleConfigurationsRoleConfigurationOutput) UpdateTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterRoleConfigurationsRoleConfiguration) *string { return v.UpdateTime }).(pulumi.StringPtrOutput) +} + +type GetCenterRoleConfigurationsRoleConfigurationArrayOutput struct{ *pulumi.OutputState } + +func (GetCenterRoleConfigurationsRoleConfigurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCenterRoleConfigurationsRoleConfiguration)(nil)).Elem() +} + +func (o GetCenterRoleConfigurationsRoleConfigurationArrayOutput) ToGetCenterRoleConfigurationsRoleConfigurationArrayOutput() GetCenterRoleConfigurationsRoleConfigurationArrayOutput { + return o +} + +func (o GetCenterRoleConfigurationsRoleConfigurationArrayOutput) ToGetCenterRoleConfigurationsRoleConfigurationArrayOutputWithContext(ctx context.Context) GetCenterRoleConfigurationsRoleConfigurationArrayOutput { + return o +} + +func (o GetCenterRoleConfigurationsRoleConfigurationArrayOutput) Index(i pulumi.IntInput) GetCenterRoleConfigurationsRoleConfigurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCenterRoleConfigurationsRoleConfiguration { + return vs[0].([]GetCenterRoleConfigurationsRoleConfiguration)[vs[1].(int)] + }).(GetCenterRoleConfigurationsRoleConfigurationOutput) +} + +type GetCenterUsersUser struct { + // Creation time of the user. + CreateTime *string `pulumi:"createTime"` + // User description. + Description *string `pulumi:"description"` + // Display name of the user. + DisplayName *string `pulumi:"displayName"` + // Email address of the user, which must be unique within the directory. + Email *string `pulumi:"email"` + // First name of the user. + FirstName *string `pulumi:"firstName"` + // Whether selected. + IsSelected *bool `pulumi:"isSelected"` + // Last name of the user. + LastName *string `pulumi:"lastName"` + // Modification time of the user. + UpdateTime *string `pulumi:"updateTime"` + // User ID. + UserId *string `pulumi:"userId"` + // Queried username. + UserName *string `pulumi:"userName"` + // User status: Enabled, Disabled. + UserStatus *string `pulumi:"userStatus"` + // User type. Manual: manually created; Synchronized: externally imported. + UserType *string `pulumi:"userType"` +} + +// GetCenterUsersUserInput is an input type that accepts GetCenterUsersUserArgs and GetCenterUsersUserOutput values. +// You can construct a concrete instance of `GetCenterUsersUserInput` via: +// +// GetCenterUsersUserArgs{...} +type GetCenterUsersUserInput interface { + pulumi.Input + + ToGetCenterUsersUserOutput() GetCenterUsersUserOutput + ToGetCenterUsersUserOutputWithContext(context.Context) GetCenterUsersUserOutput +} + +type GetCenterUsersUserArgs struct { + // Creation time of the user. + CreateTime pulumi.StringPtrInput `pulumi:"createTime"` + // User description. + Description pulumi.StringPtrInput `pulumi:"description"` + // Display name of the user. + DisplayName pulumi.StringPtrInput `pulumi:"displayName"` + // Email address of the user, which must be unique within the directory. + Email pulumi.StringPtrInput `pulumi:"email"` + // First name of the user. + FirstName pulumi.StringPtrInput `pulumi:"firstName"` + // Whether selected. + IsSelected pulumi.BoolPtrInput `pulumi:"isSelected"` + // Last name of the user. + LastName pulumi.StringPtrInput `pulumi:"lastName"` + // Modification time of the user. + UpdateTime pulumi.StringPtrInput `pulumi:"updateTime"` + // User ID. + UserId pulumi.StringPtrInput `pulumi:"userId"` + // Queried username. + UserName pulumi.StringPtrInput `pulumi:"userName"` + // User status: Enabled, Disabled. + UserStatus pulumi.StringPtrInput `pulumi:"userStatus"` + // User type. Manual: manually created; Synchronized: externally imported. + UserType pulumi.StringPtrInput `pulumi:"userType"` +} + +func (GetCenterUsersUserArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCenterUsersUser)(nil)).Elem() +} + +func (i GetCenterUsersUserArgs) ToGetCenterUsersUserOutput() GetCenterUsersUserOutput { + return i.ToGetCenterUsersUserOutputWithContext(context.Background()) +} + +func (i GetCenterUsersUserArgs) ToGetCenterUsersUserOutputWithContext(ctx context.Context) GetCenterUsersUserOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCenterUsersUserOutput) +} + +// GetCenterUsersUserArrayInput is an input type that accepts GetCenterUsersUserArray and GetCenterUsersUserArrayOutput values. +// You can construct a concrete instance of `GetCenterUsersUserArrayInput` via: +// +// GetCenterUsersUserArray{ GetCenterUsersUserArgs{...} } +type GetCenterUsersUserArrayInput interface { + pulumi.Input + + ToGetCenterUsersUserArrayOutput() GetCenterUsersUserArrayOutput + ToGetCenterUsersUserArrayOutputWithContext(context.Context) GetCenterUsersUserArrayOutput +} + +type GetCenterUsersUserArray []GetCenterUsersUserInput + +func (GetCenterUsersUserArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCenterUsersUser)(nil)).Elem() +} + +func (i GetCenterUsersUserArray) ToGetCenterUsersUserArrayOutput() GetCenterUsersUserArrayOutput { + return i.ToGetCenterUsersUserArrayOutputWithContext(context.Background()) +} + +func (i GetCenterUsersUserArray) ToGetCenterUsersUserArrayOutputWithContext(ctx context.Context) GetCenterUsersUserArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCenterUsersUserArrayOutput) +} + +type GetCenterUsersUserOutput struct{ *pulumi.OutputState } + +func (GetCenterUsersUserOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCenterUsersUser)(nil)).Elem() +} + +func (o GetCenterUsersUserOutput) ToGetCenterUsersUserOutput() GetCenterUsersUserOutput { + return o +} + +func (o GetCenterUsersUserOutput) ToGetCenterUsersUserOutputWithContext(ctx context.Context) GetCenterUsersUserOutput { + return o +} + +// Creation time of the user. +func (o GetCenterUsersUserOutput) CreateTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterUsersUser) *string { return v.CreateTime }).(pulumi.StringPtrOutput) +} + +// User description. +func (o GetCenterUsersUserOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterUsersUser) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// Display name of the user. +func (o GetCenterUsersUserOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterUsersUser) *string { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// Email address of the user, which must be unique within the directory. +func (o GetCenterUsersUserOutput) Email() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterUsersUser) *string { return v.Email }).(pulumi.StringPtrOutput) +} + +// First name of the user. +func (o GetCenterUsersUserOutput) FirstName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterUsersUser) *string { return v.FirstName }).(pulumi.StringPtrOutput) +} + +// Whether selected. +func (o GetCenterUsersUserOutput) IsSelected() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetCenterUsersUser) *bool { return v.IsSelected }).(pulumi.BoolPtrOutput) +} + +// Last name of the user. +func (o GetCenterUsersUserOutput) LastName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterUsersUser) *string { return v.LastName }).(pulumi.StringPtrOutput) +} + +// Modification time of the user. +func (o GetCenterUsersUserOutput) UpdateTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterUsersUser) *string { return v.UpdateTime }).(pulumi.StringPtrOutput) +} + +// User ID. +func (o GetCenterUsersUserOutput) UserId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterUsersUser) *string { return v.UserId }).(pulumi.StringPtrOutput) +} + +// Queried username. +func (o GetCenterUsersUserOutput) UserName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterUsersUser) *string { return v.UserName }).(pulumi.StringPtrOutput) +} + +// User status: Enabled, Disabled. +func (o GetCenterUsersUserOutput) UserStatus() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterUsersUser) *string { return v.UserStatus }).(pulumi.StringPtrOutput) +} + +// User type. Manual: manually created; Synchronized: externally imported. +func (o GetCenterUsersUserOutput) UserType() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCenterUsersUser) *string { return v.UserType }).(pulumi.StringPtrOutput) +} + +type GetCenterUsersUserArrayOutput struct{ *pulumi.OutputState } + +func (GetCenterUsersUserArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCenterUsersUser)(nil)).Elem() +} + +func (o GetCenterUsersUserArrayOutput) ToGetCenterUsersUserArrayOutput() GetCenterUsersUserArrayOutput { + return o +} + +func (o GetCenterUsersUserArrayOutput) ToGetCenterUsersUserArrayOutputWithContext(ctx context.Context) GetCenterUsersUserArrayOutput { + return o +} + +func (o GetCenterUsersUserArrayOutput) Index(i pulumi.IntInput) GetCenterUsersUserOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCenterUsersUser { + return vs[0].([]GetCenterUsersUser)[vs[1].(int)] + }).(GetCenterUsersUserOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyInput)(nil)).Elem(), CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArrayInput)(nil)).Elem(), CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCenterGroupsGroupInput)(nil)).Elem(), GetCenterGroupsGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCenterGroupsGroupArrayInput)(nil)).Elem(), GetCenterGroupsGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCenterRoleConfigurationsRoleConfigurationInput)(nil)).Elem(), GetCenterRoleConfigurationsRoleConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCenterRoleConfigurationsRoleConfigurationArrayInput)(nil)).Elem(), GetCenterRoleConfigurationsRoleConfigurationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCenterUsersUserInput)(nil)).Elem(), GetCenterUsersUserArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCenterUsersUserArrayInput)(nil)).Elem(), GetCenterUsersUserArray{}) + pulumi.RegisterOutputType(CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyOutput{}) + pulumi.RegisterOutputType(CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArrayOutput{}) + pulumi.RegisterOutputType(GetCenterGroupsGroupOutput{}) + pulumi.RegisterOutputType(GetCenterGroupsGroupArrayOutput{}) + pulumi.RegisterOutputType(GetCenterRoleConfigurationsRoleConfigurationOutput{}) + pulumi.RegisterOutputType(GetCenterRoleConfigurationsRoleConfigurationArrayOutput{}) + pulumi.RegisterOutputType(GetCenterUsersUserOutput{}) + pulumi.RegisterOutputType(GetCenterUsersUserArrayOutput{}) +} diff --git a/sdk/go/tencentcloud/image/getFromFamily.go b/sdk/go/tencentcloud/image/getFromFamily.go new file mode 100644 index 000000000..a43caafe6 --- /dev/null +++ b/sdk/go/tencentcloud/image/getFromFamily.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 image + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" +) + +// Provides query image from family. +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Image" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Image.GetFromFamily(ctx, &image.GetFromFamilyArgs{ +// ImageFamily: "business-daily-update", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +func GetFromFamily(ctx *pulumi.Context, args *GetFromFamilyArgs, opts ...pulumi.InvokeOption) (*GetFromFamilyResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetFromFamilyResult + err := ctx.Invoke("tencentcloud:Image/getFromFamily:getFromFamily", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getFromFamily. +type GetFromFamilyArgs struct { + // Image family name. + ImageFamily string `pulumi:"imageFamily"` + // Used to save results. + ResultOutputFile *string `pulumi:"resultOutputFile"` +} + +// A collection of values returned by getFromFamily. +type GetFromFamilyResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + ImageFamily string `pulumi:"imageFamily"` + // Information of Image. + Images []GetFromFamilyImage `pulumi:"images"` + ResultOutputFile *string `pulumi:"resultOutputFile"` +} + +func GetFromFamilyOutput(ctx *pulumi.Context, args GetFromFamilyOutputArgs, opts ...pulumi.InvokeOption) GetFromFamilyResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetFromFamilyResult, error) { + args := v.(GetFromFamilyArgs) + r, err := GetFromFamily(ctx, &args, opts...) + var s GetFromFamilyResult + if r != nil { + s = *r + } + return s, err + }).(GetFromFamilyResultOutput) +} + +// A collection of arguments for invoking getFromFamily. +type GetFromFamilyOutputArgs struct { + // Image family name. + ImageFamily pulumi.StringInput `pulumi:"imageFamily"` + // Used to save results. + ResultOutputFile pulumi.StringPtrInput `pulumi:"resultOutputFile"` +} + +func (GetFromFamilyOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetFromFamilyArgs)(nil)).Elem() +} + +// A collection of values returned by getFromFamily. +type GetFromFamilyResultOutput struct{ *pulumi.OutputState } + +func (GetFromFamilyResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetFromFamilyResult)(nil)).Elem() +} + +func (o GetFromFamilyResultOutput) ToGetFromFamilyResultOutput() GetFromFamilyResultOutput { + return o +} + +func (o GetFromFamilyResultOutput) ToGetFromFamilyResultOutputWithContext(ctx context.Context) GetFromFamilyResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetFromFamilyResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetFromFamilyResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetFromFamilyResultOutput) ImageFamily() pulumi.StringOutput { + return o.ApplyT(func(v GetFromFamilyResult) string { return v.ImageFamily }).(pulumi.StringOutput) +} + +// Information of Image. +func (o GetFromFamilyResultOutput) Images() GetFromFamilyImageArrayOutput { + return o.ApplyT(func(v GetFromFamilyResult) []GetFromFamilyImage { return v.Images }).(GetFromFamilyImageArrayOutput) +} + +func (o GetFromFamilyResultOutput) ResultOutputFile() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetFromFamilyResult) *string { return v.ResultOutputFile }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetFromFamilyResultOutput{}) +} diff --git a/sdk/go/tencentcloud/image/instance.go b/sdk/go/tencentcloud/image/instance.go index b31c63a8f..cb214399a 100644 --- a/sdk/go/tencentcloud/image/instance.go +++ b/sdk/go/tencentcloud/image/instance.go @@ -48,6 +48,40 @@ import ( // ``` // // +// ### Use image family +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Image" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Image.NewInstance(ctx, "imageFamily", &Image.InstanceArgs{ +// DataDiskIds: pulumi.StringArray{}, +// ImageDescription: pulumi.String("create image with snapshot 12323"), +// ImageFamily: pulumi.String("business-daily-update"), +// ImageName: pulumi.String("image-family-test123"), +// SnapshotIds: pulumi.StringArray{ +// pulumi.String("snap-7uuvrcoj"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// // ## Import // // image instance can be imported using the id, e.g. @@ -64,6 +98,8 @@ type Instance struct { ForcePoweroff pulumi.BoolPtrOutput `pulumi:"forcePoweroff"` // Image Description. ImageDescription pulumi.StringPtrOutput `pulumi:"imageDescription"` + // Set image family. Example value: `business-daily-update`. + ImageFamily pulumi.StringPtrOutput `pulumi:"imageFamily"` // Image name. ImageName pulumi.StringOutput `pulumi:"imageName"` // Cloud server instance ID. @@ -115,6 +151,8 @@ type instanceState struct { ForcePoweroff *bool `pulumi:"forcePoweroff"` // Image Description. ImageDescription *string `pulumi:"imageDescription"` + // Set image family. Example value: `business-daily-update`. + ImageFamily *string `pulumi:"imageFamily"` // Image name. ImageName *string `pulumi:"imageName"` // Cloud server instance ID. @@ -134,6 +172,8 @@ type InstanceState struct { ForcePoweroff pulumi.BoolPtrInput // Image Description. ImageDescription pulumi.StringPtrInput + // Set image family. Example value: `business-daily-update`. + ImageFamily pulumi.StringPtrInput // Image name. ImageName pulumi.StringPtrInput // Cloud server instance ID. @@ -157,6 +197,8 @@ type instanceArgs struct { ForcePoweroff *bool `pulumi:"forcePoweroff"` // Image Description. ImageDescription *string `pulumi:"imageDescription"` + // Set image family. Example value: `business-daily-update`. + ImageFamily *string `pulumi:"imageFamily"` // Image name. ImageName string `pulumi:"imageName"` // Cloud server instance ID. @@ -177,6 +219,8 @@ type InstanceArgs struct { ForcePoweroff pulumi.BoolPtrInput // Image Description. ImageDescription pulumi.StringPtrInput + // Set image family. Example value: `business-daily-update`. + ImageFamily pulumi.StringPtrInput // Image name. ImageName pulumi.StringInput // Cloud server instance ID. @@ -291,6 +335,11 @@ func (o InstanceOutput) ImageDescription() pulumi.StringPtrOutput { return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.ImageDescription }).(pulumi.StringPtrOutput) } +// Set image family. Example value: `business-daily-update`. +func (o InstanceOutput) ImageFamily() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.ImageFamily }).(pulumi.StringPtrOutput) +} + // Image name. func (o InstanceOutput) ImageName() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.ImageName }).(pulumi.StringOutput) diff --git a/sdk/go/tencentcloud/image/pulumiTypes.go b/sdk/go/tencentcloud/image/pulumiTypes.go index 65c4da467..cd7edac63 100644 --- a/sdk/go/tencentcloud/image/pulumiTypes.go +++ b/sdk/go/tencentcloud/image/pulumiTypes.go @@ -13,6 +13,486 @@ import ( var _ = internal.GetEnvOrDefault +type GetFromFamilyImage struct { + // Image architecture. + Architecture string `pulumi:"architecture"` + // Creation time of the image. + CreatedTime string `pulumi:"createdTime"` + // Image creator. + ImageCreator string `pulumi:"imageCreator"` + // If Image Deprecated. + ImageDeprecated bool `pulumi:"imageDeprecated"` + // Image description. + ImageDescription string `pulumi:"imageDescription"` + // Image family name. + ImageFamily string `pulumi:"imageFamily"` + // Image ID. + ImageId string `pulumi:"imageId"` + // Image name. + ImageName string `pulumi:"imageName"` + // Image size. + ImageSize int `pulumi:"imageSize"` + // Image source. + ImageSource string `pulumi:"imageSource"` + // Image state. + ImageState string `pulumi:"imageState"` + // Image type. + ImageType string `pulumi:"imageType"` + // Whether the image supports cloud-init. + IsSupportCloudinit bool `pulumi:"isSupportCloudinit"` + // Image license type. + LicenseType string `pulumi:"licenseType"` + // Operating system of the image. + OsName string `pulumi:"osName"` + // Source platform of the image. + Platform string `pulumi:"platform"` + // Information on the snapshots associated with the image. + SnapshotSets []GetFromFamilyImageSnapshotSet `pulumi:"snapshotSets"` + // Synchronization percentage. + SyncPercent int `pulumi:"syncPercent"` + // The list of tags bound to the image. + Tags []GetFromFamilyImageTag `pulumi:"tags"` +} + +// GetFromFamilyImageInput is an input type that accepts GetFromFamilyImageArgs and GetFromFamilyImageOutput values. +// You can construct a concrete instance of `GetFromFamilyImageInput` via: +// +// GetFromFamilyImageArgs{...} +type GetFromFamilyImageInput interface { + pulumi.Input + + ToGetFromFamilyImageOutput() GetFromFamilyImageOutput + ToGetFromFamilyImageOutputWithContext(context.Context) GetFromFamilyImageOutput +} + +type GetFromFamilyImageArgs struct { + // Image architecture. + Architecture pulumi.StringInput `pulumi:"architecture"` + // Creation time of the image. + CreatedTime pulumi.StringInput `pulumi:"createdTime"` + // Image creator. + ImageCreator pulumi.StringInput `pulumi:"imageCreator"` + // If Image Deprecated. + ImageDeprecated pulumi.BoolInput `pulumi:"imageDeprecated"` + // Image description. + ImageDescription pulumi.StringInput `pulumi:"imageDescription"` + // Image family name. + ImageFamily pulumi.StringInput `pulumi:"imageFamily"` + // Image ID. + ImageId pulumi.StringInput `pulumi:"imageId"` + // Image name. + ImageName pulumi.StringInput `pulumi:"imageName"` + // Image size. + ImageSize pulumi.IntInput `pulumi:"imageSize"` + // Image source. + ImageSource pulumi.StringInput `pulumi:"imageSource"` + // Image state. + ImageState pulumi.StringInput `pulumi:"imageState"` + // Image type. + ImageType pulumi.StringInput `pulumi:"imageType"` + // Whether the image supports cloud-init. + IsSupportCloudinit pulumi.BoolInput `pulumi:"isSupportCloudinit"` + // Image license type. + LicenseType pulumi.StringInput `pulumi:"licenseType"` + // Operating system of the image. + OsName pulumi.StringInput `pulumi:"osName"` + // Source platform of the image. + Platform pulumi.StringInput `pulumi:"platform"` + // Information on the snapshots associated with the image. + SnapshotSets GetFromFamilyImageSnapshotSetArrayInput `pulumi:"snapshotSets"` + // Synchronization percentage. + SyncPercent pulumi.IntInput `pulumi:"syncPercent"` + // The list of tags bound to the image. + Tags GetFromFamilyImageTagArrayInput `pulumi:"tags"` +} + +func (GetFromFamilyImageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetFromFamilyImage)(nil)).Elem() +} + +func (i GetFromFamilyImageArgs) ToGetFromFamilyImageOutput() GetFromFamilyImageOutput { + return i.ToGetFromFamilyImageOutputWithContext(context.Background()) +} + +func (i GetFromFamilyImageArgs) ToGetFromFamilyImageOutputWithContext(ctx context.Context) GetFromFamilyImageOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetFromFamilyImageOutput) +} + +// GetFromFamilyImageArrayInput is an input type that accepts GetFromFamilyImageArray and GetFromFamilyImageArrayOutput values. +// You can construct a concrete instance of `GetFromFamilyImageArrayInput` via: +// +// GetFromFamilyImageArray{ GetFromFamilyImageArgs{...} } +type GetFromFamilyImageArrayInput interface { + pulumi.Input + + ToGetFromFamilyImageArrayOutput() GetFromFamilyImageArrayOutput + ToGetFromFamilyImageArrayOutputWithContext(context.Context) GetFromFamilyImageArrayOutput +} + +type GetFromFamilyImageArray []GetFromFamilyImageInput + +func (GetFromFamilyImageArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetFromFamilyImage)(nil)).Elem() +} + +func (i GetFromFamilyImageArray) ToGetFromFamilyImageArrayOutput() GetFromFamilyImageArrayOutput { + return i.ToGetFromFamilyImageArrayOutputWithContext(context.Background()) +} + +func (i GetFromFamilyImageArray) ToGetFromFamilyImageArrayOutputWithContext(ctx context.Context) GetFromFamilyImageArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetFromFamilyImageArrayOutput) +} + +type GetFromFamilyImageOutput struct{ *pulumi.OutputState } + +func (GetFromFamilyImageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetFromFamilyImage)(nil)).Elem() +} + +func (o GetFromFamilyImageOutput) ToGetFromFamilyImageOutput() GetFromFamilyImageOutput { + return o +} + +func (o GetFromFamilyImageOutput) ToGetFromFamilyImageOutputWithContext(ctx context.Context) GetFromFamilyImageOutput { + return o +} + +// Image architecture. +func (o GetFromFamilyImageOutput) Architecture() pulumi.StringOutput { + return o.ApplyT(func(v GetFromFamilyImage) string { return v.Architecture }).(pulumi.StringOutput) +} + +// Creation time of the image. +func (o GetFromFamilyImageOutput) CreatedTime() pulumi.StringOutput { + return o.ApplyT(func(v GetFromFamilyImage) string { return v.CreatedTime }).(pulumi.StringOutput) +} + +// Image creator. +func (o GetFromFamilyImageOutput) ImageCreator() pulumi.StringOutput { + return o.ApplyT(func(v GetFromFamilyImage) string { return v.ImageCreator }).(pulumi.StringOutput) +} + +// If Image Deprecated. +func (o GetFromFamilyImageOutput) ImageDeprecated() pulumi.BoolOutput { + return o.ApplyT(func(v GetFromFamilyImage) bool { return v.ImageDeprecated }).(pulumi.BoolOutput) +} + +// Image description. +func (o GetFromFamilyImageOutput) ImageDescription() pulumi.StringOutput { + return o.ApplyT(func(v GetFromFamilyImage) string { return v.ImageDescription }).(pulumi.StringOutput) +} + +// Image family name. +func (o GetFromFamilyImageOutput) ImageFamily() pulumi.StringOutput { + return o.ApplyT(func(v GetFromFamilyImage) string { return v.ImageFamily }).(pulumi.StringOutput) +} + +// Image ID. +func (o GetFromFamilyImageOutput) ImageId() pulumi.StringOutput { + return o.ApplyT(func(v GetFromFamilyImage) string { return v.ImageId }).(pulumi.StringOutput) +} + +// Image name. +func (o GetFromFamilyImageOutput) ImageName() pulumi.StringOutput { + return o.ApplyT(func(v GetFromFamilyImage) string { return v.ImageName }).(pulumi.StringOutput) +} + +// Image size. +func (o GetFromFamilyImageOutput) ImageSize() pulumi.IntOutput { + return o.ApplyT(func(v GetFromFamilyImage) int { return v.ImageSize }).(pulumi.IntOutput) +} + +// Image source. +func (o GetFromFamilyImageOutput) ImageSource() pulumi.StringOutput { + return o.ApplyT(func(v GetFromFamilyImage) string { return v.ImageSource }).(pulumi.StringOutput) +} + +// Image state. +func (o GetFromFamilyImageOutput) ImageState() pulumi.StringOutput { + return o.ApplyT(func(v GetFromFamilyImage) string { return v.ImageState }).(pulumi.StringOutput) +} + +// Image type. +func (o GetFromFamilyImageOutput) ImageType() pulumi.StringOutput { + return o.ApplyT(func(v GetFromFamilyImage) string { return v.ImageType }).(pulumi.StringOutput) +} + +// Whether the image supports cloud-init. +func (o GetFromFamilyImageOutput) IsSupportCloudinit() pulumi.BoolOutput { + return o.ApplyT(func(v GetFromFamilyImage) bool { return v.IsSupportCloudinit }).(pulumi.BoolOutput) +} + +// Image license type. +func (o GetFromFamilyImageOutput) LicenseType() pulumi.StringOutput { + return o.ApplyT(func(v GetFromFamilyImage) string { return v.LicenseType }).(pulumi.StringOutput) +} + +// Operating system of the image. +func (o GetFromFamilyImageOutput) OsName() pulumi.StringOutput { + return o.ApplyT(func(v GetFromFamilyImage) string { return v.OsName }).(pulumi.StringOutput) +} + +// Source platform of the image. +func (o GetFromFamilyImageOutput) Platform() pulumi.StringOutput { + return o.ApplyT(func(v GetFromFamilyImage) string { return v.Platform }).(pulumi.StringOutput) +} + +// Information on the snapshots associated with the image. +func (o GetFromFamilyImageOutput) SnapshotSets() GetFromFamilyImageSnapshotSetArrayOutput { + return o.ApplyT(func(v GetFromFamilyImage) []GetFromFamilyImageSnapshotSet { return v.SnapshotSets }).(GetFromFamilyImageSnapshotSetArrayOutput) +} + +// Synchronization percentage. +func (o GetFromFamilyImageOutput) SyncPercent() pulumi.IntOutput { + return o.ApplyT(func(v GetFromFamilyImage) int { return v.SyncPercent }).(pulumi.IntOutput) +} + +// The list of tags bound to the image. +func (o GetFromFamilyImageOutput) Tags() GetFromFamilyImageTagArrayOutput { + return o.ApplyT(func(v GetFromFamilyImage) []GetFromFamilyImageTag { return v.Tags }).(GetFromFamilyImageTagArrayOutput) +} + +type GetFromFamilyImageArrayOutput struct{ *pulumi.OutputState } + +func (GetFromFamilyImageArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetFromFamilyImage)(nil)).Elem() +} + +func (o GetFromFamilyImageArrayOutput) ToGetFromFamilyImageArrayOutput() GetFromFamilyImageArrayOutput { + return o +} + +func (o GetFromFamilyImageArrayOutput) ToGetFromFamilyImageArrayOutputWithContext(ctx context.Context) GetFromFamilyImageArrayOutput { + return o +} + +func (o GetFromFamilyImageArrayOutput) Index(i pulumi.IntInput) GetFromFamilyImageOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetFromFamilyImage { + return vs[0].([]GetFromFamilyImage)[vs[1].(int)] + }).(GetFromFamilyImageOutput) +} + +type GetFromFamilyImageSnapshotSet struct { + // Size of the cloud disk used to create the snapshot, unit(GB). + DiskSize int `pulumi:"diskSize"` + // Type of the cloud disk used to create the snapshot. Valid values: YSTEM_DISK: system disk, DATA_DISK: data disk. + DiskUsage string `pulumi:"diskUsage"` + // Snapshot ID. + SnapshotId string `pulumi:"snapshotId"` +} + +// GetFromFamilyImageSnapshotSetInput is an input type that accepts GetFromFamilyImageSnapshotSetArgs and GetFromFamilyImageSnapshotSetOutput values. +// You can construct a concrete instance of `GetFromFamilyImageSnapshotSetInput` via: +// +// GetFromFamilyImageSnapshotSetArgs{...} +type GetFromFamilyImageSnapshotSetInput interface { + pulumi.Input + + ToGetFromFamilyImageSnapshotSetOutput() GetFromFamilyImageSnapshotSetOutput + ToGetFromFamilyImageSnapshotSetOutputWithContext(context.Context) GetFromFamilyImageSnapshotSetOutput +} + +type GetFromFamilyImageSnapshotSetArgs struct { + // Size of the cloud disk used to create the snapshot, unit(GB). + DiskSize pulumi.IntInput `pulumi:"diskSize"` + // Type of the cloud disk used to create the snapshot. Valid values: YSTEM_DISK: system disk, DATA_DISK: data disk. + DiskUsage pulumi.StringInput `pulumi:"diskUsage"` + // Snapshot ID. + SnapshotId pulumi.StringInput `pulumi:"snapshotId"` +} + +func (GetFromFamilyImageSnapshotSetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetFromFamilyImageSnapshotSet)(nil)).Elem() +} + +func (i GetFromFamilyImageSnapshotSetArgs) ToGetFromFamilyImageSnapshotSetOutput() GetFromFamilyImageSnapshotSetOutput { + return i.ToGetFromFamilyImageSnapshotSetOutputWithContext(context.Background()) +} + +func (i GetFromFamilyImageSnapshotSetArgs) ToGetFromFamilyImageSnapshotSetOutputWithContext(ctx context.Context) GetFromFamilyImageSnapshotSetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetFromFamilyImageSnapshotSetOutput) +} + +// GetFromFamilyImageSnapshotSetArrayInput is an input type that accepts GetFromFamilyImageSnapshotSetArray and GetFromFamilyImageSnapshotSetArrayOutput values. +// You can construct a concrete instance of `GetFromFamilyImageSnapshotSetArrayInput` via: +// +// GetFromFamilyImageSnapshotSetArray{ GetFromFamilyImageSnapshotSetArgs{...} } +type GetFromFamilyImageSnapshotSetArrayInput interface { + pulumi.Input + + ToGetFromFamilyImageSnapshotSetArrayOutput() GetFromFamilyImageSnapshotSetArrayOutput + ToGetFromFamilyImageSnapshotSetArrayOutputWithContext(context.Context) GetFromFamilyImageSnapshotSetArrayOutput +} + +type GetFromFamilyImageSnapshotSetArray []GetFromFamilyImageSnapshotSetInput + +func (GetFromFamilyImageSnapshotSetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetFromFamilyImageSnapshotSet)(nil)).Elem() +} + +func (i GetFromFamilyImageSnapshotSetArray) ToGetFromFamilyImageSnapshotSetArrayOutput() GetFromFamilyImageSnapshotSetArrayOutput { + return i.ToGetFromFamilyImageSnapshotSetArrayOutputWithContext(context.Background()) +} + +func (i GetFromFamilyImageSnapshotSetArray) ToGetFromFamilyImageSnapshotSetArrayOutputWithContext(ctx context.Context) GetFromFamilyImageSnapshotSetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetFromFamilyImageSnapshotSetArrayOutput) +} + +type GetFromFamilyImageSnapshotSetOutput struct{ *pulumi.OutputState } + +func (GetFromFamilyImageSnapshotSetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetFromFamilyImageSnapshotSet)(nil)).Elem() +} + +func (o GetFromFamilyImageSnapshotSetOutput) ToGetFromFamilyImageSnapshotSetOutput() GetFromFamilyImageSnapshotSetOutput { + return o +} + +func (o GetFromFamilyImageSnapshotSetOutput) ToGetFromFamilyImageSnapshotSetOutputWithContext(ctx context.Context) GetFromFamilyImageSnapshotSetOutput { + return o +} + +// Size of the cloud disk used to create the snapshot, unit(GB). +func (o GetFromFamilyImageSnapshotSetOutput) DiskSize() pulumi.IntOutput { + return o.ApplyT(func(v GetFromFamilyImageSnapshotSet) int { return v.DiskSize }).(pulumi.IntOutput) +} + +// Type of the cloud disk used to create the snapshot. Valid values: YSTEM_DISK: system disk, DATA_DISK: data disk. +func (o GetFromFamilyImageSnapshotSetOutput) DiskUsage() pulumi.StringOutput { + return o.ApplyT(func(v GetFromFamilyImageSnapshotSet) string { return v.DiskUsage }).(pulumi.StringOutput) +} + +// Snapshot ID. +func (o GetFromFamilyImageSnapshotSetOutput) SnapshotId() pulumi.StringOutput { + return o.ApplyT(func(v GetFromFamilyImageSnapshotSet) string { return v.SnapshotId }).(pulumi.StringOutput) +} + +type GetFromFamilyImageSnapshotSetArrayOutput struct{ *pulumi.OutputState } + +func (GetFromFamilyImageSnapshotSetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetFromFamilyImageSnapshotSet)(nil)).Elem() +} + +func (o GetFromFamilyImageSnapshotSetArrayOutput) ToGetFromFamilyImageSnapshotSetArrayOutput() GetFromFamilyImageSnapshotSetArrayOutput { + return o +} + +func (o GetFromFamilyImageSnapshotSetArrayOutput) ToGetFromFamilyImageSnapshotSetArrayOutputWithContext(ctx context.Context) GetFromFamilyImageSnapshotSetArrayOutput { + return o +} + +func (o GetFromFamilyImageSnapshotSetArrayOutput) Index(i pulumi.IntInput) GetFromFamilyImageSnapshotSetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetFromFamilyImageSnapshotSet { + return vs[0].([]GetFromFamilyImageSnapshotSet)[vs[1].(int)] + }).(GetFromFamilyImageSnapshotSetOutput) +} + +type GetFromFamilyImageTag struct { + // Key. + Key string `pulumi:"key"` + // Vaule. + Value string `pulumi:"value"` +} + +// GetFromFamilyImageTagInput is an input type that accepts GetFromFamilyImageTagArgs and GetFromFamilyImageTagOutput values. +// You can construct a concrete instance of `GetFromFamilyImageTagInput` via: +// +// GetFromFamilyImageTagArgs{...} +type GetFromFamilyImageTagInput interface { + pulumi.Input + + ToGetFromFamilyImageTagOutput() GetFromFamilyImageTagOutput + ToGetFromFamilyImageTagOutputWithContext(context.Context) GetFromFamilyImageTagOutput +} + +type GetFromFamilyImageTagArgs struct { + // Key. + Key pulumi.StringInput `pulumi:"key"` + // Vaule. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetFromFamilyImageTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetFromFamilyImageTag)(nil)).Elem() +} + +func (i GetFromFamilyImageTagArgs) ToGetFromFamilyImageTagOutput() GetFromFamilyImageTagOutput { + return i.ToGetFromFamilyImageTagOutputWithContext(context.Background()) +} + +func (i GetFromFamilyImageTagArgs) ToGetFromFamilyImageTagOutputWithContext(ctx context.Context) GetFromFamilyImageTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetFromFamilyImageTagOutput) +} + +// GetFromFamilyImageTagArrayInput is an input type that accepts GetFromFamilyImageTagArray and GetFromFamilyImageTagArrayOutput values. +// You can construct a concrete instance of `GetFromFamilyImageTagArrayInput` via: +// +// GetFromFamilyImageTagArray{ GetFromFamilyImageTagArgs{...} } +type GetFromFamilyImageTagArrayInput interface { + pulumi.Input + + ToGetFromFamilyImageTagArrayOutput() GetFromFamilyImageTagArrayOutput + ToGetFromFamilyImageTagArrayOutputWithContext(context.Context) GetFromFamilyImageTagArrayOutput +} + +type GetFromFamilyImageTagArray []GetFromFamilyImageTagInput + +func (GetFromFamilyImageTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetFromFamilyImageTag)(nil)).Elem() +} + +func (i GetFromFamilyImageTagArray) ToGetFromFamilyImageTagArrayOutput() GetFromFamilyImageTagArrayOutput { + return i.ToGetFromFamilyImageTagArrayOutputWithContext(context.Background()) +} + +func (i GetFromFamilyImageTagArray) ToGetFromFamilyImageTagArrayOutputWithContext(ctx context.Context) GetFromFamilyImageTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetFromFamilyImageTagArrayOutput) +} + +type GetFromFamilyImageTagOutput struct{ *pulumi.OutputState } + +func (GetFromFamilyImageTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetFromFamilyImageTag)(nil)).Elem() +} + +func (o GetFromFamilyImageTagOutput) ToGetFromFamilyImageTagOutput() GetFromFamilyImageTagOutput { + return o +} + +func (o GetFromFamilyImageTagOutput) ToGetFromFamilyImageTagOutputWithContext(ctx context.Context) GetFromFamilyImageTagOutput { + return o +} + +// Key. +func (o GetFromFamilyImageTagOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetFromFamilyImageTag) string { return v.Key }).(pulumi.StringOutput) +} + +// Vaule. +func (o GetFromFamilyImageTagOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetFromFamilyImageTag) string { return v.Value }).(pulumi.StringOutput) +} + +type GetFromFamilyImageTagArrayOutput struct{ *pulumi.OutputState } + +func (GetFromFamilyImageTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetFromFamilyImageTag)(nil)).Elem() +} + +func (o GetFromFamilyImageTagArrayOutput) ToGetFromFamilyImageTagArrayOutput() GetFromFamilyImageTagArrayOutput { + return o +} + +func (o GetFromFamilyImageTagArrayOutput) ToGetFromFamilyImageTagArrayOutputWithContext(ctx context.Context) GetFromFamilyImageTagArrayOutput { + return o +} + +func (o GetFromFamilyImageTagArrayOutput) Index(i pulumi.IntInput) GetFromFamilyImageTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetFromFamilyImageTag { + return vs[0].([]GetFromFamilyImageTag)[vs[1].(int)] + }).(GetFromFamilyImageTagOutput) +} + type GetInstanceFilter struct { // Key of the filter, valid keys: `image-id`, `image-type`, `image-name`. Name string `pulumi:"name"` @@ -120,8 +600,20 @@ func (o GetInstanceFilterArrayOutput) Index(i pulumi.IntInput) GetInstanceFilter } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*GetFromFamilyImageInput)(nil)).Elem(), GetFromFamilyImageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetFromFamilyImageArrayInput)(nil)).Elem(), GetFromFamilyImageArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetFromFamilyImageSnapshotSetInput)(nil)).Elem(), GetFromFamilyImageSnapshotSetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetFromFamilyImageSnapshotSetArrayInput)(nil)).Elem(), GetFromFamilyImageSnapshotSetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetFromFamilyImageTagInput)(nil)).Elem(), GetFromFamilyImageTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetFromFamilyImageTagArrayInput)(nil)).Elem(), GetFromFamilyImageTagArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetInstanceFilterInput)(nil)).Elem(), GetInstanceFilterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetInstanceFilterArrayInput)(nil)).Elem(), GetInstanceFilterArray{}) + pulumi.RegisterOutputType(GetFromFamilyImageOutput{}) + pulumi.RegisterOutputType(GetFromFamilyImageArrayOutput{}) + pulumi.RegisterOutputType(GetFromFamilyImageSnapshotSetOutput{}) + pulumi.RegisterOutputType(GetFromFamilyImageSnapshotSetArrayOutput{}) + pulumi.RegisterOutputType(GetFromFamilyImageTagOutput{}) + pulumi.RegisterOutputType(GetFromFamilyImageTagArrayOutput{}) pulumi.RegisterOutputType(GetInstanceFilterOutput{}) pulumi.RegisterOutputType(GetInstanceFilterArrayOutput{}) } diff --git a/sdk/go/tencentcloud/instance/instance.go b/sdk/go/tencentcloud/instance/instance.go index d64ea6592..551f95d3e 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,8 +254,12 @@ 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 automation, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset. + DisableAutomationService pulumi.BoolPtrOutput `pulumi:"disableAutomationService"` // 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. DisableMonitorService pulumi.BoolPtrOutput `pulumi:"disableMonitorService"` // 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. @@ -120,6 +332,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,8 +411,12 @@ 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 automation, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset. + DisableAutomationService *bool `pulumi:"disableAutomationService"` // 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. DisableMonitorService *bool `pulumi:"disableMonitorService"` // 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. @@ -271,6 +489,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,8 +526,12 @@ 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 automation, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset. + DisableAutomationService 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. DisableMonitorService pulumi.BoolPtrInput // 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. @@ -380,6 +604,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,8 +641,12 @@ 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 automation, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset. + DisableAutomationService *bool `pulumi:"disableAutomationService"` // 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. DisableMonitorService *bool `pulumi:"disableMonitorService"` // 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. @@ -479,6 +709,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,8 +741,12 @@ 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 automation, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset. + DisableAutomationService 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. DisableMonitorService pulumi.BoolPtrInput // 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. @@ -573,6 +809,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,11 +957,21 @@ 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) } +// Disable enhance service for automation, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset. +func (o InstanceOutput) DisableAutomationService() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.DisableAutomationService }).(pulumi.BoolPtrOutput) +} + // 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. func (o InstanceOutput) DisableMonitorService() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.DisableMonitorService }).(pulumi.BoolPtrOutput) @@ -895,6 +1143,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/authAttachment.go b/sdk/go/tencentcloud/kubernetes/authAttachment.go index bb4a96d51..65273f70e 100644 --- a/sdk/go/tencentcloud/kubernetes/authAttachment.go +++ b/sdk/go/tencentcloud/kubernetes/authAttachment.go @@ -101,7 +101,7 @@ import ( // if err != nil { // return err // } -// _, err = Kubernetes.NewAuthAttachment(ctx, "testAuthAttach", &Kubernetes.AuthAttachmentArgs{ +// _, err = Kubernetes.NewAuthAttachment(ctx, "example", &Kubernetes.AuthAttachmentArgs{ // ClusterId: managedCluster.ID(), // JwksUri: managedCluster.ID().ApplyT(func(id string) (string, error) { // return fmt.Sprintf("https://%v.ccs.tencent-cloud.com/openid/v1/jwks", id), nil @@ -205,7 +205,7 @@ import ( // return err // } // // if you want to use tke default issuer and jwks_uri, please set use_tke_default to true and set issuer to empty string. -// _, err = Kubernetes.NewAuthAttachment(ctx, "testUseTkeDefaultAuthAttach", &Kubernetes.AuthAttachmentArgs{ +// _, err = Kubernetes.NewAuthAttachment(ctx, "example", &Kubernetes.AuthAttachmentArgs{ // ClusterId: managedCluster.ID(), // AutoCreateDiscoveryAnonymousAuth: pulumi.Bool(true), // UseTkeDefault: pulumi.Bool(true), @@ -236,7 +236,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Kubernetes.NewAuthAttachment(ctx, "testAuthAttach", &Kubernetes.AuthAttachmentArgs{ +// _, err := Kubernetes.NewAuthAttachment(ctx, "example", &Kubernetes.AuthAttachmentArgs{ // ClusterId: pulumi.Any(tencentcloud_kubernetes_cluster.Managed_cluster.Id), // UseTkeDefault: pulumi.Bool(true), // AutoCreateDiscoveryAnonymousAuth: pulumi.Bool(true), @@ -266,7 +266,7 @@ import ( // tke cluster authentication can be imported, e.g. // // ```sh -// $ pulumi import tencentcloud:Kubernetes/authAttachment:AuthAttachment test cls-xxx +// $ pulumi import tencentcloud:Kubernetes/authAttachment:AuthAttachment example cls-fp5o961e // ``` type AuthAttachment struct { pulumi.CustomResourceState diff --git a/sdk/go/tencentcloud/kubernetes/cluster.go b/sdk/go/tencentcloud/kubernetes/cluster.go index 9cd72da58..4ad6cc7dd 100644 --- a/sdk/go/tencentcloud/kubernetes/cluster.go +++ b/sdk/go/tencentcloud/kubernetes/cluster.go @@ -12,13 +12,6 @@ import ( "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" ) -// Provide a resource to create a kubernetes cluster. -// -// > **NOTE:** To use the custom Kubernetes component startup parameter function (parameter `extraArgs`), you need to submit a ticket for application. -// -// > **NOTE:** We recommend this usage that uses the `Kubernetes.Cluster` resource to create a cluster without any `workerConfig`, then adds nodes by the `Kubernetes.NodePool` resource. -// It's more flexible than managing worker config directly with `Kubernetes.Cluster`, `Kubernetes.ScaleWorker`, or existing node management of `tencentcloudKubernetesAttachment`. The reason is that `workerConfig` is unchangeable and may cause the whole cluster resource to `ForceNew`. -// // ## Example Usage // // ### Use node pool global config @@ -235,12 +228,89 @@ import ( // ``` // // +// ### Use delete options to delete CBS when deleting the 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, "example", &Kubernetes.ClusterArgs{ +// VpcId: pulumi.Any(local.First_vpc_id), +// ClusterCidr: pulumi.Any(_var.Example_cluster_cidr), +// ClusterMaxPodNum: pulumi.Int(32), +// ClusterName: pulumi.String("example"), +// ClusterDesc: pulumi.String("example for tke cluster"), +// ClusterMaxServiceNum: pulumi.Int(32), +// ClusterLevel: pulumi.String("L50"), +// AutoUpgradeClusterLevel: pulumi.Bool(true), +// ClusterInternet: pulumi.Bool(false), +// ClusterVersion: pulumi.String("1.30.0"), +// ClusterOs: pulumi.String("tlinux2.2(tkernel3)x86_64"), +// ClusterDeployType: pulumi.String("MANAGED_CLUSTER"), +// ContainerRuntime: pulumi.String("containerd"), +// DockerGraphPath: pulumi.String("/var/lib/containerd"), +// Tags: pulumi.Map{ +// "demo": pulumi.Any("test"), +// }, +// WorkerConfigs: kubernetes.ClusterWorkerConfigArray{ +// &kubernetes.ClusterWorkerConfigArgs{ +// Count: pulumi.Int(1), +// AvailabilityZone: pulumi.Any(_var.Availability_zone_first), +// InstanceType: pulumi.String("SA2.MEDIUM2"), +// SystemDiskType: pulumi.String("CLOUD_SSD"), +// SystemDiskSize: pulumi.Int(60), +// InternetChargeType: pulumi.String("TRAFFIC_POSTPAID_BY_HOUR"), +// InternetMaxBandwidthOut: pulumi.Int(100), +// PublicIpAssigned: pulumi.Bool(true), +// SubnetId: pulumi.Any(local.First_subnet_id), +// DataDisks: kubernetes.ClusterWorkerConfigDataDiskArray{ +// &kubernetes.ClusterWorkerConfigDataDiskArgs{ +// DiskType: pulumi.String("CLOUD_PREMIUM"), +// DiskSize: pulumi.Int(50), +// }, +// }, +// EnhancedSecurityService: pulumi.Bool(false), +// EnhancedMonitorService: pulumi.Bool(false), +// UserData: pulumi.String("dGVzdA=="), +// DisasterRecoverGroupIds: pulumi.String{}, +// SecurityGroupIds: pulumi.StringArray{}, +// KeyIds: pulumi.String{}, +// CamRoleName: pulumi.String("CVM_QcsRole"), +// Password: pulumi.String("ZZXXccvv1212"), +// }, +// }, +// ResourceDeleteOptions: kubernetes.ClusterResourceDeleteOptionArray{ +// &kubernetes.ClusterResourceDeleteOptionArgs{ +// ResourceType: pulumi.String("CBS"), +// DeleteMode: pulumi.String("terminate"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// // ## Import // // tke cluster can be imported, e.g. // // ```sh -// $ pulumi import tencentcloud:Kubernetes/cluster:Cluster test cls-xxx +// $ pulumi import tencentcloud:Kubernetes/cluster:Cluster example cls-n2h4jbtk // ``` type Cluster struct { pulumi.CustomResourceState @@ -253,6 +323,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 +401,10 @@ 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"` + // The strategy for deleting cluster instances: terminate (destroy instances, only support pay as you go cloud host instances) retain (remove only, keep instances), Default is terminate. + InstanceDeleteMode pulumi.StringPtrOutput `pulumi:"instanceDeleteMode"` // Indicates whether non-static ip mode is enabled. Default is false. IsNonStaticIpMode pulumi.BoolPtrOutput `pulumi:"isNonStaticIpMode"` // Kubernetes config. @@ -359,8 +435,12 @@ 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"` + // The resource deletion policy when the cluster is deleted. Currently, CBS is supported (CBS is retained by default). Only valid when deleting cluster. + ResourceDeleteOptions ClusterResourceDeleteOptionArrayOutput `pulumi:"resourceDeleteOptions"` // Container Runtime version. RuntimeVersion pulumi.StringPtrOutput `pulumi:"runtimeVersion"` // Access policy. @@ -426,6 +506,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 +584,10 @@ 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"` + // The strategy for deleting cluster instances: terminate (destroy instances, only support pay as you go cloud host instances) retain (remove only, keep instances), Default is terminate. + InstanceDeleteMode *string `pulumi:"instanceDeleteMode"` // Indicates whether non-static ip mode is enabled. Default is false. IsNonStaticIpMode *bool `pulumi:"isNonStaticIpMode"` // Kubernetes config. @@ -532,8 +618,12 @@ 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"` + // The resource deletion policy when the cluster is deleted. Currently, CBS is supported (CBS is retained by default). Only valid when deleting cluster. + ResourceDeleteOptions []ClusterResourceDeleteOption `pulumi:"resourceDeleteOptions"` // Container Runtime version. RuntimeVersion *string `pulumi:"runtimeVersion"` // Access policy. @@ -567,6 +657,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 +735,10 @@ 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 + // The strategy for deleting cluster instances: terminate (destroy instances, only support pay as you go cloud host instances) retain (remove only, keep instances), Default is terminate. + InstanceDeleteMode pulumi.StringPtrInput // Indicates whether non-static ip mode is enabled. Default is false. IsNonStaticIpMode pulumi.BoolPtrInput // Kubernetes config. @@ -673,8 +769,12 @@ 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 + // The resource deletion policy when the cluster is deleted. Currently, CBS is supported (CBS is retained by default). Only valid when deleting cluster. + ResourceDeleteOptions ClusterResourceDeleteOptionArrayInput // Container Runtime version. RuntimeVersion pulumi.StringPtrInput // Access policy. @@ -712,6 +812,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 +878,10 @@ 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"` + // The strategy for deleting cluster instances: terminate (destroy instances, only support pay as you go cloud host instances) retain (remove only, keep instances), Default is terminate. + InstanceDeleteMode *string `pulumi:"instanceDeleteMode"` // 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,8 +904,12 @@ 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"` + // The resource deletion policy when the cluster is deleted. Currently, CBS is supported (CBS is retained by default). Only valid when deleting cluster. + ResourceDeleteOptions []ClusterResourceDeleteOption `pulumi:"resourceDeleteOptions"` // Container Runtime version. RuntimeVersion *string `pulumi:"runtimeVersion"` // 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. @@ -828,6 +938,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 +1004,10 @@ 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 + // The strategy for deleting cluster instances: terminate (destroy instances, only support pay as you go cloud host instances) retain (remove only, keep instances), Default is terminate. + InstanceDeleteMode pulumi.StringPtrInput // 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,8 +1030,12 @@ 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 + // The resource deletion policy when the cluster is deleted. Currently, CBS is supported (CBS is retained by default). Only valid when deleting cluster. + ResourceDeleteOptions ClusterResourceDeleteOptionArrayInput // Container Runtime version. RuntimeVersion pulumi.StringPtrInput // 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. @@ -1041,6 +1161,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 +1353,16 @@ 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) +} + +// The strategy for deleting cluster instances: terminate (destroy instances, only support pay as you go cloud host instances) retain (remove only, keep instances), Default is terminate. +func (o ClusterOutput) InstanceDeleteMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.InstanceDeleteMode }).(pulumi.StringPtrOutput) +} + // 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,11 +1435,21 @@ 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) } +// The resource deletion policy when the cluster is deleted. Currently, CBS is supported (CBS is retained by default). Only valid when deleting cluster. +func (o ClusterOutput) ResourceDeleteOptions() ClusterResourceDeleteOptionArrayOutput { + return o.ApplyT(func(v *Cluster) ClusterResourceDeleteOptionArrayOutput { return v.ResourceDeleteOptions }).(ClusterResourceDeleteOptionArrayOutput) +} + // Container Runtime version. func (o ClusterOutput) RuntimeVersion() pulumi.StringPtrOutput { return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.RuntimeVersion }).(pulumi.StringPtrOutput) diff --git a/sdk/go/tencentcloud/kubernetes/clusterAttachment.go b/sdk/go/tencentcloud/kubernetes/clusterAttachment.go index c3b3aadbc..87342fa40 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,9 @@ 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. + // A list of security group IDs after attach to cluster. + SecurityGroups []string `pulumi:"securityGroups"` + // 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 +306,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 +316,9 @@ 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. + // A list of security group IDs after attach to cluster. + SecurityGroups pulumi.StringArrayInput + // 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 +423,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 +458,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/clusterMasterAttachment.go b/sdk/go/tencentcloud/kubernetes/clusterMasterAttachment.go new file mode 100644 index 000000000..77024b3ea --- /dev/null +++ b/sdk/go/tencentcloud/kubernetes/clusterMasterAttachment.go @@ -0,0 +1,412 @@ +// 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 kubernetes cluster master attachment +type ClusterMasterAttachment struct { + pulumi.CustomResourceState + + // ID of the cluster. + ClusterId pulumi.StringOutput `pulumi:"clusterId"` + // When the node belongs to the podCIDR size customization mode, the maximum number of pods running on the node can be specified. + DesiredPodNumbers pulumi.IntArrayOutput `pulumi:"desiredPodNumbers"` + // Activate TencentCloud Automation Tools (TAT) service. If this parameter is not specified, the public image will default to enabling the Cloud Automation Assistant service, while other images will default to not enabling the Cloud Automation Assistant service. + EnhancedAutomationService pulumi.BoolPtrOutput `pulumi:"enhancedAutomationService"` + // To specify whether to enable cloud monitor service. Default is TRUE. + EnhancedMonitorService pulumi.BoolPtrOutput `pulumi:"enhancedMonitorService"` + // To specify whether to enable cloud security service. Default is TRUE. + EnhancedSecurityService pulumi.BoolPtrOutput `pulumi:"enhancedSecurityService"` + // Custom parameters for cluster master component. + ExtraArgs ClusterMasterAttachmentExtraArgsPtrOutput `pulumi:"extraArgs"` + // When reinstalling the system, you can specify the HostName of the instance to be modified (this parameter must be passed when the cluster is in HostName mode, and the rule name should be consistent with the HostName of the CVM instance creation interface except that uppercase characters are not supported). + HostName pulumi.StringPtrOutput `pulumi:"hostName"` + // 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. + KeyIds pulumi.StringPtrOutput `pulumi:"keyIds"` + // Advanced Node Settings. commonly used to attach existing instances. + MasterConfig ClusterMasterAttachmentMasterConfigPtrOutput `pulumi:"masterConfig"` + // Node role, values: MASTER_ETCD, WORKER. MASTER_ETCD needs to be specified only when creating an INDEPENDENT_CLUSTER independent cluster. The number of MASTER_ETCD nodes is 3-7, and it is recommended to have an odd number. The minimum configuration for MASTER_ETCD is 4C8G. + NodeRole pulumi.StringOutput `pulumi:"nodeRole"` + // Password to access, should be set if `keyIds` not set. + Password pulumi.StringPtrOutput `pulumi:"password"` + // The security group to which the instance belongs. This parameter can be obtained by calling the sgId field in the return value of DescribeSecureGroups. If this parameter is not specified, the default security group will be bound. + SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"` +} + +// NewClusterMasterAttachment registers a new resource with the given unique name, arguments, and options. +func NewClusterMasterAttachment(ctx *pulumi.Context, + name string, args *ClusterMasterAttachmentArgs, opts ...pulumi.ResourceOption) (*ClusterMasterAttachment, 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.InstanceId == nil { + return nil, errors.New("invalid value for required argument 'InstanceId'") + } + if args.NodeRole == nil { + return nil, errors.New("invalid value for required argument 'NodeRole'") + } + if args.Password != nil { + args.Password = pulumi.ToSecret(args.Password).(pulumi.StringPtrInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "password", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource ClusterMasterAttachment + err := ctx.RegisterResource("tencentcloud:Kubernetes/clusterMasterAttachment:ClusterMasterAttachment", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetClusterMasterAttachment gets an existing ClusterMasterAttachment 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 GetClusterMasterAttachment(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ClusterMasterAttachmentState, opts ...pulumi.ResourceOption) (*ClusterMasterAttachment, error) { + var resource ClusterMasterAttachment + err := ctx.ReadResource("tencentcloud:Kubernetes/clusterMasterAttachment:ClusterMasterAttachment", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ClusterMasterAttachment resources. +type clusterMasterAttachmentState struct { + // ID of the cluster. + ClusterId *string `pulumi:"clusterId"` + // When the node belongs to the podCIDR size customization mode, the maximum number of pods running on the node can be specified. + DesiredPodNumbers []int `pulumi:"desiredPodNumbers"` + // Activate TencentCloud Automation Tools (TAT) service. If this parameter is not specified, the public image will default to enabling the Cloud Automation Assistant service, while other images will default to not enabling the Cloud Automation Assistant service. + EnhancedAutomationService *bool `pulumi:"enhancedAutomationService"` + // To specify whether to enable cloud monitor service. Default is TRUE. + EnhancedMonitorService *bool `pulumi:"enhancedMonitorService"` + // To specify whether to enable cloud security service. Default is TRUE. + EnhancedSecurityService *bool `pulumi:"enhancedSecurityService"` + // Custom parameters for cluster master component. + ExtraArgs *ClusterMasterAttachmentExtraArgs `pulumi:"extraArgs"` + // When reinstalling the system, you can specify the HostName of the instance to be modified (this parameter must be passed when the cluster is in HostName mode, and the rule name should be consistent with the HostName of the CVM instance creation interface except that uppercase characters are not supported). + HostName *string `pulumi:"hostName"` + // 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. + KeyIds *string `pulumi:"keyIds"` + // Advanced Node Settings. commonly used to attach existing instances. + MasterConfig *ClusterMasterAttachmentMasterConfig `pulumi:"masterConfig"` + // Node role, values: MASTER_ETCD, WORKER. MASTER_ETCD needs to be specified only when creating an INDEPENDENT_CLUSTER independent cluster. The number of MASTER_ETCD nodes is 3-7, and it is recommended to have an odd number. The minimum configuration for MASTER_ETCD is 4C8G. + NodeRole *string `pulumi:"nodeRole"` + // Password to access, should be set if `keyIds` not set. + Password *string `pulumi:"password"` + // The security group to which the instance belongs. This parameter can be obtained by calling the sgId field in the return value of DescribeSecureGroups. If this parameter is not specified, the default security group will be bound. + SecurityGroupIds []string `pulumi:"securityGroupIds"` +} + +type ClusterMasterAttachmentState struct { + // ID of the cluster. + ClusterId pulumi.StringPtrInput + // When the node belongs to the podCIDR size customization mode, the maximum number of pods running on the node can be specified. + DesiredPodNumbers pulumi.IntArrayInput + // Activate TencentCloud Automation Tools (TAT) service. If this parameter is not specified, the public image will default to enabling the Cloud Automation Assistant service, while other images will default to not enabling the Cloud Automation Assistant service. + EnhancedAutomationService pulumi.BoolPtrInput + // To specify whether to enable cloud monitor service. Default is TRUE. + EnhancedMonitorService pulumi.BoolPtrInput + // To specify whether to enable cloud security service. Default is TRUE. + EnhancedSecurityService pulumi.BoolPtrInput + // Custom parameters for cluster master component. + ExtraArgs ClusterMasterAttachmentExtraArgsPtrInput + // When reinstalling the system, you can specify the HostName of the instance to be modified (this parameter must be passed when the cluster is in HostName mode, and the rule name should be consistent with the HostName of the CVM instance creation interface except that uppercase characters are not supported). + HostName 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. + KeyIds pulumi.StringPtrInput + // Advanced Node Settings. commonly used to attach existing instances. + MasterConfig ClusterMasterAttachmentMasterConfigPtrInput + // Node role, values: MASTER_ETCD, WORKER. MASTER_ETCD needs to be specified only when creating an INDEPENDENT_CLUSTER independent cluster. The number of MASTER_ETCD nodes is 3-7, and it is recommended to have an odd number. The minimum configuration for MASTER_ETCD is 4C8G. + NodeRole pulumi.StringPtrInput + // Password to access, should be set if `keyIds` not set. + Password pulumi.StringPtrInput + // The security group to which the instance belongs. This parameter can be obtained by calling the sgId field in the return value of DescribeSecureGroups. If this parameter is not specified, the default security group will be bound. + SecurityGroupIds pulumi.StringArrayInput +} + +func (ClusterMasterAttachmentState) ElementType() reflect.Type { + return reflect.TypeOf((*clusterMasterAttachmentState)(nil)).Elem() +} + +type clusterMasterAttachmentArgs struct { + // ID of the cluster. + ClusterId string `pulumi:"clusterId"` + // When the node belongs to the podCIDR size customization mode, the maximum number of pods running on the node can be specified. + DesiredPodNumbers []int `pulumi:"desiredPodNumbers"` + // Activate TencentCloud Automation Tools (TAT) service. If this parameter is not specified, the public image will default to enabling the Cloud Automation Assistant service, while other images will default to not enabling the Cloud Automation Assistant service. + EnhancedAutomationService *bool `pulumi:"enhancedAutomationService"` + // To specify whether to enable cloud monitor service. Default is TRUE. + EnhancedMonitorService *bool `pulumi:"enhancedMonitorService"` + // To specify whether to enable cloud security service. Default is TRUE. + EnhancedSecurityService *bool `pulumi:"enhancedSecurityService"` + // Custom parameters for cluster master component. + ExtraArgs *ClusterMasterAttachmentExtraArgs `pulumi:"extraArgs"` + // When reinstalling the system, you can specify the HostName of the instance to be modified (this parameter must be passed when the cluster is in HostName mode, and the rule name should be consistent with the HostName of the CVM instance creation interface except that uppercase characters are not supported). + HostName *string `pulumi:"hostName"` + // 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. + KeyIds *string `pulumi:"keyIds"` + // Advanced Node Settings. commonly used to attach existing instances. + MasterConfig *ClusterMasterAttachmentMasterConfig `pulumi:"masterConfig"` + // Node role, values: MASTER_ETCD, WORKER. MASTER_ETCD needs to be specified only when creating an INDEPENDENT_CLUSTER independent cluster. The number of MASTER_ETCD nodes is 3-7, and it is recommended to have an odd number. The minimum configuration for MASTER_ETCD is 4C8G. + NodeRole string `pulumi:"nodeRole"` + // Password to access, should be set if `keyIds` not set. + Password *string `pulumi:"password"` + // The security group to which the instance belongs. This parameter can be obtained by calling the sgId field in the return value of DescribeSecureGroups. If this parameter is not specified, the default security group will be bound. + SecurityGroupIds []string `pulumi:"securityGroupIds"` +} + +// The set of arguments for constructing a ClusterMasterAttachment resource. +type ClusterMasterAttachmentArgs struct { + // ID of the cluster. + ClusterId pulumi.StringInput + // When the node belongs to the podCIDR size customization mode, the maximum number of pods running on the node can be specified. + DesiredPodNumbers pulumi.IntArrayInput + // Activate TencentCloud Automation Tools (TAT) service. If this parameter is not specified, the public image will default to enabling the Cloud Automation Assistant service, while other images will default to not enabling the Cloud Automation Assistant service. + EnhancedAutomationService pulumi.BoolPtrInput + // To specify whether to enable cloud monitor service. Default is TRUE. + EnhancedMonitorService pulumi.BoolPtrInput + // To specify whether to enable cloud security service. Default is TRUE. + EnhancedSecurityService pulumi.BoolPtrInput + // Custom parameters for cluster master component. + ExtraArgs ClusterMasterAttachmentExtraArgsPtrInput + // When reinstalling the system, you can specify the HostName of the instance to be modified (this parameter must be passed when the cluster is in HostName mode, and the rule name should be consistent with the HostName of the CVM instance creation interface except that uppercase characters are not supported). + HostName 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. + KeyIds pulumi.StringPtrInput + // Advanced Node Settings. commonly used to attach existing instances. + MasterConfig ClusterMasterAttachmentMasterConfigPtrInput + // Node role, values: MASTER_ETCD, WORKER. MASTER_ETCD needs to be specified only when creating an INDEPENDENT_CLUSTER independent cluster. The number of MASTER_ETCD nodes is 3-7, and it is recommended to have an odd number. The minimum configuration for MASTER_ETCD is 4C8G. + NodeRole pulumi.StringInput + // Password to access, should be set if `keyIds` not set. + Password pulumi.StringPtrInput + // The security group to which the instance belongs. This parameter can be obtained by calling the sgId field in the return value of DescribeSecureGroups. If this parameter is not specified, the default security group will be bound. + SecurityGroupIds pulumi.StringArrayInput +} + +func (ClusterMasterAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*clusterMasterAttachmentArgs)(nil)).Elem() +} + +type ClusterMasterAttachmentInput interface { + pulumi.Input + + ToClusterMasterAttachmentOutput() ClusterMasterAttachmentOutput + ToClusterMasterAttachmentOutputWithContext(ctx context.Context) ClusterMasterAttachmentOutput +} + +func (*ClusterMasterAttachment) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterMasterAttachment)(nil)).Elem() +} + +func (i *ClusterMasterAttachment) ToClusterMasterAttachmentOutput() ClusterMasterAttachmentOutput { + return i.ToClusterMasterAttachmentOutputWithContext(context.Background()) +} + +func (i *ClusterMasterAttachment) ToClusterMasterAttachmentOutputWithContext(ctx context.Context) ClusterMasterAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterMasterAttachmentOutput) +} + +// ClusterMasterAttachmentArrayInput is an input type that accepts ClusterMasterAttachmentArray and ClusterMasterAttachmentArrayOutput values. +// You can construct a concrete instance of `ClusterMasterAttachmentArrayInput` via: +// +// ClusterMasterAttachmentArray{ ClusterMasterAttachmentArgs{...} } +type ClusterMasterAttachmentArrayInput interface { + pulumi.Input + + ToClusterMasterAttachmentArrayOutput() ClusterMasterAttachmentArrayOutput + ToClusterMasterAttachmentArrayOutputWithContext(context.Context) ClusterMasterAttachmentArrayOutput +} + +type ClusterMasterAttachmentArray []ClusterMasterAttachmentInput + +func (ClusterMasterAttachmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ClusterMasterAttachment)(nil)).Elem() +} + +func (i ClusterMasterAttachmentArray) ToClusterMasterAttachmentArrayOutput() ClusterMasterAttachmentArrayOutput { + return i.ToClusterMasterAttachmentArrayOutputWithContext(context.Background()) +} + +func (i ClusterMasterAttachmentArray) ToClusterMasterAttachmentArrayOutputWithContext(ctx context.Context) ClusterMasterAttachmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterMasterAttachmentArrayOutput) +} + +// ClusterMasterAttachmentMapInput is an input type that accepts ClusterMasterAttachmentMap and ClusterMasterAttachmentMapOutput values. +// You can construct a concrete instance of `ClusterMasterAttachmentMapInput` via: +// +// ClusterMasterAttachmentMap{ "key": ClusterMasterAttachmentArgs{...} } +type ClusterMasterAttachmentMapInput interface { + pulumi.Input + + ToClusterMasterAttachmentMapOutput() ClusterMasterAttachmentMapOutput + ToClusterMasterAttachmentMapOutputWithContext(context.Context) ClusterMasterAttachmentMapOutput +} + +type ClusterMasterAttachmentMap map[string]ClusterMasterAttachmentInput + +func (ClusterMasterAttachmentMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ClusterMasterAttachment)(nil)).Elem() +} + +func (i ClusterMasterAttachmentMap) ToClusterMasterAttachmentMapOutput() ClusterMasterAttachmentMapOutput { + return i.ToClusterMasterAttachmentMapOutputWithContext(context.Background()) +} + +func (i ClusterMasterAttachmentMap) ToClusterMasterAttachmentMapOutputWithContext(ctx context.Context) ClusterMasterAttachmentMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterMasterAttachmentMapOutput) +} + +type ClusterMasterAttachmentOutput struct{ *pulumi.OutputState } + +func (ClusterMasterAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterMasterAttachment)(nil)).Elem() +} + +func (o ClusterMasterAttachmentOutput) ToClusterMasterAttachmentOutput() ClusterMasterAttachmentOutput { + return o +} + +func (o ClusterMasterAttachmentOutput) ToClusterMasterAttachmentOutputWithContext(ctx context.Context) ClusterMasterAttachmentOutput { + return o +} + +// ID of the cluster. +func (o ClusterMasterAttachmentOutput) ClusterId() pulumi.StringOutput { + return o.ApplyT(func(v *ClusterMasterAttachment) pulumi.StringOutput { return v.ClusterId }).(pulumi.StringOutput) +} + +// When the node belongs to the podCIDR size customization mode, the maximum number of pods running on the node can be specified. +func (o ClusterMasterAttachmentOutput) DesiredPodNumbers() pulumi.IntArrayOutput { + return o.ApplyT(func(v *ClusterMasterAttachment) pulumi.IntArrayOutput { return v.DesiredPodNumbers }).(pulumi.IntArrayOutput) +} + +// Activate TencentCloud Automation Tools (TAT) service. If this parameter is not specified, the public image will default to enabling the Cloud Automation Assistant service, while other images will default to not enabling the Cloud Automation Assistant service. +func (o ClusterMasterAttachmentOutput) EnhancedAutomationService() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ClusterMasterAttachment) pulumi.BoolPtrOutput { return v.EnhancedAutomationService }).(pulumi.BoolPtrOutput) +} + +// To specify whether to enable cloud monitor service. Default is TRUE. +func (o ClusterMasterAttachmentOutput) EnhancedMonitorService() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ClusterMasterAttachment) pulumi.BoolPtrOutput { return v.EnhancedMonitorService }).(pulumi.BoolPtrOutput) +} + +// To specify whether to enable cloud security service. Default is TRUE. +func (o ClusterMasterAttachmentOutput) EnhancedSecurityService() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ClusterMasterAttachment) pulumi.BoolPtrOutput { return v.EnhancedSecurityService }).(pulumi.BoolPtrOutput) +} + +// Custom parameters for cluster master component. +func (o ClusterMasterAttachmentOutput) ExtraArgs() ClusterMasterAttachmentExtraArgsPtrOutput { + return o.ApplyT(func(v *ClusterMasterAttachment) ClusterMasterAttachmentExtraArgsPtrOutput { return v.ExtraArgs }).(ClusterMasterAttachmentExtraArgsPtrOutput) +} + +// When reinstalling the system, you can specify the HostName of the instance to be modified (this parameter must be passed when the cluster is in HostName mode, and the rule name should be consistent with the HostName of the CVM instance creation interface except that uppercase characters are not supported). +func (o ClusterMasterAttachmentOutput) HostName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterMasterAttachment) pulumi.StringPtrOutput { return v.HostName }).(pulumi.StringPtrOutput) +} + +// ID of the CVM instance, this cvm will reinstall the system. +func (o ClusterMasterAttachmentOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *ClusterMasterAttachment) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) +} + +// The key pair to use for the instance, it looks like skey-16jig7tx, it should be set if `password` not set. +func (o ClusterMasterAttachmentOutput) KeyIds() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterMasterAttachment) pulumi.StringPtrOutput { return v.KeyIds }).(pulumi.StringPtrOutput) +} + +// Advanced Node Settings. commonly used to attach existing instances. +func (o ClusterMasterAttachmentOutput) MasterConfig() ClusterMasterAttachmentMasterConfigPtrOutput { + return o.ApplyT(func(v *ClusterMasterAttachment) ClusterMasterAttachmentMasterConfigPtrOutput { return v.MasterConfig }).(ClusterMasterAttachmentMasterConfigPtrOutput) +} + +// Node role, values: MASTER_ETCD, WORKER. MASTER_ETCD needs to be specified only when creating an INDEPENDENT_CLUSTER independent cluster. The number of MASTER_ETCD nodes is 3-7, and it is recommended to have an odd number. The minimum configuration for MASTER_ETCD is 4C8G. +func (o ClusterMasterAttachmentOutput) NodeRole() pulumi.StringOutput { + return o.ApplyT(func(v *ClusterMasterAttachment) pulumi.StringOutput { return v.NodeRole }).(pulumi.StringOutput) +} + +// Password to access, should be set if `keyIds` not set. +func (o ClusterMasterAttachmentOutput) Password() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterMasterAttachment) pulumi.StringPtrOutput { return v.Password }).(pulumi.StringPtrOutput) +} + +// The security group to which the instance belongs. This parameter can be obtained by calling the sgId field in the return value of DescribeSecureGroups. If this parameter is not specified, the default security group will be bound. +func (o ClusterMasterAttachmentOutput) SecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ClusterMasterAttachment) pulumi.StringArrayOutput { return v.SecurityGroupIds }).(pulumi.StringArrayOutput) +} + +type ClusterMasterAttachmentArrayOutput struct{ *pulumi.OutputState } + +func (ClusterMasterAttachmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ClusterMasterAttachment)(nil)).Elem() +} + +func (o ClusterMasterAttachmentArrayOutput) ToClusterMasterAttachmentArrayOutput() ClusterMasterAttachmentArrayOutput { + return o +} + +func (o ClusterMasterAttachmentArrayOutput) ToClusterMasterAttachmentArrayOutputWithContext(ctx context.Context) ClusterMasterAttachmentArrayOutput { + return o +} + +func (o ClusterMasterAttachmentArrayOutput) Index(i pulumi.IntInput) ClusterMasterAttachmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ClusterMasterAttachment { + return vs[0].([]*ClusterMasterAttachment)[vs[1].(int)] + }).(ClusterMasterAttachmentOutput) +} + +type ClusterMasterAttachmentMapOutput struct{ *pulumi.OutputState } + +func (ClusterMasterAttachmentMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ClusterMasterAttachment)(nil)).Elem() +} + +func (o ClusterMasterAttachmentMapOutput) ToClusterMasterAttachmentMapOutput() ClusterMasterAttachmentMapOutput { + return o +} + +func (o ClusterMasterAttachmentMapOutput) ToClusterMasterAttachmentMapOutputWithContext(ctx context.Context) ClusterMasterAttachmentMapOutput { + return o +} + +func (o ClusterMasterAttachmentMapOutput) MapIndex(k pulumi.StringInput) ClusterMasterAttachmentOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ClusterMasterAttachment { + return vs[0].(map[string]*ClusterMasterAttachment)[vs[1].(string)] + }).(ClusterMasterAttachmentOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ClusterMasterAttachmentInput)(nil)).Elem(), &ClusterMasterAttachment{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterMasterAttachmentArrayInput)(nil)).Elem(), ClusterMasterAttachmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterMasterAttachmentMapInput)(nil)).Elem(), ClusterMasterAttachmentMap{}) + pulumi.RegisterOutputType(ClusterMasterAttachmentOutput{}) + pulumi.RegisterOutputType(ClusterMasterAttachmentArrayOutput{}) + pulumi.RegisterOutputType(ClusterMasterAttachmentMapOutput{}) +} diff --git a/sdk/go/tencentcloud/kubernetes/getClusterCommonNames.go b/sdk/go/tencentcloud/kubernetes/getClusterCommonNames.go index 478152826..f78ad9ddc 100644 --- a/sdk/go/tencentcloud/kubernetes/getClusterCommonNames.go +++ b/sdk/go/tencentcloud/kubernetes/getClusterCommonNames.go @@ -15,6 +15,8 @@ import ( // // ## Example Usage // +// ### Query common names by subaccount uins +// // // ```go // package main @@ -29,10 +31,41 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := Kubernetes.GetClusterCommonNames(ctx, &kubernetes.GetClusterCommonNamesArgs{ -// ClusterId: pulumi.StringRef("cls-12345678"), +// ClusterId: pulumi.StringRef("cls-fdy7hm1q"), // SubaccountUins: []string{ -// "1234567890", -// "0987654321", +// "100037718139", +// "100031340176", +// }, +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ### Query common names by role ids +// +// +// ```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.GetClusterCommonNames(ctx, &kubernetes.GetClusterCommonNamesArgs{ +// ClusterId: pulumi.StringRef("cls-fdy7hm1q"), +// RoleIds: []string{ +// "4611686018441060141", // }, // }, nil) // if err != nil { 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..bf6ebeb6c 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": @@ -35,8 +37,14 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &ClusterAttachment{} case "tencentcloud:Kubernetes/clusterEndpoint:ClusterEndpoint": r = &ClusterEndpoint{} + case "tencentcloud:Kubernetes/clusterMasterAttachment:ClusterMasterAttachment": + r = &ClusterMasterAttachment{} 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 +76,11 @@ func init() { "Kubernetes/addonAttachment", &module{version}, ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Kubernetes/addonConfig", + &module{version}, + ) pulumi.RegisterResourceModule( "tencentcloud", "Kubernetes/authAttachment", @@ -93,11 +106,26 @@ func init() { "Kubernetes/clusterEndpoint", &module{version}, ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Kubernetes/clusterMasterAttachment", + &module{version}, + ) pulumi.RegisterResourceModule( "tencentcloud", "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/nodePool.go b/sdk/go/tencentcloud/kubernetes/nodePool.go index 71e365c3f..a9d1ed5de 100644 --- a/sdk/go/tencentcloud/kubernetes/nodePool.go +++ b/sdk/go/tencentcloud/kubernetes/nodePool.go @@ -58,7 +58,7 @@ import ( // defaultInstanceType = param // } // // this is the cluster with empty worker config -// managedCluster, err := Kubernetes.NewCluster(ctx, "managedCluster", &Kubernetes.ClusterArgs{ +// exampleCluster, err := Kubernetes.NewCluster(ctx, "exampleCluster", &Kubernetes.ClusterArgs{ // VpcId: pulumi.String(vpc.InstanceLists[0].VpcId), // ClusterCidr: pulumi.String(clusterCidr), // ClusterMaxPodNum: pulumi.Int(32), @@ -72,8 +72,8 @@ import ( // return err // } // // this is one example of managing node using node pool -// _, err = Kubernetes.NewNodePool(ctx, "mynodepool", &Kubernetes.NodePoolArgs{ -// ClusterId: managedCluster.ID(), +// _, err = Kubernetes.NewNodePool(ctx, "exampleNodePool", &Kubernetes.NodePoolArgs{ +// ClusterId: exampleCluster.ID(), // MaxSize: pulumi.Int(6), // MinSize: pulumi.Int(1), // VpcId: pulumi.String(vpc.InstanceLists[0].VpcId), @@ -84,6 +84,7 @@ import ( // DesiredCapacity: pulumi.Int(4), // EnableAutoScale: pulumi.Bool(true), // MultiZoneSubnetPolicy: pulumi.String("EQUALITY"), +// NodeOs: pulumi.String("img-9qrfy1xt"), // AutoScalingConfig: &kubernetes.NodePoolAutoScalingConfigArgs{ // InstanceType: pulumi.String(defaultInstanceType), // SystemDiskType: pulumi.String("CLOUD_PREMIUM"), @@ -123,6 +124,7 @@ import ( // }, // }, // NodeConfig: &kubernetes.NodePoolNodeConfigArgs{ +// DockerGraphPath: pulumi.String("/var/lib/docker"), // ExtraArgs: pulumi.StringArray{ // pulumi.String("root-dir=/var/lib/kubelet"), // }, @@ -153,7 +155,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Kubernetes.NewNodePool(ctx, "mynodepool", &Kubernetes.NodePoolArgs{ +// _, err := Kubernetes.NewNodePool(ctx, "example", &Kubernetes.NodePoolArgs{ // ClusterId: pulumi.Any(tencentcloud_kubernetes_cluster.Managed_cluster.Id), // MaxSize: pulumi.Int(6), // MinSize: pulumi.Int(1), @@ -210,11 +212,13 @@ import ( // tke node pool can be imported, e.g. // // ```sh -// $ pulumi import tencentcloud:Kubernetes/nodePool:NodePool test cls-xxx#np-xxx +// $ pulumi import tencentcloud:Kubernetes/nodePool:NodePool example cls-d2xdg3io#np-380ay1o8 // ``` type NodePool struct { pulumi.CustomResourceState + // Node Annotation List. + Annotations NodePoolAnnotationArrayOutput `pulumi:"annotations"` // Auto scaling config parameters. AutoScalingConfig NodePoolAutoScalingConfigOutput `pulumi:"autoScalingConfig"` // The auto scaling group ID. @@ -326,6 +330,8 @@ func GetNodePool(ctx *pulumi.Context, // Input properties used for looking up and filtering NodePool resources. type nodePoolState struct { + // Node Annotation List. + Annotations []NodePoolAnnotation `pulumi:"annotations"` // Auto scaling config parameters. AutoScalingConfig *NodePoolAutoScalingConfig `pulumi:"autoScalingConfig"` // The auto scaling group ID. @@ -393,6 +399,8 @@ type nodePoolState struct { } type NodePoolState struct { + // Node Annotation List. + Annotations NodePoolAnnotationArrayInput // Auto scaling config parameters. AutoScalingConfig NodePoolAutoScalingConfigPtrInput // The auto scaling group ID. @@ -464,6 +472,8 @@ func (NodePoolState) ElementType() reflect.Type { } type nodePoolArgs struct { + // Node Annotation List. + Annotations []NodePoolAnnotation `pulumi:"annotations"` // Auto scaling config parameters. AutoScalingConfig NodePoolAutoScalingConfig `pulumi:"autoScalingConfig"` // ID of the cluster. @@ -520,6 +530,8 @@ type nodePoolArgs struct { // The set of arguments for constructing a NodePool resource. type NodePoolArgs struct { + // Node Annotation List. + Annotations NodePoolAnnotationArrayInput // Auto scaling config parameters. AutoScalingConfig NodePoolAutoScalingConfigInput // ID of the cluster. @@ -661,6 +673,11 @@ func (o NodePoolOutput) ToNodePoolOutputWithContext(ctx context.Context) NodePoo return o } +// Node Annotation List. +func (o NodePoolOutput) Annotations() NodePoolAnnotationArrayOutput { + return o.ApplyT(func(v *NodePool) NodePoolAnnotationArrayOutput { return v.Annotations }).(NodePoolAnnotationArrayOutput) +} + // Auto scaling config parameters. func (o NodePoolOutput) AutoScalingConfig() NodePoolAutoScalingConfigOutput { return o.ApplyT(func(v *NodePool) NodePoolAutoScalingConfigOutput { return v.AutoScalingConfig }).(NodePoolAutoScalingConfigOutput) diff --git a/sdk/go/tencentcloud/kubernetes/pulumiTypes.go b/sdk/go/tencentcloud/kubernetes/pulumiTypes.go index 2bc2072e4..707ef964a 100644 --- a/sdk/go/tencentcloud/kubernetes/pulumiTypes.go +++ b/sdk/go/tencentcloud/kubernetes/pulumiTypes.go @@ -24,12 +24,16 @@ 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"` // Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. PreStartUserScript *string `pulumi:"preStartUserScript"` + // Node taint. + Taints []ClusterAttachmentWorkerConfigTaint `pulumi:"taints"` // Base64-encoded User Data text, the length limit is 16KB. UserData *string `pulumi:"userData"` } @@ -56,12 +60,16 @@ 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"` // Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. PreStartUserScript pulumi.StringPtrInput `pulumi:"preStartUserScript"` + // Node taint. + Taints ClusterAttachmentWorkerConfigTaintArrayInput `pulumi:"taints"` // Base64-encoded User Data text, the length limit is 16KB. UserData pulumi.StringPtrInput `pulumi:"userData"` } @@ -168,7 +176,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) } @@ -183,6 +193,11 @@ func (o ClusterAttachmentWorkerConfigOutput) PreStartUserScript() pulumi.StringP return o.ApplyT(func(v ClusterAttachmentWorkerConfig) *string { return v.PreStartUserScript }).(pulumi.StringPtrOutput) } +// Node taint. +func (o ClusterAttachmentWorkerConfigOutput) Taints() ClusterAttachmentWorkerConfigTaintArrayOutput { + return o.ApplyT(func(v ClusterAttachmentWorkerConfig) []ClusterAttachmentWorkerConfigTaint { return v.Taints }).(ClusterAttachmentWorkerConfigTaintArrayOutput) +} + // Base64-encoded User Data text, the length limit is 16KB. func (o ClusterAttachmentWorkerConfigOutput) UserData() pulumi.StringPtrOutput { return o.ApplyT(func(v ClusterAttachmentWorkerConfig) *string { return v.UserData }).(pulumi.StringPtrOutput) @@ -262,7 +277,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 { @@ -292,6 +309,16 @@ func (o ClusterAttachmentWorkerConfigPtrOutput) PreStartUserScript() pulumi.Stri }).(pulumi.StringPtrOutput) } +// Node taint. +func (o ClusterAttachmentWorkerConfigPtrOutput) Taints() ClusterAttachmentWorkerConfigTaintArrayOutput { + return o.ApplyT(func(v *ClusterAttachmentWorkerConfig) []ClusterAttachmentWorkerConfigTaint { + if v == nil { + return nil + } + return v.Taints + }).(ClusterAttachmentWorkerConfigTaintArrayOutput) +} + // Base64-encoded User Data text, the length limit is 16KB. func (o ClusterAttachmentWorkerConfigPtrOutput) UserData() pulumi.StringPtrOutput { return o.ApplyT(func(v *ClusterAttachmentWorkerConfig) *string { @@ -662,19 +689,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 +733,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 +850,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 +871,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 +943,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 +955,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 +977,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 +989,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 +1001,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 +1013,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 { @@ -1305,6 +1380,121 @@ func (o ClusterAttachmentWorkerConfigOverridesGpuArgsPtrOutput) MigEnable() pulu }).(pulumi.BoolPtrOutput) } +type ClusterAttachmentWorkerConfigTaint struct { + // Effect of the taint. + Effect *string `pulumi:"effect"` + // Key of the taint. + Key *string `pulumi:"key"` + // Value of the taint. + Value *string `pulumi:"value"` +} + +// ClusterAttachmentWorkerConfigTaintInput is an input type that accepts ClusterAttachmentWorkerConfigTaintArgs and ClusterAttachmentWorkerConfigTaintOutput values. +// You can construct a concrete instance of `ClusterAttachmentWorkerConfigTaintInput` via: +// +// ClusterAttachmentWorkerConfigTaintArgs{...} +type ClusterAttachmentWorkerConfigTaintInput interface { + pulumi.Input + + ToClusterAttachmentWorkerConfigTaintOutput() ClusterAttachmentWorkerConfigTaintOutput + ToClusterAttachmentWorkerConfigTaintOutputWithContext(context.Context) ClusterAttachmentWorkerConfigTaintOutput +} + +type ClusterAttachmentWorkerConfigTaintArgs struct { + // Effect of the taint. + Effect pulumi.StringPtrInput `pulumi:"effect"` + // Key of the taint. + Key pulumi.StringPtrInput `pulumi:"key"` + // Value of the taint. + Value pulumi.StringPtrInput `pulumi:"value"` +} + +func (ClusterAttachmentWorkerConfigTaintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterAttachmentWorkerConfigTaint)(nil)).Elem() +} + +func (i ClusterAttachmentWorkerConfigTaintArgs) ToClusterAttachmentWorkerConfigTaintOutput() ClusterAttachmentWorkerConfigTaintOutput { + return i.ToClusterAttachmentWorkerConfigTaintOutputWithContext(context.Background()) +} + +func (i ClusterAttachmentWorkerConfigTaintArgs) ToClusterAttachmentWorkerConfigTaintOutputWithContext(ctx context.Context) ClusterAttachmentWorkerConfigTaintOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterAttachmentWorkerConfigTaintOutput) +} + +// ClusterAttachmentWorkerConfigTaintArrayInput is an input type that accepts ClusterAttachmentWorkerConfigTaintArray and ClusterAttachmentWorkerConfigTaintArrayOutput values. +// You can construct a concrete instance of `ClusterAttachmentWorkerConfigTaintArrayInput` via: +// +// ClusterAttachmentWorkerConfigTaintArray{ ClusterAttachmentWorkerConfigTaintArgs{...} } +type ClusterAttachmentWorkerConfigTaintArrayInput interface { + pulumi.Input + + ToClusterAttachmentWorkerConfigTaintArrayOutput() ClusterAttachmentWorkerConfigTaintArrayOutput + ToClusterAttachmentWorkerConfigTaintArrayOutputWithContext(context.Context) ClusterAttachmentWorkerConfigTaintArrayOutput +} + +type ClusterAttachmentWorkerConfigTaintArray []ClusterAttachmentWorkerConfigTaintInput + +func (ClusterAttachmentWorkerConfigTaintArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterAttachmentWorkerConfigTaint)(nil)).Elem() +} + +func (i ClusterAttachmentWorkerConfigTaintArray) ToClusterAttachmentWorkerConfigTaintArrayOutput() ClusterAttachmentWorkerConfigTaintArrayOutput { + return i.ToClusterAttachmentWorkerConfigTaintArrayOutputWithContext(context.Background()) +} + +func (i ClusterAttachmentWorkerConfigTaintArray) ToClusterAttachmentWorkerConfigTaintArrayOutputWithContext(ctx context.Context) ClusterAttachmentWorkerConfigTaintArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterAttachmentWorkerConfigTaintArrayOutput) +} + +type ClusterAttachmentWorkerConfigTaintOutput struct{ *pulumi.OutputState } + +func (ClusterAttachmentWorkerConfigTaintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterAttachmentWorkerConfigTaint)(nil)).Elem() +} + +func (o ClusterAttachmentWorkerConfigTaintOutput) ToClusterAttachmentWorkerConfigTaintOutput() ClusterAttachmentWorkerConfigTaintOutput { + return o +} + +func (o ClusterAttachmentWorkerConfigTaintOutput) ToClusterAttachmentWorkerConfigTaintOutputWithContext(ctx context.Context) ClusterAttachmentWorkerConfigTaintOutput { + return o +} + +// Effect of the taint. +func (o ClusterAttachmentWorkerConfigTaintOutput) Effect() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterAttachmentWorkerConfigTaint) *string { return v.Effect }).(pulumi.StringPtrOutput) +} + +// Key of the taint. +func (o ClusterAttachmentWorkerConfigTaintOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterAttachmentWorkerConfigTaint) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Value of the taint. +func (o ClusterAttachmentWorkerConfigTaintOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterAttachmentWorkerConfigTaint) *string { return v.Value }).(pulumi.StringPtrOutput) +} + +type ClusterAttachmentWorkerConfigTaintArrayOutput struct{ *pulumi.OutputState } + +func (ClusterAttachmentWorkerConfigTaintArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterAttachmentWorkerConfigTaint)(nil)).Elem() +} + +func (o ClusterAttachmentWorkerConfigTaintArrayOutput) ToClusterAttachmentWorkerConfigTaintArrayOutput() ClusterAttachmentWorkerConfigTaintArrayOutput { + return o +} + +func (o ClusterAttachmentWorkerConfigTaintArrayOutput) ToClusterAttachmentWorkerConfigTaintArrayOutputWithContext(ctx context.Context) ClusterAttachmentWorkerConfigTaintArrayOutput { + return o +} + +func (o ClusterAttachmentWorkerConfigTaintArrayOutput) Index(i pulumi.IntInput) ClusterAttachmentWorkerConfigTaintOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ClusterAttachmentWorkerConfigTaint { + return vs[0].([]ClusterAttachmentWorkerConfigTaint)[vs[1].(int)] + }).(ClusterAttachmentWorkerConfigTaintOutput) +} + type ClusterAuthOptions struct { // If set to `true`, the rbac rule will be created automatically which allow anonymous user to access '/.well-known/openid-configuration' and '/openid/v1/jwks'. AutoCreateDiscoveryAnonymousAuth *bool `pulumi:"autoCreateDiscoveryAnonymousAuth"` @@ -2178,8 +2368,20 @@ func (o ClusterExistInstanceArrayOutput) Index(i pulumi.IntInput) ClusterExistIn } type ClusterExistInstanceInstancesPara struct { + // To specify whether to enable cloud monitor service. Default is TRUE. + EnhancedMonitorService *bool `pulumi:"enhancedMonitorService"` + // To specify whether to enable cloud security service. Default is TRUE. + EnhancedSecurityService *bool `pulumi:"enhancedSecurityService"` // Cluster IDs. InstanceIds []string `pulumi:"instanceIds"` + // ID list of keys, should be set if `password` not set. + KeyIds []string `pulumi:"keyIds"` + // Advanced Node Settings. commonly used to attach existing instances. + MasterConfig *ClusterExistInstanceInstancesParaMasterConfig `pulumi:"masterConfig"` + // Password to access, should be set if `keyIds` not set. + Password *string `pulumi:"password"` + // Security groups to which a CVM instance belongs. + SecurityGroupIds []string `pulumi:"securityGroupIds"` } // ClusterExistInstanceInstancesParaInput is an input type that accepts ClusterExistInstanceInstancesParaArgs and ClusterExistInstanceInstancesParaOutput values. @@ -2194,8 +2396,20 @@ type ClusterExistInstanceInstancesParaInput interface { } type ClusterExistInstanceInstancesParaArgs struct { + // To specify whether to enable cloud monitor service. Default is TRUE. + EnhancedMonitorService pulumi.BoolPtrInput `pulumi:"enhancedMonitorService"` + // To specify whether to enable cloud security service. Default is TRUE. + EnhancedSecurityService pulumi.BoolPtrInput `pulumi:"enhancedSecurityService"` // Cluster IDs. InstanceIds pulumi.StringArrayInput `pulumi:"instanceIds"` + // ID list of keys, should be set if `password` not set. + KeyIds pulumi.StringArrayInput `pulumi:"keyIds"` + // Advanced Node Settings. commonly used to attach existing instances. + MasterConfig ClusterExistInstanceInstancesParaMasterConfigPtrInput `pulumi:"masterConfig"` + // Password to access, should be set if `keyIds` not set. + Password pulumi.StringPtrInput `pulumi:"password"` + // Security groups to which a CVM instance belongs. + SecurityGroupIds pulumi.StringArrayInput `pulumi:"securityGroupIds"` } func (ClusterExistInstanceInstancesParaArgs) ElementType() reflect.Type { @@ -2275,11 +2489,43 @@ func (o ClusterExistInstanceInstancesParaOutput) ToClusterExistInstanceInstances }).(ClusterExistInstanceInstancesParaPtrOutput) } +// To specify whether to enable cloud monitor service. Default is TRUE. +func (o ClusterExistInstanceInstancesParaOutput) EnhancedMonitorService() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ClusterExistInstanceInstancesPara) *bool { return v.EnhancedMonitorService }).(pulumi.BoolPtrOutput) +} + +// To specify whether to enable cloud security service. Default is TRUE. +func (o ClusterExistInstanceInstancesParaOutput) EnhancedSecurityService() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ClusterExistInstanceInstancesPara) *bool { return v.EnhancedSecurityService }).(pulumi.BoolPtrOutput) +} + // Cluster IDs. func (o ClusterExistInstanceInstancesParaOutput) InstanceIds() pulumi.StringArrayOutput { return o.ApplyT(func(v ClusterExistInstanceInstancesPara) []string { return v.InstanceIds }).(pulumi.StringArrayOutput) } +// ID list of keys, should be set if `password` not set. +func (o ClusterExistInstanceInstancesParaOutput) KeyIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v ClusterExistInstanceInstancesPara) []string { return v.KeyIds }).(pulumi.StringArrayOutput) +} + +// Advanced Node Settings. commonly used to attach existing instances. +func (o ClusterExistInstanceInstancesParaOutput) MasterConfig() ClusterExistInstanceInstancesParaMasterConfigPtrOutput { + return o.ApplyT(func(v ClusterExistInstanceInstancesPara) *ClusterExistInstanceInstancesParaMasterConfig { + return v.MasterConfig + }).(ClusterExistInstanceInstancesParaMasterConfigPtrOutput) +} + +// Password to access, should be set if `keyIds` not set. +func (o ClusterExistInstanceInstancesParaOutput) Password() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterExistInstanceInstancesPara) *string { return v.Password }).(pulumi.StringPtrOutput) +} + +// Security groups to which a CVM instance belongs. +func (o ClusterExistInstanceInstancesParaOutput) SecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v ClusterExistInstanceInstancesPara) []string { return v.SecurityGroupIds }).(pulumi.StringArrayOutput) +} + type ClusterExistInstanceInstancesParaPtrOutput struct{ *pulumi.OutputState } func (ClusterExistInstanceInstancesParaPtrOutput) ElementType() reflect.Type { @@ -2304,6 +2550,26 @@ func (o ClusterExistInstanceInstancesParaPtrOutput) Elem() ClusterExistInstanceI }).(ClusterExistInstanceInstancesParaOutput) } +// To specify whether to enable cloud monitor service. Default is TRUE. +func (o ClusterExistInstanceInstancesParaPtrOutput) EnhancedMonitorService() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ClusterExistInstanceInstancesPara) *bool { + if v == nil { + return nil + } + return v.EnhancedMonitorService + }).(pulumi.BoolPtrOutput) +} + +// To specify whether to enable cloud security service. Default is TRUE. +func (o ClusterExistInstanceInstancesParaPtrOutput) EnhancedSecurityService() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ClusterExistInstanceInstancesPara) *bool { + if v == nil { + return nil + } + return v.EnhancedSecurityService + }).(pulumi.BoolPtrOutput) +} + // Cluster IDs. func (o ClusterExistInstanceInstancesParaPtrOutput) InstanceIds() pulumi.StringArrayOutput { return o.ApplyT(func(v *ClusterExistInstanceInstancesPara) []string { @@ -2314,266 +2580,2744 @@ func (o ClusterExistInstanceInstancesParaPtrOutput) InstanceIds() pulumi.StringA }).(pulumi.StringArrayOutput) } -type ClusterExtensionAddon struct { - // Add-on name. - Name string `pulumi:"name"` - // Parameter of the add-on resource object in JSON string format, please check the example at the top of page for reference. - Param string `pulumi:"param"` -} - -// ClusterExtensionAddonInput is an input type that accepts ClusterExtensionAddonArgs and ClusterExtensionAddonOutput values. -// You can construct a concrete instance of `ClusterExtensionAddonInput` via: -// -// ClusterExtensionAddonArgs{...} -type ClusterExtensionAddonInput interface { - pulumi.Input - - ToClusterExtensionAddonOutput() ClusterExtensionAddonOutput - ToClusterExtensionAddonOutputWithContext(context.Context) ClusterExtensionAddonOutput +// ID list of keys, should be set if `password` not set. +func (o ClusterExistInstanceInstancesParaPtrOutput) KeyIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ClusterExistInstanceInstancesPara) []string { + if v == nil { + return nil + } + return v.KeyIds + }).(pulumi.StringArrayOutput) } -type ClusterExtensionAddonArgs struct { - // Add-on name. - Name pulumi.StringInput `pulumi:"name"` - // Parameter of the add-on resource object in JSON string format, please check the example at the top of page for reference. - Param pulumi.StringInput `pulumi:"param"` +// Advanced Node Settings. commonly used to attach existing instances. +func (o ClusterExistInstanceInstancesParaPtrOutput) MasterConfig() ClusterExistInstanceInstancesParaMasterConfigPtrOutput { + return o.ApplyT(func(v *ClusterExistInstanceInstancesPara) *ClusterExistInstanceInstancesParaMasterConfig { + if v == nil { + return nil + } + return v.MasterConfig + }).(ClusterExistInstanceInstancesParaMasterConfigPtrOutput) } -func (ClusterExtensionAddonArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterExtensionAddon)(nil)).Elem() +// Password to access, should be set if `keyIds` not set. +func (o ClusterExistInstanceInstancesParaPtrOutput) Password() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterExistInstanceInstancesPara) *string { + if v == nil { + return nil + } + return v.Password + }).(pulumi.StringPtrOutput) } -func (i ClusterExtensionAddonArgs) ToClusterExtensionAddonOutput() ClusterExtensionAddonOutput { - return i.ToClusterExtensionAddonOutputWithContext(context.Background()) +// Security groups to which a CVM instance belongs. +func (o ClusterExistInstanceInstancesParaPtrOutput) SecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ClusterExistInstanceInstancesPara) []string { + if v == nil { + return nil + } + return v.SecurityGroupIds + }).(pulumi.StringArrayOutput) } -func (i ClusterExtensionAddonArgs) ToClusterExtensionAddonOutputWithContext(ctx context.Context) ClusterExtensionAddonOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterExtensionAddonOutput) +type ClusterExistInstanceInstancesParaMasterConfig struct { + // Configurations of data disk. + DataDisk *ClusterExistInstanceInstancesParaMasterConfigDataDisk `pulumi:"dataDisk"` + // Indicate to set desired pod number in node. valid when the cluster is podCIDR. + DesiredPodNumber *int `pulumi:"desiredPodNumber"` + // Docker graph path. Default is `/var/lib/docker`. + DockerGraphPath *string `pulumi:"dockerGraphPath"` + // Custom parameter information related to the node. This is a white-list parameter. + ExtraArgs *ClusterExistInstanceInstancesParaMasterConfigExtraArgs `pulumi:"extraArgs"` + // GPU driver parameters. + GpuArgs *ClusterExistInstanceInstancesParaMasterConfigGpuArgs `pulumi:"gpuArgs"` + // Node label list. + Labels []ClusterExistInstanceInstancesParaMasterConfigLabel `pulumi:"labels"` + // Mount target. Default is not mounting. + MountTarget *string `pulumi:"mountTarget"` + // Node taint. + Taints []ClusterExistInstanceInstancesParaMasterConfigTaint `pulumi:"taints"` + // Set whether the joined nodes participate in scheduling, with a default value of 0, indicating participation in scheduling; Non 0 means not participating in scheduling. + Unschedulable *int `pulumi:"unschedulable"` + // User script encoded in base64, which will be executed after the k8s component runs. The user needs to ensure the script's reentrant and retry logic. The script and its generated log files can be viewed in the node path /data/ccs_userscript/. If the node needs to be initialized before joining the schedule, it can be used in conjunction with the `unschedulable` parameter. After the final initialization of the userScript is completed, add the command "kubectl uncordon nodename --kubeconfig=/root/.kube/config" to add the node to the schedule. + UserScript *string `pulumi:"userScript"` } -// ClusterExtensionAddonArrayInput is an input type that accepts ClusterExtensionAddonArray and ClusterExtensionAddonArrayOutput values. -// You can construct a concrete instance of `ClusterExtensionAddonArrayInput` via: +// ClusterExistInstanceInstancesParaMasterConfigInput is an input type that accepts ClusterExistInstanceInstancesParaMasterConfigArgs and ClusterExistInstanceInstancesParaMasterConfigOutput values. +// You can construct a concrete instance of `ClusterExistInstanceInstancesParaMasterConfigInput` via: // -// ClusterExtensionAddonArray{ ClusterExtensionAddonArgs{...} } -type ClusterExtensionAddonArrayInput interface { +// ClusterExistInstanceInstancesParaMasterConfigArgs{...} +type ClusterExistInstanceInstancesParaMasterConfigInput interface { pulumi.Input - ToClusterExtensionAddonArrayOutput() ClusterExtensionAddonArrayOutput - ToClusterExtensionAddonArrayOutputWithContext(context.Context) ClusterExtensionAddonArrayOutput + ToClusterExistInstanceInstancesParaMasterConfigOutput() ClusterExistInstanceInstancesParaMasterConfigOutput + ToClusterExistInstanceInstancesParaMasterConfigOutputWithContext(context.Context) ClusterExistInstanceInstancesParaMasterConfigOutput } -type ClusterExtensionAddonArray []ClusterExtensionAddonInput - +type ClusterExistInstanceInstancesParaMasterConfigArgs struct { + // Configurations of data disk. + DataDisk ClusterExistInstanceInstancesParaMasterConfigDataDiskPtrInput `pulumi:"dataDisk"` + // Indicate to set desired pod number in node. valid when the cluster is podCIDR. + DesiredPodNumber pulumi.IntPtrInput `pulumi:"desiredPodNumber"` + // Docker graph path. Default is `/var/lib/docker`. + DockerGraphPath pulumi.StringPtrInput `pulumi:"dockerGraphPath"` + // Custom parameter information related to the node. This is a white-list parameter. + ExtraArgs ClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrInput `pulumi:"extraArgs"` + // GPU driver parameters. + GpuArgs ClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrInput `pulumi:"gpuArgs"` + // Node label list. + Labels ClusterExistInstanceInstancesParaMasterConfigLabelArrayInput `pulumi:"labels"` + // Mount target. Default is not mounting. + MountTarget pulumi.StringPtrInput `pulumi:"mountTarget"` + // Node taint. + Taints ClusterExistInstanceInstancesParaMasterConfigTaintArrayInput `pulumi:"taints"` + // Set whether the joined nodes participate in scheduling, with a default value of 0, indicating participation in scheduling; Non 0 means not participating in scheduling. + Unschedulable pulumi.IntPtrInput `pulumi:"unschedulable"` + // User script encoded in base64, which will be executed after the k8s component runs. The user needs to ensure the script's reentrant and retry logic. The script and its generated log files can be viewed in the node path /data/ccs_userscript/. If the node needs to be initialized before joining the schedule, it can be used in conjunction with the `unschedulable` parameter. After the final initialization of the userScript is completed, add the command "kubectl uncordon nodename --kubeconfig=/root/.kube/config" to add the node to the schedule. + UserScript pulumi.StringPtrInput `pulumi:"userScript"` +} + +func (ClusterExistInstanceInstancesParaMasterConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterExistInstanceInstancesParaMasterConfig)(nil)).Elem() +} + +func (i ClusterExistInstanceInstancesParaMasterConfigArgs) ToClusterExistInstanceInstancesParaMasterConfigOutput() ClusterExistInstanceInstancesParaMasterConfigOutput { + return i.ToClusterExistInstanceInstancesParaMasterConfigOutputWithContext(context.Background()) +} + +func (i ClusterExistInstanceInstancesParaMasterConfigArgs) ToClusterExistInstanceInstancesParaMasterConfigOutputWithContext(ctx context.Context) ClusterExistInstanceInstancesParaMasterConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterExistInstanceInstancesParaMasterConfigOutput) +} + +func (i ClusterExistInstanceInstancesParaMasterConfigArgs) ToClusterExistInstanceInstancesParaMasterConfigPtrOutput() ClusterExistInstanceInstancesParaMasterConfigPtrOutput { + return i.ToClusterExistInstanceInstancesParaMasterConfigPtrOutputWithContext(context.Background()) +} + +func (i ClusterExistInstanceInstancesParaMasterConfigArgs) ToClusterExistInstanceInstancesParaMasterConfigPtrOutputWithContext(ctx context.Context) ClusterExistInstanceInstancesParaMasterConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterExistInstanceInstancesParaMasterConfigOutput).ToClusterExistInstanceInstancesParaMasterConfigPtrOutputWithContext(ctx) +} + +// ClusterExistInstanceInstancesParaMasterConfigPtrInput is an input type that accepts ClusterExistInstanceInstancesParaMasterConfigArgs, ClusterExistInstanceInstancesParaMasterConfigPtr and ClusterExistInstanceInstancesParaMasterConfigPtrOutput values. +// You can construct a concrete instance of `ClusterExistInstanceInstancesParaMasterConfigPtrInput` via: +// +// ClusterExistInstanceInstancesParaMasterConfigArgs{...} +// +// or: +// +// nil +type ClusterExistInstanceInstancesParaMasterConfigPtrInput interface { + pulumi.Input + + ToClusterExistInstanceInstancesParaMasterConfigPtrOutput() ClusterExistInstanceInstancesParaMasterConfigPtrOutput + ToClusterExistInstanceInstancesParaMasterConfigPtrOutputWithContext(context.Context) ClusterExistInstanceInstancesParaMasterConfigPtrOutput +} + +type clusterExistInstanceInstancesParaMasterConfigPtrType ClusterExistInstanceInstancesParaMasterConfigArgs + +func ClusterExistInstanceInstancesParaMasterConfigPtr(v *ClusterExistInstanceInstancesParaMasterConfigArgs) ClusterExistInstanceInstancesParaMasterConfigPtrInput { + return (*clusterExistInstanceInstancesParaMasterConfigPtrType)(v) +} + +func (*clusterExistInstanceInstancesParaMasterConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterExistInstanceInstancesParaMasterConfig)(nil)).Elem() +} + +func (i *clusterExistInstanceInstancesParaMasterConfigPtrType) ToClusterExistInstanceInstancesParaMasterConfigPtrOutput() ClusterExistInstanceInstancesParaMasterConfigPtrOutput { + return i.ToClusterExistInstanceInstancesParaMasterConfigPtrOutputWithContext(context.Background()) +} + +func (i *clusterExistInstanceInstancesParaMasterConfigPtrType) ToClusterExistInstanceInstancesParaMasterConfigPtrOutputWithContext(ctx context.Context) ClusterExistInstanceInstancesParaMasterConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterExistInstanceInstancesParaMasterConfigPtrOutput) +} + +type ClusterExistInstanceInstancesParaMasterConfigOutput struct{ *pulumi.OutputState } + +func (ClusterExistInstanceInstancesParaMasterConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterExistInstanceInstancesParaMasterConfig)(nil)).Elem() +} + +func (o ClusterExistInstanceInstancesParaMasterConfigOutput) ToClusterExistInstanceInstancesParaMasterConfigOutput() ClusterExistInstanceInstancesParaMasterConfigOutput { + return o +} + +func (o ClusterExistInstanceInstancesParaMasterConfigOutput) ToClusterExistInstanceInstancesParaMasterConfigOutputWithContext(ctx context.Context) ClusterExistInstanceInstancesParaMasterConfigOutput { + return o +} + +func (o ClusterExistInstanceInstancesParaMasterConfigOutput) ToClusterExistInstanceInstancesParaMasterConfigPtrOutput() ClusterExistInstanceInstancesParaMasterConfigPtrOutput { + return o.ToClusterExistInstanceInstancesParaMasterConfigPtrOutputWithContext(context.Background()) +} + +func (o ClusterExistInstanceInstancesParaMasterConfigOutput) ToClusterExistInstanceInstancesParaMasterConfigPtrOutputWithContext(ctx context.Context) ClusterExistInstanceInstancesParaMasterConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterExistInstanceInstancesParaMasterConfig) *ClusterExistInstanceInstancesParaMasterConfig { + return &v + }).(ClusterExistInstanceInstancesParaMasterConfigPtrOutput) +} + +// Configurations of data disk. +func (o ClusterExistInstanceInstancesParaMasterConfigOutput) DataDisk() ClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutput { + return o.ApplyT(func(v ClusterExistInstanceInstancesParaMasterConfig) *ClusterExistInstanceInstancesParaMasterConfigDataDisk { + return v.DataDisk + }).(ClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutput) +} + +// Indicate to set desired pod number in node. valid when the cluster is podCIDR. +func (o ClusterExistInstanceInstancesParaMasterConfigOutput) DesiredPodNumber() pulumi.IntPtrOutput { + return o.ApplyT(func(v ClusterExistInstanceInstancesParaMasterConfig) *int { return v.DesiredPodNumber }).(pulumi.IntPtrOutput) +} + +// Docker graph path. Default is `/var/lib/docker`. +func (o ClusterExistInstanceInstancesParaMasterConfigOutput) DockerGraphPath() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterExistInstanceInstancesParaMasterConfig) *string { return v.DockerGraphPath }).(pulumi.StringPtrOutput) +} + +// Custom parameter information related to the node. This is a white-list parameter. +func (o ClusterExistInstanceInstancesParaMasterConfigOutput) ExtraArgs() ClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutput { + return o.ApplyT(func(v ClusterExistInstanceInstancesParaMasterConfig) *ClusterExistInstanceInstancesParaMasterConfigExtraArgs { + return v.ExtraArgs + }).(ClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutput) +} + +// GPU driver parameters. +func (o ClusterExistInstanceInstancesParaMasterConfigOutput) GpuArgs() ClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutput { + return o.ApplyT(func(v ClusterExistInstanceInstancesParaMasterConfig) *ClusterExistInstanceInstancesParaMasterConfigGpuArgs { + return v.GpuArgs + }).(ClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutput) +} + +// Node label list. +func (o ClusterExistInstanceInstancesParaMasterConfigOutput) Labels() ClusterExistInstanceInstancesParaMasterConfigLabelArrayOutput { + return o.ApplyT(func(v ClusterExistInstanceInstancesParaMasterConfig) []ClusterExistInstanceInstancesParaMasterConfigLabel { + return v.Labels + }).(ClusterExistInstanceInstancesParaMasterConfigLabelArrayOutput) +} + +// Mount target. Default is not mounting. +func (o ClusterExistInstanceInstancesParaMasterConfigOutput) MountTarget() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterExistInstanceInstancesParaMasterConfig) *string { return v.MountTarget }).(pulumi.StringPtrOutput) +} + +// Node taint. +func (o ClusterExistInstanceInstancesParaMasterConfigOutput) Taints() ClusterExistInstanceInstancesParaMasterConfigTaintArrayOutput { + return o.ApplyT(func(v ClusterExistInstanceInstancesParaMasterConfig) []ClusterExistInstanceInstancesParaMasterConfigTaint { + return v.Taints + }).(ClusterExistInstanceInstancesParaMasterConfigTaintArrayOutput) +} + +// Set whether the joined nodes participate in scheduling, with a default value of 0, indicating participation in scheduling; Non 0 means not participating in scheduling. +func (o ClusterExistInstanceInstancesParaMasterConfigOutput) Unschedulable() pulumi.IntPtrOutput { + return o.ApplyT(func(v ClusterExistInstanceInstancesParaMasterConfig) *int { return v.Unschedulable }).(pulumi.IntPtrOutput) +} + +// User script encoded in base64, which will be executed after the k8s component runs. The user needs to ensure the script's reentrant and retry logic. The script and its generated log files can be viewed in the node path /data/ccs_userscript/. If the node needs to be initialized before joining the schedule, it can be used in conjunction with the `unschedulable` parameter. After the final initialization of the userScript is completed, add the command "kubectl uncordon nodename --kubeconfig=/root/.kube/config" to add the node to the schedule. +func (o ClusterExistInstanceInstancesParaMasterConfigOutput) UserScript() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterExistInstanceInstancesParaMasterConfig) *string { return v.UserScript }).(pulumi.StringPtrOutput) +} + +type ClusterExistInstanceInstancesParaMasterConfigPtrOutput struct{ *pulumi.OutputState } + +func (ClusterExistInstanceInstancesParaMasterConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterExistInstanceInstancesParaMasterConfig)(nil)).Elem() +} + +func (o ClusterExistInstanceInstancesParaMasterConfigPtrOutput) ToClusterExistInstanceInstancesParaMasterConfigPtrOutput() ClusterExistInstanceInstancesParaMasterConfigPtrOutput { + return o +} + +func (o ClusterExistInstanceInstancesParaMasterConfigPtrOutput) ToClusterExistInstanceInstancesParaMasterConfigPtrOutputWithContext(ctx context.Context) ClusterExistInstanceInstancesParaMasterConfigPtrOutput { + return o +} + +func (o ClusterExistInstanceInstancesParaMasterConfigPtrOutput) Elem() ClusterExistInstanceInstancesParaMasterConfigOutput { + return o.ApplyT(func(v *ClusterExistInstanceInstancesParaMasterConfig) ClusterExistInstanceInstancesParaMasterConfig { + if v != nil { + return *v + } + var ret ClusterExistInstanceInstancesParaMasterConfig + return ret + }).(ClusterExistInstanceInstancesParaMasterConfigOutput) +} + +// Configurations of data disk. +func (o ClusterExistInstanceInstancesParaMasterConfigPtrOutput) DataDisk() ClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutput { + return o.ApplyT(func(v *ClusterExistInstanceInstancesParaMasterConfig) *ClusterExistInstanceInstancesParaMasterConfigDataDisk { + if v == nil { + return nil + } + return v.DataDisk + }).(ClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutput) +} + +// Indicate to set desired pod number in node. valid when the cluster is podCIDR. +func (o ClusterExistInstanceInstancesParaMasterConfigPtrOutput) DesiredPodNumber() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ClusterExistInstanceInstancesParaMasterConfig) *int { + if v == nil { + return nil + } + return v.DesiredPodNumber + }).(pulumi.IntPtrOutput) +} + +// Docker graph path. Default is `/var/lib/docker`. +func (o ClusterExistInstanceInstancesParaMasterConfigPtrOutput) DockerGraphPath() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterExistInstanceInstancesParaMasterConfig) *string { + if v == nil { + return nil + } + return v.DockerGraphPath + }).(pulumi.StringPtrOutput) +} + +// Custom parameter information related to the node. This is a white-list parameter. +func (o ClusterExistInstanceInstancesParaMasterConfigPtrOutput) ExtraArgs() ClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutput { + return o.ApplyT(func(v *ClusterExistInstanceInstancesParaMasterConfig) *ClusterExistInstanceInstancesParaMasterConfigExtraArgs { + if v == nil { + return nil + } + return v.ExtraArgs + }).(ClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutput) +} + +// GPU driver parameters. +func (o ClusterExistInstanceInstancesParaMasterConfigPtrOutput) GpuArgs() ClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutput { + return o.ApplyT(func(v *ClusterExistInstanceInstancesParaMasterConfig) *ClusterExistInstanceInstancesParaMasterConfigGpuArgs { + if v == nil { + return nil + } + return v.GpuArgs + }).(ClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutput) +} + +// Node label list. +func (o ClusterExistInstanceInstancesParaMasterConfigPtrOutput) Labels() ClusterExistInstanceInstancesParaMasterConfigLabelArrayOutput { + return o.ApplyT(func(v *ClusterExistInstanceInstancesParaMasterConfig) []ClusterExistInstanceInstancesParaMasterConfigLabel { + if v == nil { + return nil + } + return v.Labels + }).(ClusterExistInstanceInstancesParaMasterConfigLabelArrayOutput) +} + +// Mount target. Default is not mounting. +func (o ClusterExistInstanceInstancesParaMasterConfigPtrOutput) MountTarget() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterExistInstanceInstancesParaMasterConfig) *string { + if v == nil { + return nil + } + return v.MountTarget + }).(pulumi.StringPtrOutput) +} + +// Node taint. +func (o ClusterExistInstanceInstancesParaMasterConfigPtrOutput) Taints() ClusterExistInstanceInstancesParaMasterConfigTaintArrayOutput { + return o.ApplyT(func(v *ClusterExistInstanceInstancesParaMasterConfig) []ClusterExistInstanceInstancesParaMasterConfigTaint { + if v == nil { + return nil + } + return v.Taints + }).(ClusterExistInstanceInstancesParaMasterConfigTaintArrayOutput) +} + +// Set whether the joined nodes participate in scheduling, with a default value of 0, indicating participation in scheduling; Non 0 means not participating in scheduling. +func (o ClusterExistInstanceInstancesParaMasterConfigPtrOutput) Unschedulable() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ClusterExistInstanceInstancesParaMasterConfig) *int { + if v == nil { + return nil + } + return v.Unschedulable + }).(pulumi.IntPtrOutput) +} + +// User script encoded in base64, which will be executed after the k8s component runs. The user needs to ensure the script's reentrant and retry logic. The script and its generated log files can be viewed in the node path /data/ccs_userscript/. If the node needs to be initialized before joining the schedule, it can be used in conjunction with the `unschedulable` parameter. After the final initialization of the userScript is completed, add the command "kubectl uncordon nodename --kubeconfig=/root/.kube/config" to add the node to the schedule. +func (o ClusterExistInstanceInstancesParaMasterConfigPtrOutput) UserScript() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterExistInstanceInstancesParaMasterConfig) *string { + if v == nil { + return nil + } + return v.UserScript + }).(pulumi.StringPtrOutput) +} + +type ClusterExistInstanceInstancesParaMasterConfigDataDisk struct { + // Indicate whether to auto format and mount or not. Default is `false`. + AutoFormatAndMount *bool `pulumi:"autoFormatAndMount"` + // The name of the device or partition to mount. + DiskPartition *string `pulumi:"diskPartition"` + // Volume of disk in GB. Default is `0`. + DiskSize *int `pulumi:"diskSize"` + // Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD` and `CLOUD_HSSD` and `CLOUD_TSSD`. + DiskType *string `pulumi:"diskType"` + // File system, e.g. `ext3/ext4/xfs`. + FileSystem *string `pulumi:"fileSystem"` + // Mount target. + MountTarget *string `pulumi:"mountTarget"` +} + +// ClusterExistInstanceInstancesParaMasterConfigDataDiskInput is an input type that accepts ClusterExistInstanceInstancesParaMasterConfigDataDiskArgs and ClusterExistInstanceInstancesParaMasterConfigDataDiskOutput values. +// You can construct a concrete instance of `ClusterExistInstanceInstancesParaMasterConfigDataDiskInput` via: +// +// ClusterExistInstanceInstancesParaMasterConfigDataDiskArgs{...} +type ClusterExistInstanceInstancesParaMasterConfigDataDiskInput interface { + pulumi.Input + + ToClusterExistInstanceInstancesParaMasterConfigDataDiskOutput() ClusterExistInstanceInstancesParaMasterConfigDataDiskOutput + ToClusterExistInstanceInstancesParaMasterConfigDataDiskOutputWithContext(context.Context) ClusterExistInstanceInstancesParaMasterConfigDataDiskOutput +} + +type ClusterExistInstanceInstancesParaMasterConfigDataDiskArgs struct { + // Indicate whether to auto format and mount or not. Default is `false`. + AutoFormatAndMount pulumi.BoolPtrInput `pulumi:"autoFormatAndMount"` + // The name of the device or partition to mount. + DiskPartition pulumi.StringPtrInput `pulumi:"diskPartition"` + // Volume of disk in GB. Default is `0`. + DiskSize pulumi.IntPtrInput `pulumi:"diskSize"` + // Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD` and `CLOUD_HSSD` and `CLOUD_TSSD`. + DiskType pulumi.StringPtrInput `pulumi:"diskType"` + // File system, e.g. `ext3/ext4/xfs`. + FileSystem pulumi.StringPtrInput `pulumi:"fileSystem"` + // Mount target. + MountTarget pulumi.StringPtrInput `pulumi:"mountTarget"` +} + +func (ClusterExistInstanceInstancesParaMasterConfigDataDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterExistInstanceInstancesParaMasterConfigDataDisk)(nil)).Elem() +} + +func (i ClusterExistInstanceInstancesParaMasterConfigDataDiskArgs) ToClusterExistInstanceInstancesParaMasterConfigDataDiskOutput() ClusterExistInstanceInstancesParaMasterConfigDataDiskOutput { + return i.ToClusterExistInstanceInstancesParaMasterConfigDataDiskOutputWithContext(context.Background()) +} + +func (i ClusterExistInstanceInstancesParaMasterConfigDataDiskArgs) ToClusterExistInstanceInstancesParaMasterConfigDataDiskOutputWithContext(ctx context.Context) ClusterExistInstanceInstancesParaMasterConfigDataDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterExistInstanceInstancesParaMasterConfigDataDiskOutput) +} + +func (i ClusterExistInstanceInstancesParaMasterConfigDataDiskArgs) ToClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutput() ClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutput { + return i.ToClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutputWithContext(context.Background()) +} + +func (i ClusterExistInstanceInstancesParaMasterConfigDataDiskArgs) ToClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutputWithContext(ctx context.Context) ClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterExistInstanceInstancesParaMasterConfigDataDiskOutput).ToClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutputWithContext(ctx) +} + +// ClusterExistInstanceInstancesParaMasterConfigDataDiskPtrInput is an input type that accepts ClusterExistInstanceInstancesParaMasterConfigDataDiskArgs, ClusterExistInstanceInstancesParaMasterConfigDataDiskPtr and ClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutput values. +// You can construct a concrete instance of `ClusterExistInstanceInstancesParaMasterConfigDataDiskPtrInput` via: +// +// ClusterExistInstanceInstancesParaMasterConfigDataDiskArgs{...} +// +// or: +// +// nil +type ClusterExistInstanceInstancesParaMasterConfigDataDiskPtrInput interface { + pulumi.Input + + ToClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutput() ClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutput + ToClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutputWithContext(context.Context) ClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutput +} + +type clusterExistInstanceInstancesParaMasterConfigDataDiskPtrType ClusterExistInstanceInstancesParaMasterConfigDataDiskArgs + +func ClusterExistInstanceInstancesParaMasterConfigDataDiskPtr(v *ClusterExistInstanceInstancesParaMasterConfigDataDiskArgs) ClusterExistInstanceInstancesParaMasterConfigDataDiskPtrInput { + return (*clusterExistInstanceInstancesParaMasterConfigDataDiskPtrType)(v) +} + +func (*clusterExistInstanceInstancesParaMasterConfigDataDiskPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterExistInstanceInstancesParaMasterConfigDataDisk)(nil)).Elem() +} + +func (i *clusterExistInstanceInstancesParaMasterConfigDataDiskPtrType) ToClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutput() ClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutput { + return i.ToClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutputWithContext(context.Background()) +} + +func (i *clusterExistInstanceInstancesParaMasterConfigDataDiskPtrType) ToClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutputWithContext(ctx context.Context) ClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutput) +} + +type ClusterExistInstanceInstancesParaMasterConfigDataDiskOutput struct{ *pulumi.OutputState } + +func (ClusterExistInstanceInstancesParaMasterConfigDataDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterExistInstanceInstancesParaMasterConfigDataDisk)(nil)).Elem() +} + +func (o ClusterExistInstanceInstancesParaMasterConfigDataDiskOutput) ToClusterExistInstanceInstancesParaMasterConfigDataDiskOutput() ClusterExistInstanceInstancesParaMasterConfigDataDiskOutput { + return o +} + +func (o ClusterExistInstanceInstancesParaMasterConfigDataDiskOutput) ToClusterExistInstanceInstancesParaMasterConfigDataDiskOutputWithContext(ctx context.Context) ClusterExistInstanceInstancesParaMasterConfigDataDiskOutput { + return o +} + +func (o ClusterExistInstanceInstancesParaMasterConfigDataDiskOutput) ToClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutput() ClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutput { + return o.ToClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutputWithContext(context.Background()) +} + +func (o ClusterExistInstanceInstancesParaMasterConfigDataDiskOutput) ToClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutputWithContext(ctx context.Context) ClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterExistInstanceInstancesParaMasterConfigDataDisk) *ClusterExistInstanceInstancesParaMasterConfigDataDisk { + return &v + }).(ClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutput) +} + +// Indicate whether to auto format and mount or not. Default is `false`. +func (o ClusterExistInstanceInstancesParaMasterConfigDataDiskOutput) AutoFormatAndMount() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ClusterExistInstanceInstancesParaMasterConfigDataDisk) *bool { return v.AutoFormatAndMount }).(pulumi.BoolPtrOutput) +} + +// The name of the device or partition to mount. +func (o ClusterExistInstanceInstancesParaMasterConfigDataDiskOutput) DiskPartition() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterExistInstanceInstancesParaMasterConfigDataDisk) *string { return v.DiskPartition }).(pulumi.StringPtrOutput) +} + +// Volume of disk in GB. Default is `0`. +func (o ClusterExistInstanceInstancesParaMasterConfigDataDiskOutput) DiskSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v ClusterExistInstanceInstancesParaMasterConfigDataDisk) *int { return v.DiskSize }).(pulumi.IntPtrOutput) +} + +// Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD` and `CLOUD_HSSD` and `CLOUD_TSSD`. +func (o ClusterExistInstanceInstancesParaMasterConfigDataDiskOutput) DiskType() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterExistInstanceInstancesParaMasterConfigDataDisk) *string { return v.DiskType }).(pulumi.StringPtrOutput) +} + +// File system, e.g. `ext3/ext4/xfs`. +func (o ClusterExistInstanceInstancesParaMasterConfigDataDiskOutput) FileSystem() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterExistInstanceInstancesParaMasterConfigDataDisk) *string { return v.FileSystem }).(pulumi.StringPtrOutput) +} + +// Mount target. +func (o ClusterExistInstanceInstancesParaMasterConfigDataDiskOutput) MountTarget() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterExistInstanceInstancesParaMasterConfigDataDisk) *string { return v.MountTarget }).(pulumi.StringPtrOutput) +} + +type ClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutput struct{ *pulumi.OutputState } + +func (ClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterExistInstanceInstancesParaMasterConfigDataDisk)(nil)).Elem() +} + +func (o ClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutput) ToClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutput() ClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutput { + return o +} + +func (o ClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutput) ToClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutputWithContext(ctx context.Context) ClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutput { + return o +} + +func (o ClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutput) Elem() ClusterExistInstanceInstancesParaMasterConfigDataDiskOutput { + return o.ApplyT(func(v *ClusterExistInstanceInstancesParaMasterConfigDataDisk) ClusterExistInstanceInstancesParaMasterConfigDataDisk { + if v != nil { + return *v + } + var ret ClusterExistInstanceInstancesParaMasterConfigDataDisk + return ret + }).(ClusterExistInstanceInstancesParaMasterConfigDataDiskOutput) +} + +// Indicate whether to auto format and mount or not. Default is `false`. +func (o ClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutput) AutoFormatAndMount() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ClusterExistInstanceInstancesParaMasterConfigDataDisk) *bool { + if v == nil { + return nil + } + return v.AutoFormatAndMount + }).(pulumi.BoolPtrOutput) +} + +// The name of the device or partition to mount. +func (o ClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutput) DiskPartition() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterExistInstanceInstancesParaMasterConfigDataDisk) *string { + if v == nil { + return nil + } + return v.DiskPartition + }).(pulumi.StringPtrOutput) +} + +// Volume of disk in GB. Default is `0`. +func (o ClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutput) DiskSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ClusterExistInstanceInstancesParaMasterConfigDataDisk) *int { + if v == nil { + return nil + } + return v.DiskSize + }).(pulumi.IntPtrOutput) +} + +// Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD` and `CLOUD_HSSD` and `CLOUD_TSSD`. +func (o ClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutput) DiskType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterExistInstanceInstancesParaMasterConfigDataDisk) *string { + if v == nil { + return nil + } + return v.DiskType + }).(pulumi.StringPtrOutput) +} + +// File system, e.g. `ext3/ext4/xfs`. +func (o ClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutput) FileSystem() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterExistInstanceInstancesParaMasterConfigDataDisk) *string { + if v == nil { + return nil + } + return v.FileSystem + }).(pulumi.StringPtrOutput) +} + +// Mount target. +func (o ClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutput) MountTarget() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterExistInstanceInstancesParaMasterConfigDataDisk) *string { + if v == nil { + return nil + } + return v.MountTarget + }).(pulumi.StringPtrOutput) +} + +type ClusterExistInstanceInstancesParaMasterConfigExtraArgs struct { + // Kubelet custom parameter. The parameter format is ["k1=v1", "k1=v2"]. + Kubelets []string `pulumi:"kubelets"` +} + +// ClusterExistInstanceInstancesParaMasterConfigExtraArgsInput is an input type that accepts ClusterExistInstanceInstancesParaMasterConfigExtraArgsArgs and ClusterExistInstanceInstancesParaMasterConfigExtraArgsOutput values. +// You can construct a concrete instance of `ClusterExistInstanceInstancesParaMasterConfigExtraArgsInput` via: +// +// ClusterExistInstanceInstancesParaMasterConfigExtraArgsArgs{...} +type ClusterExistInstanceInstancesParaMasterConfigExtraArgsInput interface { + pulumi.Input + + ToClusterExistInstanceInstancesParaMasterConfigExtraArgsOutput() ClusterExistInstanceInstancesParaMasterConfigExtraArgsOutput + ToClusterExistInstanceInstancesParaMasterConfigExtraArgsOutputWithContext(context.Context) ClusterExistInstanceInstancesParaMasterConfigExtraArgsOutput +} + +type ClusterExistInstanceInstancesParaMasterConfigExtraArgsArgs struct { + // Kubelet custom parameter. The parameter format is ["k1=v1", "k1=v2"]. + Kubelets pulumi.StringArrayInput `pulumi:"kubelets"` +} + +func (ClusterExistInstanceInstancesParaMasterConfigExtraArgsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterExistInstanceInstancesParaMasterConfigExtraArgs)(nil)).Elem() +} + +func (i ClusterExistInstanceInstancesParaMasterConfigExtraArgsArgs) ToClusterExistInstanceInstancesParaMasterConfigExtraArgsOutput() ClusterExistInstanceInstancesParaMasterConfigExtraArgsOutput { + return i.ToClusterExistInstanceInstancesParaMasterConfigExtraArgsOutputWithContext(context.Background()) +} + +func (i ClusterExistInstanceInstancesParaMasterConfigExtraArgsArgs) ToClusterExistInstanceInstancesParaMasterConfigExtraArgsOutputWithContext(ctx context.Context) ClusterExistInstanceInstancesParaMasterConfigExtraArgsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterExistInstanceInstancesParaMasterConfigExtraArgsOutput) +} + +func (i ClusterExistInstanceInstancesParaMasterConfigExtraArgsArgs) ToClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutput() ClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutput { + return i.ToClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutputWithContext(context.Background()) +} + +func (i ClusterExistInstanceInstancesParaMasterConfigExtraArgsArgs) ToClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutputWithContext(ctx context.Context) ClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterExistInstanceInstancesParaMasterConfigExtraArgsOutput).ToClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutputWithContext(ctx) +} + +// ClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrInput is an input type that accepts ClusterExistInstanceInstancesParaMasterConfigExtraArgsArgs, ClusterExistInstanceInstancesParaMasterConfigExtraArgsPtr and ClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutput values. +// You can construct a concrete instance of `ClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrInput` via: +// +// ClusterExistInstanceInstancesParaMasterConfigExtraArgsArgs{...} +// +// or: +// +// nil +type ClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrInput interface { + pulumi.Input + + ToClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutput() ClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutput + ToClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutputWithContext(context.Context) ClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutput +} + +type clusterExistInstanceInstancesParaMasterConfigExtraArgsPtrType ClusterExistInstanceInstancesParaMasterConfigExtraArgsArgs + +func ClusterExistInstanceInstancesParaMasterConfigExtraArgsPtr(v *ClusterExistInstanceInstancesParaMasterConfigExtraArgsArgs) ClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrInput { + return (*clusterExistInstanceInstancesParaMasterConfigExtraArgsPtrType)(v) +} + +func (*clusterExistInstanceInstancesParaMasterConfigExtraArgsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterExistInstanceInstancesParaMasterConfigExtraArgs)(nil)).Elem() +} + +func (i *clusterExistInstanceInstancesParaMasterConfigExtraArgsPtrType) ToClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutput() ClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutput { + return i.ToClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutputWithContext(context.Background()) +} + +func (i *clusterExistInstanceInstancesParaMasterConfigExtraArgsPtrType) ToClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutputWithContext(ctx context.Context) ClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutput) +} + +type ClusterExistInstanceInstancesParaMasterConfigExtraArgsOutput struct{ *pulumi.OutputState } + +func (ClusterExistInstanceInstancesParaMasterConfigExtraArgsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterExistInstanceInstancesParaMasterConfigExtraArgs)(nil)).Elem() +} + +func (o ClusterExistInstanceInstancesParaMasterConfigExtraArgsOutput) ToClusterExistInstanceInstancesParaMasterConfigExtraArgsOutput() ClusterExistInstanceInstancesParaMasterConfigExtraArgsOutput { + return o +} + +func (o ClusterExistInstanceInstancesParaMasterConfigExtraArgsOutput) ToClusterExistInstanceInstancesParaMasterConfigExtraArgsOutputWithContext(ctx context.Context) ClusterExistInstanceInstancesParaMasterConfigExtraArgsOutput { + return o +} + +func (o ClusterExistInstanceInstancesParaMasterConfigExtraArgsOutput) ToClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutput() ClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutput { + return o.ToClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutputWithContext(context.Background()) +} + +func (o ClusterExistInstanceInstancesParaMasterConfigExtraArgsOutput) ToClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutputWithContext(ctx context.Context) ClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterExistInstanceInstancesParaMasterConfigExtraArgs) *ClusterExistInstanceInstancesParaMasterConfigExtraArgs { + return &v + }).(ClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutput) +} + +// Kubelet custom parameter. The parameter format is ["k1=v1", "k1=v2"]. +func (o ClusterExistInstanceInstancesParaMasterConfigExtraArgsOutput) Kubelets() pulumi.StringArrayOutput { + return o.ApplyT(func(v ClusterExistInstanceInstancesParaMasterConfigExtraArgs) []string { return v.Kubelets }).(pulumi.StringArrayOutput) +} + +type ClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutput struct{ *pulumi.OutputState } + +func (ClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterExistInstanceInstancesParaMasterConfigExtraArgs)(nil)).Elem() +} + +func (o ClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutput) ToClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutput() ClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutput { + return o +} + +func (o ClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutput) ToClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutputWithContext(ctx context.Context) ClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutput { + return o +} + +func (o ClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutput) Elem() ClusterExistInstanceInstancesParaMasterConfigExtraArgsOutput { + return o.ApplyT(func(v *ClusterExistInstanceInstancesParaMasterConfigExtraArgs) ClusterExistInstanceInstancesParaMasterConfigExtraArgs { + if v != nil { + return *v + } + var ret ClusterExistInstanceInstancesParaMasterConfigExtraArgs + return ret + }).(ClusterExistInstanceInstancesParaMasterConfigExtraArgsOutput) +} + +// Kubelet custom parameter. The parameter format is ["k1=v1", "k1=v2"]. +func (o ClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutput) Kubelets() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ClusterExistInstanceInstancesParaMasterConfigExtraArgs) []string { + if v == nil { + return nil + } + return v.Kubelets + }).(pulumi.StringArrayOutput) +} + +type ClusterExistInstanceInstancesParaMasterConfigGpuArgs struct { + // CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + Cuda map[string]interface{} `pulumi:"cuda"` + // cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `docName`: Doc name of cuDNN; `devName`: Dev name of cuDNN. + Cudnn map[string]interface{} `pulumi:"cudnn"` + // Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. + CustomDriver map[string]interface{} `pulumi:"customDriver"` + // GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + Driver map[string]interface{} `pulumi:"driver"` + // Whether to enable MIG. + MigEnable *bool `pulumi:"migEnable"` +} + +// ClusterExistInstanceInstancesParaMasterConfigGpuArgsInput is an input type that accepts ClusterExistInstanceInstancesParaMasterConfigGpuArgsArgs and ClusterExistInstanceInstancesParaMasterConfigGpuArgsOutput values. +// You can construct a concrete instance of `ClusterExistInstanceInstancesParaMasterConfigGpuArgsInput` via: +// +// ClusterExistInstanceInstancesParaMasterConfigGpuArgsArgs{...} +type ClusterExistInstanceInstancesParaMasterConfigGpuArgsInput interface { + pulumi.Input + + ToClusterExistInstanceInstancesParaMasterConfigGpuArgsOutput() ClusterExistInstanceInstancesParaMasterConfigGpuArgsOutput + ToClusterExistInstanceInstancesParaMasterConfigGpuArgsOutputWithContext(context.Context) ClusterExistInstanceInstancesParaMasterConfigGpuArgsOutput +} + +type ClusterExistInstanceInstancesParaMasterConfigGpuArgsArgs struct { + // CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + Cuda pulumi.MapInput `pulumi:"cuda"` + // cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `docName`: Doc name of cuDNN; `devName`: Dev name of cuDNN. + Cudnn pulumi.MapInput `pulumi:"cudnn"` + // Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. + CustomDriver pulumi.MapInput `pulumi:"customDriver"` + // GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + Driver pulumi.MapInput `pulumi:"driver"` + // Whether to enable MIG. + MigEnable pulumi.BoolPtrInput `pulumi:"migEnable"` +} + +func (ClusterExistInstanceInstancesParaMasterConfigGpuArgsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterExistInstanceInstancesParaMasterConfigGpuArgs)(nil)).Elem() +} + +func (i ClusterExistInstanceInstancesParaMasterConfigGpuArgsArgs) ToClusterExistInstanceInstancesParaMasterConfigGpuArgsOutput() ClusterExistInstanceInstancesParaMasterConfigGpuArgsOutput { + return i.ToClusterExistInstanceInstancesParaMasterConfigGpuArgsOutputWithContext(context.Background()) +} + +func (i ClusterExistInstanceInstancesParaMasterConfigGpuArgsArgs) ToClusterExistInstanceInstancesParaMasterConfigGpuArgsOutputWithContext(ctx context.Context) ClusterExistInstanceInstancesParaMasterConfigGpuArgsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterExistInstanceInstancesParaMasterConfigGpuArgsOutput) +} + +func (i ClusterExistInstanceInstancesParaMasterConfigGpuArgsArgs) ToClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutput() ClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutput { + return i.ToClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutputWithContext(context.Background()) +} + +func (i ClusterExistInstanceInstancesParaMasterConfigGpuArgsArgs) ToClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutputWithContext(ctx context.Context) ClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterExistInstanceInstancesParaMasterConfigGpuArgsOutput).ToClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutputWithContext(ctx) +} + +// ClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrInput is an input type that accepts ClusterExistInstanceInstancesParaMasterConfigGpuArgsArgs, ClusterExistInstanceInstancesParaMasterConfigGpuArgsPtr and ClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutput values. +// You can construct a concrete instance of `ClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrInput` via: +// +// ClusterExistInstanceInstancesParaMasterConfigGpuArgsArgs{...} +// +// or: +// +// nil +type ClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrInput interface { + pulumi.Input + + ToClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutput() ClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutput + ToClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutputWithContext(context.Context) ClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutput +} + +type clusterExistInstanceInstancesParaMasterConfigGpuArgsPtrType ClusterExistInstanceInstancesParaMasterConfigGpuArgsArgs + +func ClusterExistInstanceInstancesParaMasterConfigGpuArgsPtr(v *ClusterExistInstanceInstancesParaMasterConfigGpuArgsArgs) ClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrInput { + return (*clusterExistInstanceInstancesParaMasterConfigGpuArgsPtrType)(v) +} + +func (*clusterExistInstanceInstancesParaMasterConfigGpuArgsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterExistInstanceInstancesParaMasterConfigGpuArgs)(nil)).Elem() +} + +func (i *clusterExistInstanceInstancesParaMasterConfigGpuArgsPtrType) ToClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutput() ClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutput { + return i.ToClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutputWithContext(context.Background()) +} + +func (i *clusterExistInstanceInstancesParaMasterConfigGpuArgsPtrType) ToClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutputWithContext(ctx context.Context) ClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutput) +} + +type ClusterExistInstanceInstancesParaMasterConfigGpuArgsOutput struct{ *pulumi.OutputState } + +func (ClusterExistInstanceInstancesParaMasterConfigGpuArgsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterExistInstanceInstancesParaMasterConfigGpuArgs)(nil)).Elem() +} + +func (o ClusterExistInstanceInstancesParaMasterConfigGpuArgsOutput) ToClusterExistInstanceInstancesParaMasterConfigGpuArgsOutput() ClusterExistInstanceInstancesParaMasterConfigGpuArgsOutput { + return o +} + +func (o ClusterExistInstanceInstancesParaMasterConfigGpuArgsOutput) ToClusterExistInstanceInstancesParaMasterConfigGpuArgsOutputWithContext(ctx context.Context) ClusterExistInstanceInstancesParaMasterConfigGpuArgsOutput { + return o +} + +func (o ClusterExistInstanceInstancesParaMasterConfigGpuArgsOutput) ToClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutput() ClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutput { + return o.ToClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutputWithContext(context.Background()) +} + +func (o ClusterExistInstanceInstancesParaMasterConfigGpuArgsOutput) ToClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutputWithContext(ctx context.Context) ClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterExistInstanceInstancesParaMasterConfigGpuArgs) *ClusterExistInstanceInstancesParaMasterConfigGpuArgs { + return &v + }).(ClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutput) +} + +// CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. +func (o ClusterExistInstanceInstancesParaMasterConfigGpuArgsOutput) Cuda() pulumi.MapOutput { + return o.ApplyT(func(v ClusterExistInstanceInstancesParaMasterConfigGpuArgs) map[string]interface{} { return v.Cuda }).(pulumi.MapOutput) +} + +// cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `docName`: Doc name of cuDNN; `devName`: Dev name of cuDNN. +func (o ClusterExistInstanceInstancesParaMasterConfigGpuArgsOutput) Cudnn() pulumi.MapOutput { + return o.ApplyT(func(v ClusterExistInstanceInstancesParaMasterConfigGpuArgs) map[string]interface{} { return v.Cudnn }).(pulumi.MapOutput) +} + +// Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. +func (o ClusterExistInstanceInstancesParaMasterConfigGpuArgsOutput) CustomDriver() pulumi.MapOutput { + return o.ApplyT(func(v ClusterExistInstanceInstancesParaMasterConfigGpuArgs) map[string]interface{} { + return v.CustomDriver + }).(pulumi.MapOutput) +} + +// GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. +func (o ClusterExistInstanceInstancesParaMasterConfigGpuArgsOutput) Driver() pulumi.MapOutput { + return o.ApplyT(func(v ClusterExistInstanceInstancesParaMasterConfigGpuArgs) map[string]interface{} { return v.Driver }).(pulumi.MapOutput) +} + +// Whether to enable MIG. +func (o ClusterExistInstanceInstancesParaMasterConfigGpuArgsOutput) MigEnable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ClusterExistInstanceInstancesParaMasterConfigGpuArgs) *bool { return v.MigEnable }).(pulumi.BoolPtrOutput) +} + +type ClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutput struct{ *pulumi.OutputState } + +func (ClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterExistInstanceInstancesParaMasterConfigGpuArgs)(nil)).Elem() +} + +func (o ClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutput) ToClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutput() ClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutput { + return o +} + +func (o ClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutput) ToClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutputWithContext(ctx context.Context) ClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutput { + return o +} + +func (o ClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutput) Elem() ClusterExistInstanceInstancesParaMasterConfigGpuArgsOutput { + return o.ApplyT(func(v *ClusterExistInstanceInstancesParaMasterConfigGpuArgs) ClusterExistInstanceInstancesParaMasterConfigGpuArgs { + if v != nil { + return *v + } + var ret ClusterExistInstanceInstancesParaMasterConfigGpuArgs + return ret + }).(ClusterExistInstanceInstancesParaMasterConfigGpuArgsOutput) +} + +// CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. +func (o ClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutput) Cuda() pulumi.MapOutput { + return o.ApplyT(func(v *ClusterExistInstanceInstancesParaMasterConfigGpuArgs) map[string]interface{} { + if v == nil { + return nil + } + return v.Cuda + }).(pulumi.MapOutput) +} + +// cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `docName`: Doc name of cuDNN; `devName`: Dev name of cuDNN. +func (o ClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutput) Cudnn() pulumi.MapOutput { + return o.ApplyT(func(v *ClusterExistInstanceInstancesParaMasterConfigGpuArgs) map[string]interface{} { + if v == nil { + return nil + } + return v.Cudnn + }).(pulumi.MapOutput) +} + +// Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. +func (o ClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutput) CustomDriver() pulumi.MapOutput { + return o.ApplyT(func(v *ClusterExistInstanceInstancesParaMasterConfigGpuArgs) map[string]interface{} { + if v == nil { + return nil + } + return v.CustomDriver + }).(pulumi.MapOutput) +} + +// GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. +func (o ClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutput) Driver() pulumi.MapOutput { + return o.ApplyT(func(v *ClusterExistInstanceInstancesParaMasterConfigGpuArgs) map[string]interface{} { + if v == nil { + return nil + } + return v.Driver + }).(pulumi.MapOutput) +} + +// Whether to enable MIG. +func (o ClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutput) MigEnable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ClusterExistInstanceInstancesParaMasterConfigGpuArgs) *bool { + if v == nil { + return nil + } + return v.MigEnable + }).(pulumi.BoolPtrOutput) +} + +type ClusterExistInstanceInstancesParaMasterConfigLabel struct { + // Name of map. + Name string `pulumi:"name"` + // Value of map. + Value string `pulumi:"value"` +} + +// ClusterExistInstanceInstancesParaMasterConfigLabelInput is an input type that accepts ClusterExistInstanceInstancesParaMasterConfigLabelArgs and ClusterExistInstanceInstancesParaMasterConfigLabelOutput values. +// You can construct a concrete instance of `ClusterExistInstanceInstancesParaMasterConfigLabelInput` via: +// +// ClusterExistInstanceInstancesParaMasterConfigLabelArgs{...} +type ClusterExistInstanceInstancesParaMasterConfigLabelInput interface { + pulumi.Input + + ToClusterExistInstanceInstancesParaMasterConfigLabelOutput() ClusterExistInstanceInstancesParaMasterConfigLabelOutput + ToClusterExistInstanceInstancesParaMasterConfigLabelOutputWithContext(context.Context) ClusterExistInstanceInstancesParaMasterConfigLabelOutput +} + +type ClusterExistInstanceInstancesParaMasterConfigLabelArgs struct { + // Name of map. + Name pulumi.StringInput `pulumi:"name"` + // Value of map. + Value pulumi.StringInput `pulumi:"value"` +} + +func (ClusterExistInstanceInstancesParaMasterConfigLabelArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterExistInstanceInstancesParaMasterConfigLabel)(nil)).Elem() +} + +func (i ClusterExistInstanceInstancesParaMasterConfigLabelArgs) ToClusterExistInstanceInstancesParaMasterConfigLabelOutput() ClusterExistInstanceInstancesParaMasterConfigLabelOutput { + return i.ToClusterExistInstanceInstancesParaMasterConfigLabelOutputWithContext(context.Background()) +} + +func (i ClusterExistInstanceInstancesParaMasterConfigLabelArgs) ToClusterExistInstanceInstancesParaMasterConfigLabelOutputWithContext(ctx context.Context) ClusterExistInstanceInstancesParaMasterConfigLabelOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterExistInstanceInstancesParaMasterConfigLabelOutput) +} + +// ClusterExistInstanceInstancesParaMasterConfigLabelArrayInput is an input type that accepts ClusterExistInstanceInstancesParaMasterConfigLabelArray and ClusterExistInstanceInstancesParaMasterConfigLabelArrayOutput values. +// You can construct a concrete instance of `ClusterExistInstanceInstancesParaMasterConfigLabelArrayInput` via: +// +// ClusterExistInstanceInstancesParaMasterConfigLabelArray{ ClusterExistInstanceInstancesParaMasterConfigLabelArgs{...} } +type ClusterExistInstanceInstancesParaMasterConfigLabelArrayInput interface { + pulumi.Input + + ToClusterExistInstanceInstancesParaMasterConfigLabelArrayOutput() ClusterExistInstanceInstancesParaMasterConfigLabelArrayOutput + ToClusterExistInstanceInstancesParaMasterConfigLabelArrayOutputWithContext(context.Context) ClusterExistInstanceInstancesParaMasterConfigLabelArrayOutput +} + +type ClusterExistInstanceInstancesParaMasterConfigLabelArray []ClusterExistInstanceInstancesParaMasterConfigLabelInput + +func (ClusterExistInstanceInstancesParaMasterConfigLabelArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterExistInstanceInstancesParaMasterConfigLabel)(nil)).Elem() +} + +func (i ClusterExistInstanceInstancesParaMasterConfigLabelArray) ToClusterExistInstanceInstancesParaMasterConfigLabelArrayOutput() ClusterExistInstanceInstancesParaMasterConfigLabelArrayOutput { + return i.ToClusterExistInstanceInstancesParaMasterConfigLabelArrayOutputWithContext(context.Background()) +} + +func (i ClusterExistInstanceInstancesParaMasterConfigLabelArray) ToClusterExistInstanceInstancesParaMasterConfigLabelArrayOutputWithContext(ctx context.Context) ClusterExistInstanceInstancesParaMasterConfigLabelArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterExistInstanceInstancesParaMasterConfigLabelArrayOutput) +} + +type ClusterExistInstanceInstancesParaMasterConfigLabelOutput struct{ *pulumi.OutputState } + +func (ClusterExistInstanceInstancesParaMasterConfigLabelOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterExistInstanceInstancesParaMasterConfigLabel)(nil)).Elem() +} + +func (o ClusterExistInstanceInstancesParaMasterConfigLabelOutput) ToClusterExistInstanceInstancesParaMasterConfigLabelOutput() ClusterExistInstanceInstancesParaMasterConfigLabelOutput { + return o +} + +func (o ClusterExistInstanceInstancesParaMasterConfigLabelOutput) ToClusterExistInstanceInstancesParaMasterConfigLabelOutputWithContext(ctx context.Context) ClusterExistInstanceInstancesParaMasterConfigLabelOutput { + return o +} + +// Name of map. +func (o ClusterExistInstanceInstancesParaMasterConfigLabelOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v ClusterExistInstanceInstancesParaMasterConfigLabel) string { return v.Name }).(pulumi.StringOutput) +} + +// Value of map. +func (o ClusterExistInstanceInstancesParaMasterConfigLabelOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v ClusterExistInstanceInstancesParaMasterConfigLabel) string { return v.Value }).(pulumi.StringOutput) +} + +type ClusterExistInstanceInstancesParaMasterConfigLabelArrayOutput struct{ *pulumi.OutputState } + +func (ClusterExistInstanceInstancesParaMasterConfigLabelArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterExistInstanceInstancesParaMasterConfigLabel)(nil)).Elem() +} + +func (o ClusterExistInstanceInstancesParaMasterConfigLabelArrayOutput) ToClusterExistInstanceInstancesParaMasterConfigLabelArrayOutput() ClusterExistInstanceInstancesParaMasterConfigLabelArrayOutput { + return o +} + +func (o ClusterExistInstanceInstancesParaMasterConfigLabelArrayOutput) ToClusterExistInstanceInstancesParaMasterConfigLabelArrayOutputWithContext(ctx context.Context) ClusterExistInstanceInstancesParaMasterConfigLabelArrayOutput { + return o +} + +func (o ClusterExistInstanceInstancesParaMasterConfigLabelArrayOutput) Index(i pulumi.IntInput) ClusterExistInstanceInstancesParaMasterConfigLabelOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ClusterExistInstanceInstancesParaMasterConfigLabel { + return vs[0].([]ClusterExistInstanceInstancesParaMasterConfigLabel)[vs[1].(int)] + }).(ClusterExistInstanceInstancesParaMasterConfigLabelOutput) +} + +type ClusterExistInstanceInstancesParaMasterConfigTaint struct { + // Effect of the taint. + Effect *string `pulumi:"effect"` + // Key of the taint. + Key *string `pulumi:"key"` + // Value of the taint. + Value *string `pulumi:"value"` +} + +// ClusterExistInstanceInstancesParaMasterConfigTaintInput is an input type that accepts ClusterExistInstanceInstancesParaMasterConfigTaintArgs and ClusterExistInstanceInstancesParaMasterConfigTaintOutput values. +// You can construct a concrete instance of `ClusterExistInstanceInstancesParaMasterConfigTaintInput` via: +// +// ClusterExistInstanceInstancesParaMasterConfigTaintArgs{...} +type ClusterExistInstanceInstancesParaMasterConfigTaintInput interface { + pulumi.Input + + ToClusterExistInstanceInstancesParaMasterConfigTaintOutput() ClusterExistInstanceInstancesParaMasterConfigTaintOutput + ToClusterExistInstanceInstancesParaMasterConfigTaintOutputWithContext(context.Context) ClusterExistInstanceInstancesParaMasterConfigTaintOutput +} + +type ClusterExistInstanceInstancesParaMasterConfigTaintArgs struct { + // Effect of the taint. + Effect pulumi.StringPtrInput `pulumi:"effect"` + // Key of the taint. + Key pulumi.StringPtrInput `pulumi:"key"` + // Value of the taint. + Value pulumi.StringPtrInput `pulumi:"value"` +} + +func (ClusterExistInstanceInstancesParaMasterConfigTaintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterExistInstanceInstancesParaMasterConfigTaint)(nil)).Elem() +} + +func (i ClusterExistInstanceInstancesParaMasterConfigTaintArgs) ToClusterExistInstanceInstancesParaMasterConfigTaintOutput() ClusterExistInstanceInstancesParaMasterConfigTaintOutput { + return i.ToClusterExistInstanceInstancesParaMasterConfigTaintOutputWithContext(context.Background()) +} + +func (i ClusterExistInstanceInstancesParaMasterConfigTaintArgs) ToClusterExistInstanceInstancesParaMasterConfigTaintOutputWithContext(ctx context.Context) ClusterExistInstanceInstancesParaMasterConfigTaintOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterExistInstanceInstancesParaMasterConfigTaintOutput) +} + +// ClusterExistInstanceInstancesParaMasterConfigTaintArrayInput is an input type that accepts ClusterExistInstanceInstancesParaMasterConfigTaintArray and ClusterExistInstanceInstancesParaMasterConfigTaintArrayOutput values. +// You can construct a concrete instance of `ClusterExistInstanceInstancesParaMasterConfigTaintArrayInput` via: +// +// ClusterExistInstanceInstancesParaMasterConfigTaintArray{ ClusterExistInstanceInstancesParaMasterConfigTaintArgs{...} } +type ClusterExistInstanceInstancesParaMasterConfigTaintArrayInput interface { + pulumi.Input + + ToClusterExistInstanceInstancesParaMasterConfigTaintArrayOutput() ClusterExistInstanceInstancesParaMasterConfigTaintArrayOutput + ToClusterExistInstanceInstancesParaMasterConfigTaintArrayOutputWithContext(context.Context) ClusterExistInstanceInstancesParaMasterConfigTaintArrayOutput +} + +type ClusterExistInstanceInstancesParaMasterConfigTaintArray []ClusterExistInstanceInstancesParaMasterConfigTaintInput + +func (ClusterExistInstanceInstancesParaMasterConfigTaintArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterExistInstanceInstancesParaMasterConfigTaint)(nil)).Elem() +} + +func (i ClusterExistInstanceInstancesParaMasterConfigTaintArray) ToClusterExistInstanceInstancesParaMasterConfigTaintArrayOutput() ClusterExistInstanceInstancesParaMasterConfigTaintArrayOutput { + return i.ToClusterExistInstanceInstancesParaMasterConfigTaintArrayOutputWithContext(context.Background()) +} + +func (i ClusterExistInstanceInstancesParaMasterConfigTaintArray) ToClusterExistInstanceInstancesParaMasterConfigTaintArrayOutputWithContext(ctx context.Context) ClusterExistInstanceInstancesParaMasterConfigTaintArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterExistInstanceInstancesParaMasterConfigTaintArrayOutput) +} + +type ClusterExistInstanceInstancesParaMasterConfigTaintOutput struct{ *pulumi.OutputState } + +func (ClusterExistInstanceInstancesParaMasterConfigTaintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterExistInstanceInstancesParaMasterConfigTaint)(nil)).Elem() +} + +func (o ClusterExistInstanceInstancesParaMasterConfigTaintOutput) ToClusterExistInstanceInstancesParaMasterConfigTaintOutput() ClusterExistInstanceInstancesParaMasterConfigTaintOutput { + return o +} + +func (o ClusterExistInstanceInstancesParaMasterConfigTaintOutput) ToClusterExistInstanceInstancesParaMasterConfigTaintOutputWithContext(ctx context.Context) ClusterExistInstanceInstancesParaMasterConfigTaintOutput { + return o +} + +// Effect of the taint. +func (o ClusterExistInstanceInstancesParaMasterConfigTaintOutput) Effect() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterExistInstanceInstancesParaMasterConfigTaint) *string { return v.Effect }).(pulumi.StringPtrOutput) +} + +// Key of the taint. +func (o ClusterExistInstanceInstancesParaMasterConfigTaintOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterExistInstanceInstancesParaMasterConfigTaint) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Value of the taint. +func (o ClusterExistInstanceInstancesParaMasterConfigTaintOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterExistInstanceInstancesParaMasterConfigTaint) *string { return v.Value }).(pulumi.StringPtrOutput) +} + +type ClusterExistInstanceInstancesParaMasterConfigTaintArrayOutput struct{ *pulumi.OutputState } + +func (ClusterExistInstanceInstancesParaMasterConfigTaintArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterExistInstanceInstancesParaMasterConfigTaint)(nil)).Elem() +} + +func (o ClusterExistInstanceInstancesParaMasterConfigTaintArrayOutput) ToClusterExistInstanceInstancesParaMasterConfigTaintArrayOutput() ClusterExistInstanceInstancesParaMasterConfigTaintArrayOutput { + return o +} + +func (o ClusterExistInstanceInstancesParaMasterConfigTaintArrayOutput) ToClusterExistInstanceInstancesParaMasterConfigTaintArrayOutputWithContext(ctx context.Context) ClusterExistInstanceInstancesParaMasterConfigTaintArrayOutput { + return o +} + +func (o ClusterExistInstanceInstancesParaMasterConfigTaintArrayOutput) Index(i pulumi.IntInput) ClusterExistInstanceInstancesParaMasterConfigTaintOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ClusterExistInstanceInstancesParaMasterConfigTaint { + return vs[0].([]ClusterExistInstanceInstancesParaMasterConfigTaint)[vs[1].(int)] + }).(ClusterExistInstanceInstancesParaMasterConfigTaintOutput) +} + +type ClusterExtensionAddon struct { + // Add-on name. + Name string `pulumi:"name"` + // Parameter of the add-on resource object in JSON string format, please check the example at the top of page for reference. + Param string `pulumi:"param"` +} + +// ClusterExtensionAddonInput is an input type that accepts ClusterExtensionAddonArgs and ClusterExtensionAddonOutput values. +// You can construct a concrete instance of `ClusterExtensionAddonInput` via: +// +// ClusterExtensionAddonArgs{...} +type ClusterExtensionAddonInput interface { + pulumi.Input + + ToClusterExtensionAddonOutput() ClusterExtensionAddonOutput + ToClusterExtensionAddonOutputWithContext(context.Context) ClusterExtensionAddonOutput +} + +type ClusterExtensionAddonArgs struct { + // Add-on name. + Name pulumi.StringInput `pulumi:"name"` + // Parameter of the add-on resource object in JSON string format, please check the example at the top of page for reference. + Param pulumi.StringInput `pulumi:"param"` +} + +func (ClusterExtensionAddonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterExtensionAddon)(nil)).Elem() +} + +func (i ClusterExtensionAddonArgs) ToClusterExtensionAddonOutput() ClusterExtensionAddonOutput { + return i.ToClusterExtensionAddonOutputWithContext(context.Background()) +} + +func (i ClusterExtensionAddonArgs) ToClusterExtensionAddonOutputWithContext(ctx context.Context) ClusterExtensionAddonOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterExtensionAddonOutput) +} + +// ClusterExtensionAddonArrayInput is an input type that accepts ClusterExtensionAddonArray and ClusterExtensionAddonArrayOutput values. +// You can construct a concrete instance of `ClusterExtensionAddonArrayInput` via: +// +// ClusterExtensionAddonArray{ ClusterExtensionAddonArgs{...} } +type ClusterExtensionAddonArrayInput interface { + pulumi.Input + + ToClusterExtensionAddonArrayOutput() ClusterExtensionAddonArrayOutput + ToClusterExtensionAddonArrayOutputWithContext(context.Context) ClusterExtensionAddonArrayOutput +} + +type ClusterExtensionAddonArray []ClusterExtensionAddonInput + func (ClusterExtensionAddonArray) ElementType() reflect.Type { return reflect.TypeOf((*[]ClusterExtensionAddon)(nil)).Elem() } -func (i ClusterExtensionAddonArray) ToClusterExtensionAddonArrayOutput() ClusterExtensionAddonArrayOutput { - return i.ToClusterExtensionAddonArrayOutputWithContext(context.Background()) +func (i ClusterExtensionAddonArray) ToClusterExtensionAddonArrayOutput() ClusterExtensionAddonArrayOutput { + return i.ToClusterExtensionAddonArrayOutputWithContext(context.Background()) +} + +func (i ClusterExtensionAddonArray) ToClusterExtensionAddonArrayOutputWithContext(ctx context.Context) ClusterExtensionAddonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterExtensionAddonArrayOutput) +} + +type ClusterExtensionAddonOutput struct{ *pulumi.OutputState } + +func (ClusterExtensionAddonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterExtensionAddon)(nil)).Elem() +} + +func (o ClusterExtensionAddonOutput) ToClusterExtensionAddonOutput() ClusterExtensionAddonOutput { + return o +} + +func (o ClusterExtensionAddonOutput) ToClusterExtensionAddonOutputWithContext(ctx context.Context) ClusterExtensionAddonOutput { + return o +} + +// Add-on name. +func (o ClusterExtensionAddonOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v ClusterExtensionAddon) string { return v.Name }).(pulumi.StringOutput) +} + +// Parameter of the add-on resource object in JSON string format, please check the example at the top of page for reference. +func (o ClusterExtensionAddonOutput) Param() pulumi.StringOutput { + return o.ApplyT(func(v ClusterExtensionAddon) string { return v.Param }).(pulumi.StringOutput) +} + +type ClusterExtensionAddonArrayOutput struct{ *pulumi.OutputState } + +func (ClusterExtensionAddonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterExtensionAddon)(nil)).Elem() +} + +func (o ClusterExtensionAddonArrayOutput) ToClusterExtensionAddonArrayOutput() ClusterExtensionAddonArrayOutput { + return o +} + +func (o ClusterExtensionAddonArrayOutput) ToClusterExtensionAddonArrayOutputWithContext(ctx context.Context) ClusterExtensionAddonArrayOutput { + return o +} + +func (o ClusterExtensionAddonArrayOutput) Index(i pulumi.IntInput) ClusterExtensionAddonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ClusterExtensionAddon { + return vs[0].([]ClusterExtensionAddon)[vs[1].(int)] + }).(ClusterExtensionAddonOutput) +} + +type ClusterLogAgent struct { + // Whether the log agent enabled. + Enabled bool `pulumi:"enabled"` + // Kubelet root directory as the literal. + KubeletRootDir *string `pulumi:"kubeletRootDir"` +} + +// ClusterLogAgentInput is an input type that accepts ClusterLogAgentArgs and ClusterLogAgentOutput values. +// You can construct a concrete instance of `ClusterLogAgentInput` via: +// +// ClusterLogAgentArgs{...} +type ClusterLogAgentInput interface { + pulumi.Input + + ToClusterLogAgentOutput() ClusterLogAgentOutput + ToClusterLogAgentOutputWithContext(context.Context) ClusterLogAgentOutput +} + +type ClusterLogAgentArgs struct { + // Whether the log agent enabled. + Enabled pulumi.BoolInput `pulumi:"enabled"` + // Kubelet root directory as the literal. + KubeletRootDir pulumi.StringPtrInput `pulumi:"kubeletRootDir"` +} + +func (ClusterLogAgentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterLogAgent)(nil)).Elem() +} + +func (i ClusterLogAgentArgs) ToClusterLogAgentOutput() ClusterLogAgentOutput { + return i.ToClusterLogAgentOutputWithContext(context.Background()) +} + +func (i ClusterLogAgentArgs) ToClusterLogAgentOutputWithContext(ctx context.Context) ClusterLogAgentOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterLogAgentOutput) +} + +func (i ClusterLogAgentArgs) ToClusterLogAgentPtrOutput() ClusterLogAgentPtrOutput { + return i.ToClusterLogAgentPtrOutputWithContext(context.Background()) +} + +func (i ClusterLogAgentArgs) ToClusterLogAgentPtrOutputWithContext(ctx context.Context) ClusterLogAgentPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterLogAgentOutput).ToClusterLogAgentPtrOutputWithContext(ctx) +} + +// ClusterLogAgentPtrInput is an input type that accepts ClusterLogAgentArgs, ClusterLogAgentPtr and ClusterLogAgentPtrOutput values. +// You can construct a concrete instance of `ClusterLogAgentPtrInput` via: +// +// ClusterLogAgentArgs{...} +// +// or: +// +// nil +type ClusterLogAgentPtrInput interface { + pulumi.Input + + ToClusterLogAgentPtrOutput() ClusterLogAgentPtrOutput + ToClusterLogAgentPtrOutputWithContext(context.Context) ClusterLogAgentPtrOutput +} + +type clusterLogAgentPtrType ClusterLogAgentArgs + +func ClusterLogAgentPtr(v *ClusterLogAgentArgs) ClusterLogAgentPtrInput { + return (*clusterLogAgentPtrType)(v) +} + +func (*clusterLogAgentPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterLogAgent)(nil)).Elem() +} + +func (i *clusterLogAgentPtrType) ToClusterLogAgentPtrOutput() ClusterLogAgentPtrOutput { + return i.ToClusterLogAgentPtrOutputWithContext(context.Background()) +} + +func (i *clusterLogAgentPtrType) ToClusterLogAgentPtrOutputWithContext(ctx context.Context) ClusterLogAgentPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterLogAgentPtrOutput) +} + +type ClusterLogAgentOutput struct{ *pulumi.OutputState } + +func (ClusterLogAgentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterLogAgent)(nil)).Elem() +} + +func (o ClusterLogAgentOutput) ToClusterLogAgentOutput() ClusterLogAgentOutput { + return o +} + +func (o ClusterLogAgentOutput) ToClusterLogAgentOutputWithContext(ctx context.Context) ClusterLogAgentOutput { + return o +} + +func (o ClusterLogAgentOutput) ToClusterLogAgentPtrOutput() ClusterLogAgentPtrOutput { + return o.ToClusterLogAgentPtrOutputWithContext(context.Background()) +} + +func (o ClusterLogAgentOutput) ToClusterLogAgentPtrOutputWithContext(ctx context.Context) ClusterLogAgentPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterLogAgent) *ClusterLogAgent { + return &v + }).(ClusterLogAgentPtrOutput) +} + +// Whether the log agent enabled. +func (o ClusterLogAgentOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v ClusterLogAgent) bool { return v.Enabled }).(pulumi.BoolOutput) +} + +// Kubelet root directory as the literal. +func (o ClusterLogAgentOutput) KubeletRootDir() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterLogAgent) *string { return v.KubeletRootDir }).(pulumi.StringPtrOutput) +} + +type ClusterLogAgentPtrOutput struct{ *pulumi.OutputState } + +func (ClusterLogAgentPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterLogAgent)(nil)).Elem() +} + +func (o ClusterLogAgentPtrOutput) ToClusterLogAgentPtrOutput() ClusterLogAgentPtrOutput { + return o +} + +func (o ClusterLogAgentPtrOutput) ToClusterLogAgentPtrOutputWithContext(ctx context.Context) ClusterLogAgentPtrOutput { + return o +} + +func (o ClusterLogAgentPtrOutput) Elem() ClusterLogAgentOutput { + return o.ApplyT(func(v *ClusterLogAgent) ClusterLogAgent { + if v != nil { + return *v + } + var ret ClusterLogAgent + return ret + }).(ClusterLogAgentOutput) +} + +// Whether the log agent enabled. +func (o ClusterLogAgentPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ClusterLogAgent) *bool { + if v == nil { + return nil + } + return &v.Enabled + }).(pulumi.BoolPtrOutput) +} + +// Kubelet root directory as the literal. +func (o ClusterLogAgentPtrOutput) KubeletRootDir() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterLogAgent) *string { + if v == nil { + return nil + } + return v.KubeletRootDir + }).(pulumi.StringPtrOutput) +} + +type ClusterMasterAttachmentExtraArgs struct { + // etcd custom parameters. Only supports independent clusters. + Etcds []string `pulumi:"etcds"` + // Kube apiserver custom parameters. The parameter format is ["k1=v1", "k1=v2"]. + KubeApiServers []string `pulumi:"kubeApiServers"` + // Kube controller manager custom parameters. + KubeControllerManagers []string `pulumi:"kubeControllerManagers"` + // kube scheduler custom parameters. + KubeSchedulers []string `pulumi:"kubeSchedulers"` +} + +// ClusterMasterAttachmentExtraArgsInput is an input type that accepts ClusterMasterAttachmentExtraArgsArgs and ClusterMasterAttachmentExtraArgsOutput values. +// You can construct a concrete instance of `ClusterMasterAttachmentExtraArgsInput` via: +// +// ClusterMasterAttachmentExtraArgsArgs{...} +type ClusterMasterAttachmentExtraArgsInput interface { + pulumi.Input + + ToClusterMasterAttachmentExtraArgsOutput() ClusterMasterAttachmentExtraArgsOutput + ToClusterMasterAttachmentExtraArgsOutputWithContext(context.Context) ClusterMasterAttachmentExtraArgsOutput +} + +type ClusterMasterAttachmentExtraArgsArgs struct { + // etcd custom parameters. Only supports independent clusters. + Etcds pulumi.StringArrayInput `pulumi:"etcds"` + // Kube apiserver custom parameters. The parameter format is ["k1=v1", "k1=v2"]. + KubeApiServers pulumi.StringArrayInput `pulumi:"kubeApiServers"` + // Kube controller manager custom parameters. + KubeControllerManagers pulumi.StringArrayInput `pulumi:"kubeControllerManagers"` + // kube scheduler custom parameters. + KubeSchedulers pulumi.StringArrayInput `pulumi:"kubeSchedulers"` +} + +func (ClusterMasterAttachmentExtraArgsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterMasterAttachmentExtraArgs)(nil)).Elem() +} + +func (i ClusterMasterAttachmentExtraArgsArgs) ToClusterMasterAttachmentExtraArgsOutput() ClusterMasterAttachmentExtraArgsOutput { + return i.ToClusterMasterAttachmentExtraArgsOutputWithContext(context.Background()) +} + +func (i ClusterMasterAttachmentExtraArgsArgs) ToClusterMasterAttachmentExtraArgsOutputWithContext(ctx context.Context) ClusterMasterAttachmentExtraArgsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterMasterAttachmentExtraArgsOutput) +} + +func (i ClusterMasterAttachmentExtraArgsArgs) ToClusterMasterAttachmentExtraArgsPtrOutput() ClusterMasterAttachmentExtraArgsPtrOutput { + return i.ToClusterMasterAttachmentExtraArgsPtrOutputWithContext(context.Background()) +} + +func (i ClusterMasterAttachmentExtraArgsArgs) ToClusterMasterAttachmentExtraArgsPtrOutputWithContext(ctx context.Context) ClusterMasterAttachmentExtraArgsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterMasterAttachmentExtraArgsOutput).ToClusterMasterAttachmentExtraArgsPtrOutputWithContext(ctx) +} + +// ClusterMasterAttachmentExtraArgsPtrInput is an input type that accepts ClusterMasterAttachmentExtraArgsArgs, ClusterMasterAttachmentExtraArgsPtr and ClusterMasterAttachmentExtraArgsPtrOutput values. +// You can construct a concrete instance of `ClusterMasterAttachmentExtraArgsPtrInput` via: +// +// ClusterMasterAttachmentExtraArgsArgs{...} +// +// or: +// +// nil +type ClusterMasterAttachmentExtraArgsPtrInput interface { + pulumi.Input + + ToClusterMasterAttachmentExtraArgsPtrOutput() ClusterMasterAttachmentExtraArgsPtrOutput + ToClusterMasterAttachmentExtraArgsPtrOutputWithContext(context.Context) ClusterMasterAttachmentExtraArgsPtrOutput +} + +type clusterMasterAttachmentExtraArgsPtrType ClusterMasterAttachmentExtraArgsArgs + +func ClusterMasterAttachmentExtraArgsPtr(v *ClusterMasterAttachmentExtraArgsArgs) ClusterMasterAttachmentExtraArgsPtrInput { + return (*clusterMasterAttachmentExtraArgsPtrType)(v) +} + +func (*clusterMasterAttachmentExtraArgsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterMasterAttachmentExtraArgs)(nil)).Elem() +} + +func (i *clusterMasterAttachmentExtraArgsPtrType) ToClusterMasterAttachmentExtraArgsPtrOutput() ClusterMasterAttachmentExtraArgsPtrOutput { + return i.ToClusterMasterAttachmentExtraArgsPtrOutputWithContext(context.Background()) +} + +func (i *clusterMasterAttachmentExtraArgsPtrType) ToClusterMasterAttachmentExtraArgsPtrOutputWithContext(ctx context.Context) ClusterMasterAttachmentExtraArgsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterMasterAttachmentExtraArgsPtrOutput) +} + +type ClusterMasterAttachmentExtraArgsOutput struct{ *pulumi.OutputState } + +func (ClusterMasterAttachmentExtraArgsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterMasterAttachmentExtraArgs)(nil)).Elem() +} + +func (o ClusterMasterAttachmentExtraArgsOutput) ToClusterMasterAttachmentExtraArgsOutput() ClusterMasterAttachmentExtraArgsOutput { + return o +} + +func (o ClusterMasterAttachmentExtraArgsOutput) ToClusterMasterAttachmentExtraArgsOutputWithContext(ctx context.Context) ClusterMasterAttachmentExtraArgsOutput { + return o +} + +func (o ClusterMasterAttachmentExtraArgsOutput) ToClusterMasterAttachmentExtraArgsPtrOutput() ClusterMasterAttachmentExtraArgsPtrOutput { + return o.ToClusterMasterAttachmentExtraArgsPtrOutputWithContext(context.Background()) +} + +func (o ClusterMasterAttachmentExtraArgsOutput) ToClusterMasterAttachmentExtraArgsPtrOutputWithContext(ctx context.Context) ClusterMasterAttachmentExtraArgsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterMasterAttachmentExtraArgs) *ClusterMasterAttachmentExtraArgs { + return &v + }).(ClusterMasterAttachmentExtraArgsPtrOutput) +} + +// etcd custom parameters. Only supports independent clusters. +func (o ClusterMasterAttachmentExtraArgsOutput) Etcds() pulumi.StringArrayOutput { + return o.ApplyT(func(v ClusterMasterAttachmentExtraArgs) []string { return v.Etcds }).(pulumi.StringArrayOutput) +} + +// Kube apiserver custom parameters. The parameter format is ["k1=v1", "k1=v2"]. +func (o ClusterMasterAttachmentExtraArgsOutput) KubeApiServers() pulumi.StringArrayOutput { + return o.ApplyT(func(v ClusterMasterAttachmentExtraArgs) []string { return v.KubeApiServers }).(pulumi.StringArrayOutput) +} + +// Kube controller manager custom parameters. +func (o ClusterMasterAttachmentExtraArgsOutput) KubeControllerManagers() pulumi.StringArrayOutput { + return o.ApplyT(func(v ClusterMasterAttachmentExtraArgs) []string { return v.KubeControllerManagers }).(pulumi.StringArrayOutput) +} + +// kube scheduler custom parameters. +func (o ClusterMasterAttachmentExtraArgsOutput) KubeSchedulers() pulumi.StringArrayOutput { + return o.ApplyT(func(v ClusterMasterAttachmentExtraArgs) []string { return v.KubeSchedulers }).(pulumi.StringArrayOutput) +} + +type ClusterMasterAttachmentExtraArgsPtrOutput struct{ *pulumi.OutputState } + +func (ClusterMasterAttachmentExtraArgsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterMasterAttachmentExtraArgs)(nil)).Elem() +} + +func (o ClusterMasterAttachmentExtraArgsPtrOutput) ToClusterMasterAttachmentExtraArgsPtrOutput() ClusterMasterAttachmentExtraArgsPtrOutput { + return o +} + +func (o ClusterMasterAttachmentExtraArgsPtrOutput) ToClusterMasterAttachmentExtraArgsPtrOutputWithContext(ctx context.Context) ClusterMasterAttachmentExtraArgsPtrOutput { + return o +} + +func (o ClusterMasterAttachmentExtraArgsPtrOutput) Elem() ClusterMasterAttachmentExtraArgsOutput { + return o.ApplyT(func(v *ClusterMasterAttachmentExtraArgs) ClusterMasterAttachmentExtraArgs { + if v != nil { + return *v + } + var ret ClusterMasterAttachmentExtraArgs + return ret + }).(ClusterMasterAttachmentExtraArgsOutput) +} + +// etcd custom parameters. Only supports independent clusters. +func (o ClusterMasterAttachmentExtraArgsPtrOutput) Etcds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ClusterMasterAttachmentExtraArgs) []string { + if v == nil { + return nil + } + return v.Etcds + }).(pulumi.StringArrayOutput) +} + +// Kube apiserver custom parameters. The parameter format is ["k1=v1", "k1=v2"]. +func (o ClusterMasterAttachmentExtraArgsPtrOutput) KubeApiServers() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ClusterMasterAttachmentExtraArgs) []string { + if v == nil { + return nil + } + return v.KubeApiServers + }).(pulumi.StringArrayOutput) +} + +// Kube controller manager custom parameters. +func (o ClusterMasterAttachmentExtraArgsPtrOutput) KubeControllerManagers() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ClusterMasterAttachmentExtraArgs) []string { + if v == nil { + return nil + } + return v.KubeControllerManagers + }).(pulumi.StringArrayOutput) +} + +// kube scheduler custom parameters. +func (o ClusterMasterAttachmentExtraArgsPtrOutput) KubeSchedulers() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ClusterMasterAttachmentExtraArgs) []string { + if v == nil { + return nil + } + return v.KubeSchedulers + }).(pulumi.StringArrayOutput) +} + +type ClusterMasterAttachmentMasterConfig struct { + // Configurations of data disk. + DataDisk *ClusterMasterAttachmentMasterConfigDataDisk `pulumi:"dataDisk"` + // Indicate to set desired pod number in node. valid when the cluster is podCIDR. + DesiredPodNumber *int `pulumi:"desiredPodNumber"` + // Docker graph path. Default is `/var/lib/docker`. + DockerGraphPath *string `pulumi:"dockerGraphPath"` + // Custom parameter information related to the node. This is a white-list parameter. + ExtraArgs *ClusterMasterAttachmentMasterConfigExtraArgs `pulumi:"extraArgs"` + // GPU driver parameters. + GpuArgs *ClusterMasterAttachmentMasterConfigGpuArgs `pulumi:"gpuArgs"` + // Node label list. + Labels []ClusterMasterAttachmentMasterConfigLabel `pulumi:"labels"` + // Mount target. Default is not mounting. + MountTarget *string `pulumi:"mountTarget"` + // Node taint. + Taints []ClusterMasterAttachmentMasterConfigTaint `pulumi:"taints"` + // Set whether the joined nodes participate in scheduling, with a default value of 0, indicating participation in scheduling; Non 0 means not participating in scheduling. + Unschedulable *int `pulumi:"unschedulable"` + // User script encoded in base64, which will be executed after the k8s component runs. The user needs to ensure the script's reentrant and retry logic. The script and its generated log files can be viewed in the node path /data/ccs_userscript/. If the node needs to be initialized before joining the schedule, it can be used in conjunction with the `unschedulable` parameter. After the final initialization of the userScript is completed, add the command "kubectl uncordon nodename --kubeconfig=/root/.kube/config" to add the node to the schedule. + UserScript *string `pulumi:"userScript"` +} + +// ClusterMasterAttachmentMasterConfigInput is an input type that accepts ClusterMasterAttachmentMasterConfigArgs and ClusterMasterAttachmentMasterConfigOutput values. +// You can construct a concrete instance of `ClusterMasterAttachmentMasterConfigInput` via: +// +// ClusterMasterAttachmentMasterConfigArgs{...} +type ClusterMasterAttachmentMasterConfigInput interface { + pulumi.Input + + ToClusterMasterAttachmentMasterConfigOutput() ClusterMasterAttachmentMasterConfigOutput + ToClusterMasterAttachmentMasterConfigOutputWithContext(context.Context) ClusterMasterAttachmentMasterConfigOutput +} + +type ClusterMasterAttachmentMasterConfigArgs struct { + // Configurations of data disk. + DataDisk ClusterMasterAttachmentMasterConfigDataDiskPtrInput `pulumi:"dataDisk"` + // Indicate to set desired pod number in node. valid when the cluster is podCIDR. + DesiredPodNumber pulumi.IntPtrInput `pulumi:"desiredPodNumber"` + // Docker graph path. Default is `/var/lib/docker`. + DockerGraphPath pulumi.StringPtrInput `pulumi:"dockerGraphPath"` + // Custom parameter information related to the node. This is a white-list parameter. + ExtraArgs ClusterMasterAttachmentMasterConfigExtraArgsPtrInput `pulumi:"extraArgs"` + // GPU driver parameters. + GpuArgs ClusterMasterAttachmentMasterConfigGpuArgsPtrInput `pulumi:"gpuArgs"` + // Node label list. + Labels ClusterMasterAttachmentMasterConfigLabelArrayInput `pulumi:"labels"` + // Mount target. Default is not mounting. + MountTarget pulumi.StringPtrInput `pulumi:"mountTarget"` + // Node taint. + Taints ClusterMasterAttachmentMasterConfigTaintArrayInput `pulumi:"taints"` + // Set whether the joined nodes participate in scheduling, with a default value of 0, indicating participation in scheduling; Non 0 means not participating in scheduling. + Unschedulable pulumi.IntPtrInput `pulumi:"unschedulable"` + // User script encoded in base64, which will be executed after the k8s component runs. The user needs to ensure the script's reentrant and retry logic. The script and its generated log files can be viewed in the node path /data/ccs_userscript/. If the node needs to be initialized before joining the schedule, it can be used in conjunction with the `unschedulable` parameter. After the final initialization of the userScript is completed, add the command "kubectl uncordon nodename --kubeconfig=/root/.kube/config" to add the node to the schedule. + UserScript pulumi.StringPtrInput `pulumi:"userScript"` +} + +func (ClusterMasterAttachmentMasterConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterMasterAttachmentMasterConfig)(nil)).Elem() +} + +func (i ClusterMasterAttachmentMasterConfigArgs) ToClusterMasterAttachmentMasterConfigOutput() ClusterMasterAttachmentMasterConfigOutput { + return i.ToClusterMasterAttachmentMasterConfigOutputWithContext(context.Background()) +} + +func (i ClusterMasterAttachmentMasterConfigArgs) ToClusterMasterAttachmentMasterConfigOutputWithContext(ctx context.Context) ClusterMasterAttachmentMasterConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterMasterAttachmentMasterConfigOutput) +} + +func (i ClusterMasterAttachmentMasterConfigArgs) ToClusterMasterAttachmentMasterConfigPtrOutput() ClusterMasterAttachmentMasterConfigPtrOutput { + return i.ToClusterMasterAttachmentMasterConfigPtrOutputWithContext(context.Background()) +} + +func (i ClusterMasterAttachmentMasterConfigArgs) ToClusterMasterAttachmentMasterConfigPtrOutputWithContext(ctx context.Context) ClusterMasterAttachmentMasterConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterMasterAttachmentMasterConfigOutput).ToClusterMasterAttachmentMasterConfigPtrOutputWithContext(ctx) +} + +// ClusterMasterAttachmentMasterConfigPtrInput is an input type that accepts ClusterMasterAttachmentMasterConfigArgs, ClusterMasterAttachmentMasterConfigPtr and ClusterMasterAttachmentMasterConfigPtrOutput values. +// You can construct a concrete instance of `ClusterMasterAttachmentMasterConfigPtrInput` via: +// +// ClusterMasterAttachmentMasterConfigArgs{...} +// +// or: +// +// nil +type ClusterMasterAttachmentMasterConfigPtrInput interface { + pulumi.Input + + ToClusterMasterAttachmentMasterConfigPtrOutput() ClusterMasterAttachmentMasterConfigPtrOutput + ToClusterMasterAttachmentMasterConfigPtrOutputWithContext(context.Context) ClusterMasterAttachmentMasterConfigPtrOutput +} + +type clusterMasterAttachmentMasterConfigPtrType ClusterMasterAttachmentMasterConfigArgs + +func ClusterMasterAttachmentMasterConfigPtr(v *ClusterMasterAttachmentMasterConfigArgs) ClusterMasterAttachmentMasterConfigPtrInput { + return (*clusterMasterAttachmentMasterConfigPtrType)(v) +} + +func (*clusterMasterAttachmentMasterConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterMasterAttachmentMasterConfig)(nil)).Elem() +} + +func (i *clusterMasterAttachmentMasterConfigPtrType) ToClusterMasterAttachmentMasterConfigPtrOutput() ClusterMasterAttachmentMasterConfigPtrOutput { + return i.ToClusterMasterAttachmentMasterConfigPtrOutputWithContext(context.Background()) +} + +func (i *clusterMasterAttachmentMasterConfigPtrType) ToClusterMasterAttachmentMasterConfigPtrOutputWithContext(ctx context.Context) ClusterMasterAttachmentMasterConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterMasterAttachmentMasterConfigPtrOutput) +} + +type ClusterMasterAttachmentMasterConfigOutput struct{ *pulumi.OutputState } + +func (ClusterMasterAttachmentMasterConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterMasterAttachmentMasterConfig)(nil)).Elem() +} + +func (o ClusterMasterAttachmentMasterConfigOutput) ToClusterMasterAttachmentMasterConfigOutput() ClusterMasterAttachmentMasterConfigOutput { + return o +} + +func (o ClusterMasterAttachmentMasterConfigOutput) ToClusterMasterAttachmentMasterConfigOutputWithContext(ctx context.Context) ClusterMasterAttachmentMasterConfigOutput { + return o +} + +func (o ClusterMasterAttachmentMasterConfigOutput) ToClusterMasterAttachmentMasterConfigPtrOutput() ClusterMasterAttachmentMasterConfigPtrOutput { + return o.ToClusterMasterAttachmentMasterConfigPtrOutputWithContext(context.Background()) +} + +func (o ClusterMasterAttachmentMasterConfigOutput) ToClusterMasterAttachmentMasterConfigPtrOutputWithContext(ctx context.Context) ClusterMasterAttachmentMasterConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterMasterAttachmentMasterConfig) *ClusterMasterAttachmentMasterConfig { + return &v + }).(ClusterMasterAttachmentMasterConfigPtrOutput) +} + +// Configurations of data disk. +func (o ClusterMasterAttachmentMasterConfigOutput) DataDisk() ClusterMasterAttachmentMasterConfigDataDiskPtrOutput { + return o.ApplyT(func(v ClusterMasterAttachmentMasterConfig) *ClusterMasterAttachmentMasterConfigDataDisk { + return v.DataDisk + }).(ClusterMasterAttachmentMasterConfigDataDiskPtrOutput) +} + +// Indicate to set desired pod number in node. valid when the cluster is podCIDR. +func (o ClusterMasterAttachmentMasterConfigOutput) DesiredPodNumber() pulumi.IntPtrOutput { + return o.ApplyT(func(v ClusterMasterAttachmentMasterConfig) *int { return v.DesiredPodNumber }).(pulumi.IntPtrOutput) +} + +// Docker graph path. Default is `/var/lib/docker`. +func (o ClusterMasterAttachmentMasterConfigOutput) DockerGraphPath() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterMasterAttachmentMasterConfig) *string { return v.DockerGraphPath }).(pulumi.StringPtrOutput) +} + +// Custom parameter information related to the node. This is a white-list parameter. +func (o ClusterMasterAttachmentMasterConfigOutput) ExtraArgs() ClusterMasterAttachmentMasterConfigExtraArgsPtrOutput { + return o.ApplyT(func(v ClusterMasterAttachmentMasterConfig) *ClusterMasterAttachmentMasterConfigExtraArgs { + return v.ExtraArgs + }).(ClusterMasterAttachmentMasterConfigExtraArgsPtrOutput) +} + +// GPU driver parameters. +func (o ClusterMasterAttachmentMasterConfigOutput) GpuArgs() ClusterMasterAttachmentMasterConfigGpuArgsPtrOutput { + return o.ApplyT(func(v ClusterMasterAttachmentMasterConfig) *ClusterMasterAttachmentMasterConfigGpuArgs { + return v.GpuArgs + }).(ClusterMasterAttachmentMasterConfigGpuArgsPtrOutput) +} + +// Node label list. +func (o ClusterMasterAttachmentMasterConfigOutput) Labels() ClusterMasterAttachmentMasterConfigLabelArrayOutput { + return o.ApplyT(func(v ClusterMasterAttachmentMasterConfig) []ClusterMasterAttachmentMasterConfigLabel { + return v.Labels + }).(ClusterMasterAttachmentMasterConfigLabelArrayOutput) +} + +// Mount target. Default is not mounting. +func (o ClusterMasterAttachmentMasterConfigOutput) MountTarget() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterMasterAttachmentMasterConfig) *string { return v.MountTarget }).(pulumi.StringPtrOutput) +} + +// Node taint. +func (o ClusterMasterAttachmentMasterConfigOutput) Taints() ClusterMasterAttachmentMasterConfigTaintArrayOutput { + return o.ApplyT(func(v ClusterMasterAttachmentMasterConfig) []ClusterMasterAttachmentMasterConfigTaint { + return v.Taints + }).(ClusterMasterAttachmentMasterConfigTaintArrayOutput) +} + +// Set whether the joined nodes participate in scheduling, with a default value of 0, indicating participation in scheduling; Non 0 means not participating in scheduling. +func (o ClusterMasterAttachmentMasterConfigOutput) Unschedulable() pulumi.IntPtrOutput { + return o.ApplyT(func(v ClusterMasterAttachmentMasterConfig) *int { return v.Unschedulable }).(pulumi.IntPtrOutput) +} + +// User script encoded in base64, which will be executed after the k8s component runs. The user needs to ensure the script's reentrant and retry logic. The script and its generated log files can be viewed in the node path /data/ccs_userscript/. If the node needs to be initialized before joining the schedule, it can be used in conjunction with the `unschedulable` parameter. After the final initialization of the userScript is completed, add the command "kubectl uncordon nodename --kubeconfig=/root/.kube/config" to add the node to the schedule. +func (o ClusterMasterAttachmentMasterConfigOutput) UserScript() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterMasterAttachmentMasterConfig) *string { return v.UserScript }).(pulumi.StringPtrOutput) +} + +type ClusterMasterAttachmentMasterConfigPtrOutput struct{ *pulumi.OutputState } + +func (ClusterMasterAttachmentMasterConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterMasterAttachmentMasterConfig)(nil)).Elem() +} + +func (o ClusterMasterAttachmentMasterConfigPtrOutput) ToClusterMasterAttachmentMasterConfigPtrOutput() ClusterMasterAttachmentMasterConfigPtrOutput { + return o +} + +func (o ClusterMasterAttachmentMasterConfigPtrOutput) ToClusterMasterAttachmentMasterConfigPtrOutputWithContext(ctx context.Context) ClusterMasterAttachmentMasterConfigPtrOutput { + return o +} + +func (o ClusterMasterAttachmentMasterConfigPtrOutput) Elem() ClusterMasterAttachmentMasterConfigOutput { + return o.ApplyT(func(v *ClusterMasterAttachmentMasterConfig) ClusterMasterAttachmentMasterConfig { + if v != nil { + return *v + } + var ret ClusterMasterAttachmentMasterConfig + return ret + }).(ClusterMasterAttachmentMasterConfigOutput) +} + +// Configurations of data disk. +func (o ClusterMasterAttachmentMasterConfigPtrOutput) DataDisk() ClusterMasterAttachmentMasterConfigDataDiskPtrOutput { + return o.ApplyT(func(v *ClusterMasterAttachmentMasterConfig) *ClusterMasterAttachmentMasterConfigDataDisk { + if v == nil { + return nil + } + return v.DataDisk + }).(ClusterMasterAttachmentMasterConfigDataDiskPtrOutput) +} + +// Indicate to set desired pod number in node. valid when the cluster is podCIDR. +func (o ClusterMasterAttachmentMasterConfigPtrOutput) DesiredPodNumber() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ClusterMasterAttachmentMasterConfig) *int { + if v == nil { + return nil + } + return v.DesiredPodNumber + }).(pulumi.IntPtrOutput) +} + +// Docker graph path. Default is `/var/lib/docker`. +func (o ClusterMasterAttachmentMasterConfigPtrOutput) DockerGraphPath() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterMasterAttachmentMasterConfig) *string { + if v == nil { + return nil + } + return v.DockerGraphPath + }).(pulumi.StringPtrOutput) +} + +// Custom parameter information related to the node. This is a white-list parameter. +func (o ClusterMasterAttachmentMasterConfigPtrOutput) ExtraArgs() ClusterMasterAttachmentMasterConfigExtraArgsPtrOutput { + return o.ApplyT(func(v *ClusterMasterAttachmentMasterConfig) *ClusterMasterAttachmentMasterConfigExtraArgs { + if v == nil { + return nil + } + return v.ExtraArgs + }).(ClusterMasterAttachmentMasterConfigExtraArgsPtrOutput) +} + +// GPU driver parameters. +func (o ClusterMasterAttachmentMasterConfigPtrOutput) GpuArgs() ClusterMasterAttachmentMasterConfigGpuArgsPtrOutput { + return o.ApplyT(func(v *ClusterMasterAttachmentMasterConfig) *ClusterMasterAttachmentMasterConfigGpuArgs { + if v == nil { + return nil + } + return v.GpuArgs + }).(ClusterMasterAttachmentMasterConfigGpuArgsPtrOutput) +} + +// Node label list. +func (o ClusterMasterAttachmentMasterConfigPtrOutput) Labels() ClusterMasterAttachmentMasterConfigLabelArrayOutput { + return o.ApplyT(func(v *ClusterMasterAttachmentMasterConfig) []ClusterMasterAttachmentMasterConfigLabel { + if v == nil { + return nil + } + return v.Labels + }).(ClusterMasterAttachmentMasterConfigLabelArrayOutput) +} + +// Mount target. Default is not mounting. +func (o ClusterMasterAttachmentMasterConfigPtrOutput) MountTarget() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterMasterAttachmentMasterConfig) *string { + if v == nil { + return nil + } + return v.MountTarget + }).(pulumi.StringPtrOutput) +} + +// Node taint. +func (o ClusterMasterAttachmentMasterConfigPtrOutput) Taints() ClusterMasterAttachmentMasterConfigTaintArrayOutput { + return o.ApplyT(func(v *ClusterMasterAttachmentMasterConfig) []ClusterMasterAttachmentMasterConfigTaint { + if v == nil { + return nil + } + return v.Taints + }).(ClusterMasterAttachmentMasterConfigTaintArrayOutput) +} + +// Set whether the joined nodes participate in scheduling, with a default value of 0, indicating participation in scheduling; Non 0 means not participating in scheduling. +func (o ClusterMasterAttachmentMasterConfigPtrOutput) Unschedulable() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ClusterMasterAttachmentMasterConfig) *int { + if v == nil { + return nil + } + return v.Unschedulable + }).(pulumi.IntPtrOutput) +} + +// User script encoded in base64, which will be executed after the k8s component runs. The user needs to ensure the script's reentrant and retry logic. The script and its generated log files can be viewed in the node path /data/ccs_userscript/. If the node needs to be initialized before joining the schedule, it can be used in conjunction with the `unschedulable` parameter. After the final initialization of the userScript is completed, add the command "kubectl uncordon nodename --kubeconfig=/root/.kube/config" to add the node to the schedule. +func (o ClusterMasterAttachmentMasterConfigPtrOutput) UserScript() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterMasterAttachmentMasterConfig) *string { + if v == nil { + return nil + } + return v.UserScript + }).(pulumi.StringPtrOutput) +} + +type ClusterMasterAttachmentMasterConfigDataDisk struct { + // Indicate whether to auto format and mount or not. Default is `false`. + AutoFormatAndMount *bool `pulumi:"autoFormatAndMount"` + // The name of the device or partition to mount. NOTE: this argument doesn't support setting in node pool, or will leads to mount error. + DiskPartition *string `pulumi:"diskPartition"` + // Volume of disk in GB. Default is `0`. + DiskSize *int `pulumi:"diskSize"` + // Types of disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. + DiskType *string `pulumi:"diskType"` + // File system, e.g. `ext3/ext4/xfs`. + FileSystem *string `pulumi:"fileSystem"` + // Mount target. + MountTarget *string `pulumi:"mountTarget"` +} + +// ClusterMasterAttachmentMasterConfigDataDiskInput is an input type that accepts ClusterMasterAttachmentMasterConfigDataDiskArgs and ClusterMasterAttachmentMasterConfigDataDiskOutput values. +// You can construct a concrete instance of `ClusterMasterAttachmentMasterConfigDataDiskInput` via: +// +// ClusterMasterAttachmentMasterConfigDataDiskArgs{...} +type ClusterMasterAttachmentMasterConfigDataDiskInput interface { + pulumi.Input + + ToClusterMasterAttachmentMasterConfigDataDiskOutput() ClusterMasterAttachmentMasterConfigDataDiskOutput + ToClusterMasterAttachmentMasterConfigDataDiskOutputWithContext(context.Context) ClusterMasterAttachmentMasterConfigDataDiskOutput +} + +type ClusterMasterAttachmentMasterConfigDataDiskArgs struct { + // Indicate whether to auto format and mount or not. Default is `false`. + AutoFormatAndMount pulumi.BoolPtrInput `pulumi:"autoFormatAndMount"` + // The name of the device or partition to mount. NOTE: this argument doesn't support setting in node pool, or will leads to mount error. + DiskPartition pulumi.StringPtrInput `pulumi:"diskPartition"` + // Volume of disk in GB. Default is `0`. + DiskSize pulumi.IntPtrInput `pulumi:"diskSize"` + // Types of disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. + DiskType pulumi.StringPtrInput `pulumi:"diskType"` + // File system, e.g. `ext3/ext4/xfs`. + FileSystem pulumi.StringPtrInput `pulumi:"fileSystem"` + // Mount target. + MountTarget pulumi.StringPtrInput `pulumi:"mountTarget"` +} + +func (ClusterMasterAttachmentMasterConfigDataDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterMasterAttachmentMasterConfigDataDisk)(nil)).Elem() +} + +func (i ClusterMasterAttachmentMasterConfigDataDiskArgs) ToClusterMasterAttachmentMasterConfigDataDiskOutput() ClusterMasterAttachmentMasterConfigDataDiskOutput { + return i.ToClusterMasterAttachmentMasterConfigDataDiskOutputWithContext(context.Background()) +} + +func (i ClusterMasterAttachmentMasterConfigDataDiskArgs) ToClusterMasterAttachmentMasterConfigDataDiskOutputWithContext(ctx context.Context) ClusterMasterAttachmentMasterConfigDataDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterMasterAttachmentMasterConfigDataDiskOutput) +} + +func (i ClusterMasterAttachmentMasterConfigDataDiskArgs) ToClusterMasterAttachmentMasterConfigDataDiskPtrOutput() ClusterMasterAttachmentMasterConfigDataDiskPtrOutput { + return i.ToClusterMasterAttachmentMasterConfigDataDiskPtrOutputWithContext(context.Background()) +} + +func (i ClusterMasterAttachmentMasterConfigDataDiskArgs) ToClusterMasterAttachmentMasterConfigDataDiskPtrOutputWithContext(ctx context.Context) ClusterMasterAttachmentMasterConfigDataDiskPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterMasterAttachmentMasterConfigDataDiskOutput).ToClusterMasterAttachmentMasterConfigDataDiskPtrOutputWithContext(ctx) +} + +// ClusterMasterAttachmentMasterConfigDataDiskPtrInput is an input type that accepts ClusterMasterAttachmentMasterConfigDataDiskArgs, ClusterMasterAttachmentMasterConfigDataDiskPtr and ClusterMasterAttachmentMasterConfigDataDiskPtrOutput values. +// You can construct a concrete instance of `ClusterMasterAttachmentMasterConfigDataDiskPtrInput` via: +// +// ClusterMasterAttachmentMasterConfigDataDiskArgs{...} +// +// or: +// +// nil +type ClusterMasterAttachmentMasterConfigDataDiskPtrInput interface { + pulumi.Input + + ToClusterMasterAttachmentMasterConfigDataDiskPtrOutput() ClusterMasterAttachmentMasterConfigDataDiskPtrOutput + ToClusterMasterAttachmentMasterConfigDataDiskPtrOutputWithContext(context.Context) ClusterMasterAttachmentMasterConfigDataDiskPtrOutput +} + +type clusterMasterAttachmentMasterConfigDataDiskPtrType ClusterMasterAttachmentMasterConfigDataDiskArgs + +func ClusterMasterAttachmentMasterConfigDataDiskPtr(v *ClusterMasterAttachmentMasterConfigDataDiskArgs) ClusterMasterAttachmentMasterConfigDataDiskPtrInput { + return (*clusterMasterAttachmentMasterConfigDataDiskPtrType)(v) +} + +func (*clusterMasterAttachmentMasterConfigDataDiskPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterMasterAttachmentMasterConfigDataDisk)(nil)).Elem() +} + +func (i *clusterMasterAttachmentMasterConfigDataDiskPtrType) ToClusterMasterAttachmentMasterConfigDataDiskPtrOutput() ClusterMasterAttachmentMasterConfigDataDiskPtrOutput { + return i.ToClusterMasterAttachmentMasterConfigDataDiskPtrOutputWithContext(context.Background()) +} + +func (i *clusterMasterAttachmentMasterConfigDataDiskPtrType) ToClusterMasterAttachmentMasterConfigDataDiskPtrOutputWithContext(ctx context.Context) ClusterMasterAttachmentMasterConfigDataDiskPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterMasterAttachmentMasterConfigDataDiskPtrOutput) +} + +type ClusterMasterAttachmentMasterConfigDataDiskOutput struct{ *pulumi.OutputState } + +func (ClusterMasterAttachmentMasterConfigDataDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterMasterAttachmentMasterConfigDataDisk)(nil)).Elem() +} + +func (o ClusterMasterAttachmentMasterConfigDataDiskOutput) ToClusterMasterAttachmentMasterConfigDataDiskOutput() ClusterMasterAttachmentMasterConfigDataDiskOutput { + return o +} + +func (o ClusterMasterAttachmentMasterConfigDataDiskOutput) ToClusterMasterAttachmentMasterConfigDataDiskOutputWithContext(ctx context.Context) ClusterMasterAttachmentMasterConfigDataDiskOutput { + return o +} + +func (o ClusterMasterAttachmentMasterConfigDataDiskOutput) ToClusterMasterAttachmentMasterConfigDataDiskPtrOutput() ClusterMasterAttachmentMasterConfigDataDiskPtrOutput { + return o.ToClusterMasterAttachmentMasterConfigDataDiskPtrOutputWithContext(context.Background()) +} + +func (o ClusterMasterAttachmentMasterConfigDataDiskOutput) ToClusterMasterAttachmentMasterConfigDataDiskPtrOutputWithContext(ctx context.Context) ClusterMasterAttachmentMasterConfigDataDiskPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterMasterAttachmentMasterConfigDataDisk) *ClusterMasterAttachmentMasterConfigDataDisk { + return &v + }).(ClusterMasterAttachmentMasterConfigDataDiskPtrOutput) +} + +// Indicate whether to auto format and mount or not. Default is `false`. +func (o ClusterMasterAttachmentMasterConfigDataDiskOutput) AutoFormatAndMount() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ClusterMasterAttachmentMasterConfigDataDisk) *bool { return v.AutoFormatAndMount }).(pulumi.BoolPtrOutput) +} + +// The name of the device or partition to mount. NOTE: this argument doesn't support setting in node pool, or will leads to mount error. +func (o ClusterMasterAttachmentMasterConfigDataDiskOutput) DiskPartition() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterMasterAttachmentMasterConfigDataDisk) *string { return v.DiskPartition }).(pulumi.StringPtrOutput) +} + +// Volume of disk in GB. Default is `0`. +func (o ClusterMasterAttachmentMasterConfigDataDiskOutput) DiskSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v ClusterMasterAttachmentMasterConfigDataDisk) *int { return v.DiskSize }).(pulumi.IntPtrOutput) +} + +// Types of disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. +func (o ClusterMasterAttachmentMasterConfigDataDiskOutput) DiskType() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterMasterAttachmentMasterConfigDataDisk) *string { return v.DiskType }).(pulumi.StringPtrOutput) +} + +// File system, e.g. `ext3/ext4/xfs`. +func (o ClusterMasterAttachmentMasterConfigDataDiskOutput) FileSystem() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterMasterAttachmentMasterConfigDataDisk) *string { return v.FileSystem }).(pulumi.StringPtrOutput) +} + +// Mount target. +func (o ClusterMasterAttachmentMasterConfigDataDiskOutput) MountTarget() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterMasterAttachmentMasterConfigDataDisk) *string { return v.MountTarget }).(pulumi.StringPtrOutput) +} + +type ClusterMasterAttachmentMasterConfigDataDiskPtrOutput struct{ *pulumi.OutputState } + +func (ClusterMasterAttachmentMasterConfigDataDiskPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterMasterAttachmentMasterConfigDataDisk)(nil)).Elem() +} + +func (o ClusterMasterAttachmentMasterConfigDataDiskPtrOutput) ToClusterMasterAttachmentMasterConfigDataDiskPtrOutput() ClusterMasterAttachmentMasterConfigDataDiskPtrOutput { + return o +} + +func (o ClusterMasterAttachmentMasterConfigDataDiskPtrOutput) ToClusterMasterAttachmentMasterConfigDataDiskPtrOutputWithContext(ctx context.Context) ClusterMasterAttachmentMasterConfigDataDiskPtrOutput { + return o +} + +func (o ClusterMasterAttachmentMasterConfigDataDiskPtrOutput) Elem() ClusterMasterAttachmentMasterConfigDataDiskOutput { + return o.ApplyT(func(v *ClusterMasterAttachmentMasterConfigDataDisk) ClusterMasterAttachmentMasterConfigDataDisk { + if v != nil { + return *v + } + var ret ClusterMasterAttachmentMasterConfigDataDisk + return ret + }).(ClusterMasterAttachmentMasterConfigDataDiskOutput) +} + +// Indicate whether to auto format and mount or not. Default is `false`. +func (o ClusterMasterAttachmentMasterConfigDataDiskPtrOutput) AutoFormatAndMount() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ClusterMasterAttachmentMasterConfigDataDisk) *bool { + if v == nil { + return nil + } + return v.AutoFormatAndMount + }).(pulumi.BoolPtrOutput) +} + +// The name of the device or partition to mount. NOTE: this argument doesn't support setting in node pool, or will leads to mount error. +func (o ClusterMasterAttachmentMasterConfigDataDiskPtrOutput) DiskPartition() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterMasterAttachmentMasterConfigDataDisk) *string { + if v == nil { + return nil + } + return v.DiskPartition + }).(pulumi.StringPtrOutput) +} + +// Volume of disk in GB. Default is `0`. +func (o ClusterMasterAttachmentMasterConfigDataDiskPtrOutput) DiskSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ClusterMasterAttachmentMasterConfigDataDisk) *int { + if v == nil { + return nil + } + return v.DiskSize + }).(pulumi.IntPtrOutput) +} + +// Types of disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. +func (o ClusterMasterAttachmentMasterConfigDataDiskPtrOutput) DiskType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterMasterAttachmentMasterConfigDataDisk) *string { + if v == nil { + return nil + } + return v.DiskType + }).(pulumi.StringPtrOutput) +} + +// File system, e.g. `ext3/ext4/xfs`. +func (o ClusterMasterAttachmentMasterConfigDataDiskPtrOutput) FileSystem() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterMasterAttachmentMasterConfigDataDisk) *string { + if v == nil { + return nil + } + return v.FileSystem + }).(pulumi.StringPtrOutput) +} + +// Mount target. +func (o ClusterMasterAttachmentMasterConfigDataDiskPtrOutput) MountTarget() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterMasterAttachmentMasterConfigDataDisk) *string { + if v == nil { + return nil + } + return v.MountTarget + }).(pulumi.StringPtrOutput) +} + +type ClusterMasterAttachmentMasterConfigExtraArgs struct { + // Kubelet custom parameter. The parameter format is ["k1=v1", "k1=v2"]. + Kubelets []string `pulumi:"kubelets"` +} + +// ClusterMasterAttachmentMasterConfigExtraArgsInput is an input type that accepts ClusterMasterAttachmentMasterConfigExtraArgsArgs and ClusterMasterAttachmentMasterConfigExtraArgsOutput values. +// You can construct a concrete instance of `ClusterMasterAttachmentMasterConfigExtraArgsInput` via: +// +// ClusterMasterAttachmentMasterConfigExtraArgsArgs{...} +type ClusterMasterAttachmentMasterConfigExtraArgsInput interface { + pulumi.Input + + ToClusterMasterAttachmentMasterConfigExtraArgsOutput() ClusterMasterAttachmentMasterConfigExtraArgsOutput + ToClusterMasterAttachmentMasterConfigExtraArgsOutputWithContext(context.Context) ClusterMasterAttachmentMasterConfigExtraArgsOutput +} + +type ClusterMasterAttachmentMasterConfigExtraArgsArgs struct { + // Kubelet custom parameter. The parameter format is ["k1=v1", "k1=v2"]. + Kubelets pulumi.StringArrayInput `pulumi:"kubelets"` +} + +func (ClusterMasterAttachmentMasterConfigExtraArgsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterMasterAttachmentMasterConfigExtraArgs)(nil)).Elem() +} + +func (i ClusterMasterAttachmentMasterConfigExtraArgsArgs) ToClusterMasterAttachmentMasterConfigExtraArgsOutput() ClusterMasterAttachmentMasterConfigExtraArgsOutput { + return i.ToClusterMasterAttachmentMasterConfigExtraArgsOutputWithContext(context.Background()) +} + +func (i ClusterMasterAttachmentMasterConfigExtraArgsArgs) ToClusterMasterAttachmentMasterConfigExtraArgsOutputWithContext(ctx context.Context) ClusterMasterAttachmentMasterConfigExtraArgsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterMasterAttachmentMasterConfigExtraArgsOutput) +} + +func (i ClusterMasterAttachmentMasterConfigExtraArgsArgs) ToClusterMasterAttachmentMasterConfigExtraArgsPtrOutput() ClusterMasterAttachmentMasterConfigExtraArgsPtrOutput { + return i.ToClusterMasterAttachmentMasterConfigExtraArgsPtrOutputWithContext(context.Background()) +} + +func (i ClusterMasterAttachmentMasterConfigExtraArgsArgs) ToClusterMasterAttachmentMasterConfigExtraArgsPtrOutputWithContext(ctx context.Context) ClusterMasterAttachmentMasterConfigExtraArgsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterMasterAttachmentMasterConfigExtraArgsOutput).ToClusterMasterAttachmentMasterConfigExtraArgsPtrOutputWithContext(ctx) +} + +// ClusterMasterAttachmentMasterConfigExtraArgsPtrInput is an input type that accepts ClusterMasterAttachmentMasterConfigExtraArgsArgs, ClusterMasterAttachmentMasterConfigExtraArgsPtr and ClusterMasterAttachmentMasterConfigExtraArgsPtrOutput values. +// You can construct a concrete instance of `ClusterMasterAttachmentMasterConfigExtraArgsPtrInput` via: +// +// ClusterMasterAttachmentMasterConfigExtraArgsArgs{...} +// +// or: +// +// nil +type ClusterMasterAttachmentMasterConfigExtraArgsPtrInput interface { + pulumi.Input + + ToClusterMasterAttachmentMasterConfigExtraArgsPtrOutput() ClusterMasterAttachmentMasterConfigExtraArgsPtrOutput + ToClusterMasterAttachmentMasterConfigExtraArgsPtrOutputWithContext(context.Context) ClusterMasterAttachmentMasterConfigExtraArgsPtrOutput +} + +type clusterMasterAttachmentMasterConfigExtraArgsPtrType ClusterMasterAttachmentMasterConfigExtraArgsArgs + +func ClusterMasterAttachmentMasterConfigExtraArgsPtr(v *ClusterMasterAttachmentMasterConfigExtraArgsArgs) ClusterMasterAttachmentMasterConfigExtraArgsPtrInput { + return (*clusterMasterAttachmentMasterConfigExtraArgsPtrType)(v) +} + +func (*clusterMasterAttachmentMasterConfigExtraArgsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterMasterAttachmentMasterConfigExtraArgs)(nil)).Elem() +} + +func (i *clusterMasterAttachmentMasterConfigExtraArgsPtrType) ToClusterMasterAttachmentMasterConfigExtraArgsPtrOutput() ClusterMasterAttachmentMasterConfigExtraArgsPtrOutput { + return i.ToClusterMasterAttachmentMasterConfigExtraArgsPtrOutputWithContext(context.Background()) +} + +func (i *clusterMasterAttachmentMasterConfigExtraArgsPtrType) ToClusterMasterAttachmentMasterConfigExtraArgsPtrOutputWithContext(ctx context.Context) ClusterMasterAttachmentMasterConfigExtraArgsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterMasterAttachmentMasterConfigExtraArgsPtrOutput) +} + +type ClusterMasterAttachmentMasterConfigExtraArgsOutput struct{ *pulumi.OutputState } + +func (ClusterMasterAttachmentMasterConfigExtraArgsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterMasterAttachmentMasterConfigExtraArgs)(nil)).Elem() +} + +func (o ClusterMasterAttachmentMasterConfigExtraArgsOutput) ToClusterMasterAttachmentMasterConfigExtraArgsOutput() ClusterMasterAttachmentMasterConfigExtraArgsOutput { + return o +} + +func (o ClusterMasterAttachmentMasterConfigExtraArgsOutput) ToClusterMasterAttachmentMasterConfigExtraArgsOutputWithContext(ctx context.Context) ClusterMasterAttachmentMasterConfigExtraArgsOutput { + return o +} + +func (o ClusterMasterAttachmentMasterConfigExtraArgsOutput) ToClusterMasterAttachmentMasterConfigExtraArgsPtrOutput() ClusterMasterAttachmentMasterConfigExtraArgsPtrOutput { + return o.ToClusterMasterAttachmentMasterConfigExtraArgsPtrOutputWithContext(context.Background()) +} + +func (o ClusterMasterAttachmentMasterConfigExtraArgsOutput) ToClusterMasterAttachmentMasterConfigExtraArgsPtrOutputWithContext(ctx context.Context) ClusterMasterAttachmentMasterConfigExtraArgsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterMasterAttachmentMasterConfigExtraArgs) *ClusterMasterAttachmentMasterConfigExtraArgs { + return &v + }).(ClusterMasterAttachmentMasterConfigExtraArgsPtrOutput) +} + +// Kubelet custom parameter. The parameter format is ["k1=v1", "k1=v2"]. +func (o ClusterMasterAttachmentMasterConfigExtraArgsOutput) Kubelets() pulumi.StringArrayOutput { + return o.ApplyT(func(v ClusterMasterAttachmentMasterConfigExtraArgs) []string { return v.Kubelets }).(pulumi.StringArrayOutput) +} + +type ClusterMasterAttachmentMasterConfigExtraArgsPtrOutput struct{ *pulumi.OutputState } + +func (ClusterMasterAttachmentMasterConfigExtraArgsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterMasterAttachmentMasterConfigExtraArgs)(nil)).Elem() +} + +func (o ClusterMasterAttachmentMasterConfigExtraArgsPtrOutput) ToClusterMasterAttachmentMasterConfigExtraArgsPtrOutput() ClusterMasterAttachmentMasterConfigExtraArgsPtrOutput { + return o +} + +func (o ClusterMasterAttachmentMasterConfigExtraArgsPtrOutput) ToClusterMasterAttachmentMasterConfigExtraArgsPtrOutputWithContext(ctx context.Context) ClusterMasterAttachmentMasterConfigExtraArgsPtrOutput { + return o +} + +func (o ClusterMasterAttachmentMasterConfigExtraArgsPtrOutput) Elem() ClusterMasterAttachmentMasterConfigExtraArgsOutput { + return o.ApplyT(func(v *ClusterMasterAttachmentMasterConfigExtraArgs) ClusterMasterAttachmentMasterConfigExtraArgs { + if v != nil { + return *v + } + var ret ClusterMasterAttachmentMasterConfigExtraArgs + return ret + }).(ClusterMasterAttachmentMasterConfigExtraArgsOutput) +} + +// Kubelet custom parameter. The parameter format is ["k1=v1", "k1=v2"]. +func (o ClusterMasterAttachmentMasterConfigExtraArgsPtrOutput) Kubelets() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ClusterMasterAttachmentMasterConfigExtraArgs) []string { + if v == nil { + return nil + } + return v.Kubelets + }).(pulumi.StringArrayOutput) +} + +type ClusterMasterAttachmentMasterConfigGpuArgs struct { + // CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + Cuda map[string]interface{} `pulumi:"cuda"` + // cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `docName`: Doc name of cuDNN; `devName`: Dev name of cuDNN. + Cudnn map[string]interface{} `pulumi:"cudnn"` + // Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. + CustomDriver map[string]interface{} `pulumi:"customDriver"` + // GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + Driver map[string]interface{} `pulumi:"driver"` + // Whether to enable MIG. + MigEnable *bool `pulumi:"migEnable"` +} + +// ClusterMasterAttachmentMasterConfigGpuArgsInput is an input type that accepts ClusterMasterAttachmentMasterConfigGpuArgsArgs and ClusterMasterAttachmentMasterConfigGpuArgsOutput values. +// You can construct a concrete instance of `ClusterMasterAttachmentMasterConfigGpuArgsInput` via: +// +// ClusterMasterAttachmentMasterConfigGpuArgsArgs{...} +type ClusterMasterAttachmentMasterConfigGpuArgsInput interface { + pulumi.Input + + ToClusterMasterAttachmentMasterConfigGpuArgsOutput() ClusterMasterAttachmentMasterConfigGpuArgsOutput + ToClusterMasterAttachmentMasterConfigGpuArgsOutputWithContext(context.Context) ClusterMasterAttachmentMasterConfigGpuArgsOutput +} + +type ClusterMasterAttachmentMasterConfigGpuArgsArgs struct { + // CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + Cuda pulumi.MapInput `pulumi:"cuda"` + // cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `docName`: Doc name of cuDNN; `devName`: Dev name of cuDNN. + Cudnn pulumi.MapInput `pulumi:"cudnn"` + // Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. + CustomDriver pulumi.MapInput `pulumi:"customDriver"` + // GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + Driver pulumi.MapInput `pulumi:"driver"` + // Whether to enable MIG. + MigEnable pulumi.BoolPtrInput `pulumi:"migEnable"` +} + +func (ClusterMasterAttachmentMasterConfigGpuArgsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterMasterAttachmentMasterConfigGpuArgs)(nil)).Elem() +} + +func (i ClusterMasterAttachmentMasterConfigGpuArgsArgs) ToClusterMasterAttachmentMasterConfigGpuArgsOutput() ClusterMasterAttachmentMasterConfigGpuArgsOutput { + return i.ToClusterMasterAttachmentMasterConfigGpuArgsOutputWithContext(context.Background()) +} + +func (i ClusterMasterAttachmentMasterConfigGpuArgsArgs) ToClusterMasterAttachmentMasterConfigGpuArgsOutputWithContext(ctx context.Context) ClusterMasterAttachmentMasterConfigGpuArgsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterMasterAttachmentMasterConfigGpuArgsOutput) +} + +func (i ClusterMasterAttachmentMasterConfigGpuArgsArgs) ToClusterMasterAttachmentMasterConfigGpuArgsPtrOutput() ClusterMasterAttachmentMasterConfigGpuArgsPtrOutput { + return i.ToClusterMasterAttachmentMasterConfigGpuArgsPtrOutputWithContext(context.Background()) +} + +func (i ClusterMasterAttachmentMasterConfigGpuArgsArgs) ToClusterMasterAttachmentMasterConfigGpuArgsPtrOutputWithContext(ctx context.Context) ClusterMasterAttachmentMasterConfigGpuArgsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterMasterAttachmentMasterConfigGpuArgsOutput).ToClusterMasterAttachmentMasterConfigGpuArgsPtrOutputWithContext(ctx) +} + +// ClusterMasterAttachmentMasterConfigGpuArgsPtrInput is an input type that accepts ClusterMasterAttachmentMasterConfigGpuArgsArgs, ClusterMasterAttachmentMasterConfigGpuArgsPtr and ClusterMasterAttachmentMasterConfigGpuArgsPtrOutput values. +// You can construct a concrete instance of `ClusterMasterAttachmentMasterConfigGpuArgsPtrInput` via: +// +// ClusterMasterAttachmentMasterConfigGpuArgsArgs{...} +// +// or: +// +// nil +type ClusterMasterAttachmentMasterConfigGpuArgsPtrInput interface { + pulumi.Input + + ToClusterMasterAttachmentMasterConfigGpuArgsPtrOutput() ClusterMasterAttachmentMasterConfigGpuArgsPtrOutput + ToClusterMasterAttachmentMasterConfigGpuArgsPtrOutputWithContext(context.Context) ClusterMasterAttachmentMasterConfigGpuArgsPtrOutput +} + +type clusterMasterAttachmentMasterConfigGpuArgsPtrType ClusterMasterAttachmentMasterConfigGpuArgsArgs + +func ClusterMasterAttachmentMasterConfigGpuArgsPtr(v *ClusterMasterAttachmentMasterConfigGpuArgsArgs) ClusterMasterAttachmentMasterConfigGpuArgsPtrInput { + return (*clusterMasterAttachmentMasterConfigGpuArgsPtrType)(v) +} + +func (*clusterMasterAttachmentMasterConfigGpuArgsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterMasterAttachmentMasterConfigGpuArgs)(nil)).Elem() +} + +func (i *clusterMasterAttachmentMasterConfigGpuArgsPtrType) ToClusterMasterAttachmentMasterConfigGpuArgsPtrOutput() ClusterMasterAttachmentMasterConfigGpuArgsPtrOutput { + return i.ToClusterMasterAttachmentMasterConfigGpuArgsPtrOutputWithContext(context.Background()) +} + +func (i *clusterMasterAttachmentMasterConfigGpuArgsPtrType) ToClusterMasterAttachmentMasterConfigGpuArgsPtrOutputWithContext(ctx context.Context) ClusterMasterAttachmentMasterConfigGpuArgsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterMasterAttachmentMasterConfigGpuArgsPtrOutput) +} + +type ClusterMasterAttachmentMasterConfigGpuArgsOutput struct{ *pulumi.OutputState } + +func (ClusterMasterAttachmentMasterConfigGpuArgsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterMasterAttachmentMasterConfigGpuArgs)(nil)).Elem() +} + +func (o ClusterMasterAttachmentMasterConfigGpuArgsOutput) ToClusterMasterAttachmentMasterConfigGpuArgsOutput() ClusterMasterAttachmentMasterConfigGpuArgsOutput { + return o +} + +func (o ClusterMasterAttachmentMasterConfigGpuArgsOutput) ToClusterMasterAttachmentMasterConfigGpuArgsOutputWithContext(ctx context.Context) ClusterMasterAttachmentMasterConfigGpuArgsOutput { + return o +} + +func (o ClusterMasterAttachmentMasterConfigGpuArgsOutput) ToClusterMasterAttachmentMasterConfigGpuArgsPtrOutput() ClusterMasterAttachmentMasterConfigGpuArgsPtrOutput { + return o.ToClusterMasterAttachmentMasterConfigGpuArgsPtrOutputWithContext(context.Background()) +} + +func (o ClusterMasterAttachmentMasterConfigGpuArgsOutput) ToClusterMasterAttachmentMasterConfigGpuArgsPtrOutputWithContext(ctx context.Context) ClusterMasterAttachmentMasterConfigGpuArgsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterMasterAttachmentMasterConfigGpuArgs) *ClusterMasterAttachmentMasterConfigGpuArgs { + return &v + }).(ClusterMasterAttachmentMasterConfigGpuArgsPtrOutput) +} + +// CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. +func (o ClusterMasterAttachmentMasterConfigGpuArgsOutput) Cuda() pulumi.MapOutput { + return o.ApplyT(func(v ClusterMasterAttachmentMasterConfigGpuArgs) map[string]interface{} { return v.Cuda }).(pulumi.MapOutput) +} + +// cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `docName`: Doc name of cuDNN; `devName`: Dev name of cuDNN. +func (o ClusterMasterAttachmentMasterConfigGpuArgsOutput) Cudnn() pulumi.MapOutput { + return o.ApplyT(func(v ClusterMasterAttachmentMasterConfigGpuArgs) map[string]interface{} { return v.Cudnn }).(pulumi.MapOutput) +} + +// Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. +func (o ClusterMasterAttachmentMasterConfigGpuArgsOutput) CustomDriver() pulumi.MapOutput { + return o.ApplyT(func(v ClusterMasterAttachmentMasterConfigGpuArgs) map[string]interface{} { return v.CustomDriver }).(pulumi.MapOutput) +} + +// GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. +func (o ClusterMasterAttachmentMasterConfigGpuArgsOutput) Driver() pulumi.MapOutput { + return o.ApplyT(func(v ClusterMasterAttachmentMasterConfigGpuArgs) map[string]interface{} { return v.Driver }).(pulumi.MapOutput) +} + +// Whether to enable MIG. +func (o ClusterMasterAttachmentMasterConfigGpuArgsOutput) MigEnable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ClusterMasterAttachmentMasterConfigGpuArgs) *bool { return v.MigEnable }).(pulumi.BoolPtrOutput) +} + +type ClusterMasterAttachmentMasterConfigGpuArgsPtrOutput struct{ *pulumi.OutputState } + +func (ClusterMasterAttachmentMasterConfigGpuArgsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterMasterAttachmentMasterConfigGpuArgs)(nil)).Elem() +} + +func (o ClusterMasterAttachmentMasterConfigGpuArgsPtrOutput) ToClusterMasterAttachmentMasterConfigGpuArgsPtrOutput() ClusterMasterAttachmentMasterConfigGpuArgsPtrOutput { + return o +} + +func (o ClusterMasterAttachmentMasterConfigGpuArgsPtrOutput) ToClusterMasterAttachmentMasterConfigGpuArgsPtrOutputWithContext(ctx context.Context) ClusterMasterAttachmentMasterConfigGpuArgsPtrOutput { + return o +} + +func (o ClusterMasterAttachmentMasterConfigGpuArgsPtrOutput) Elem() ClusterMasterAttachmentMasterConfigGpuArgsOutput { + return o.ApplyT(func(v *ClusterMasterAttachmentMasterConfigGpuArgs) ClusterMasterAttachmentMasterConfigGpuArgs { + if v != nil { + return *v + } + var ret ClusterMasterAttachmentMasterConfigGpuArgs + return ret + }).(ClusterMasterAttachmentMasterConfigGpuArgsOutput) +} + +// CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. +func (o ClusterMasterAttachmentMasterConfigGpuArgsPtrOutput) Cuda() pulumi.MapOutput { + return o.ApplyT(func(v *ClusterMasterAttachmentMasterConfigGpuArgs) map[string]interface{} { + if v == nil { + return nil + } + return v.Cuda + }).(pulumi.MapOutput) +} + +// cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `docName`: Doc name of cuDNN; `devName`: Dev name of cuDNN. +func (o ClusterMasterAttachmentMasterConfigGpuArgsPtrOutput) Cudnn() pulumi.MapOutput { + return o.ApplyT(func(v *ClusterMasterAttachmentMasterConfigGpuArgs) map[string]interface{} { + if v == nil { + return nil + } + return v.Cudnn + }).(pulumi.MapOutput) +} + +// Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. +func (o ClusterMasterAttachmentMasterConfigGpuArgsPtrOutput) CustomDriver() pulumi.MapOutput { + return o.ApplyT(func(v *ClusterMasterAttachmentMasterConfigGpuArgs) map[string]interface{} { + if v == nil { + return nil + } + return v.CustomDriver + }).(pulumi.MapOutput) +} + +// GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. +func (o ClusterMasterAttachmentMasterConfigGpuArgsPtrOutput) Driver() pulumi.MapOutput { + return o.ApplyT(func(v *ClusterMasterAttachmentMasterConfigGpuArgs) map[string]interface{} { + if v == nil { + return nil + } + return v.Driver + }).(pulumi.MapOutput) +} + +// Whether to enable MIG. +func (o ClusterMasterAttachmentMasterConfigGpuArgsPtrOutput) MigEnable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ClusterMasterAttachmentMasterConfigGpuArgs) *bool { + if v == nil { + return nil + } + return v.MigEnable + }).(pulumi.BoolPtrOutput) } -func (i ClusterExtensionAddonArray) ToClusterExtensionAddonArrayOutputWithContext(ctx context.Context) ClusterExtensionAddonArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterExtensionAddonArrayOutput) +type ClusterMasterAttachmentMasterConfigLabel struct { + // Name of map. + Name string `pulumi:"name"` + // Value of map. + Value string `pulumi:"value"` } -type ClusterExtensionAddonOutput struct{ *pulumi.OutputState } +// ClusterMasterAttachmentMasterConfigLabelInput is an input type that accepts ClusterMasterAttachmentMasterConfigLabelArgs and ClusterMasterAttachmentMasterConfigLabelOutput values. +// You can construct a concrete instance of `ClusterMasterAttachmentMasterConfigLabelInput` via: +// +// ClusterMasterAttachmentMasterConfigLabelArgs{...} +type ClusterMasterAttachmentMasterConfigLabelInput interface { + pulumi.Input -func (ClusterExtensionAddonOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterExtensionAddon)(nil)).Elem() + ToClusterMasterAttachmentMasterConfigLabelOutput() ClusterMasterAttachmentMasterConfigLabelOutput + ToClusterMasterAttachmentMasterConfigLabelOutputWithContext(context.Context) ClusterMasterAttachmentMasterConfigLabelOutput } -func (o ClusterExtensionAddonOutput) ToClusterExtensionAddonOutput() ClusterExtensionAddonOutput { - return o +type ClusterMasterAttachmentMasterConfigLabelArgs struct { + // Name of map. + Name pulumi.StringInput `pulumi:"name"` + // Value of map. + Value pulumi.StringInput `pulumi:"value"` } -func (o ClusterExtensionAddonOutput) ToClusterExtensionAddonOutputWithContext(ctx context.Context) ClusterExtensionAddonOutput { - return o +func (ClusterMasterAttachmentMasterConfigLabelArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterMasterAttachmentMasterConfigLabel)(nil)).Elem() } -// Add-on name. -func (o ClusterExtensionAddonOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v ClusterExtensionAddon) string { return v.Name }).(pulumi.StringOutput) +func (i ClusterMasterAttachmentMasterConfigLabelArgs) ToClusterMasterAttachmentMasterConfigLabelOutput() ClusterMasterAttachmentMasterConfigLabelOutput { + return i.ToClusterMasterAttachmentMasterConfigLabelOutputWithContext(context.Background()) } -// Parameter of the add-on resource object in JSON string format, please check the example at the top of page for reference. -func (o ClusterExtensionAddonOutput) Param() pulumi.StringOutput { - return o.ApplyT(func(v ClusterExtensionAddon) string { return v.Param }).(pulumi.StringOutput) +func (i ClusterMasterAttachmentMasterConfigLabelArgs) ToClusterMasterAttachmentMasterConfigLabelOutputWithContext(ctx context.Context) ClusterMasterAttachmentMasterConfigLabelOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterMasterAttachmentMasterConfigLabelOutput) } -type ClusterExtensionAddonArrayOutput struct{ *pulumi.OutputState } +// ClusterMasterAttachmentMasterConfigLabelArrayInput is an input type that accepts ClusterMasterAttachmentMasterConfigLabelArray and ClusterMasterAttachmentMasterConfigLabelArrayOutput values. +// You can construct a concrete instance of `ClusterMasterAttachmentMasterConfigLabelArrayInput` via: +// +// ClusterMasterAttachmentMasterConfigLabelArray{ ClusterMasterAttachmentMasterConfigLabelArgs{...} } +type ClusterMasterAttachmentMasterConfigLabelArrayInput interface { + pulumi.Input -func (ClusterExtensionAddonArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ClusterExtensionAddon)(nil)).Elem() + ToClusterMasterAttachmentMasterConfigLabelArrayOutput() ClusterMasterAttachmentMasterConfigLabelArrayOutput + ToClusterMasterAttachmentMasterConfigLabelArrayOutputWithContext(context.Context) ClusterMasterAttachmentMasterConfigLabelArrayOutput } -func (o ClusterExtensionAddonArrayOutput) ToClusterExtensionAddonArrayOutput() ClusterExtensionAddonArrayOutput { - return o +type ClusterMasterAttachmentMasterConfigLabelArray []ClusterMasterAttachmentMasterConfigLabelInput + +func (ClusterMasterAttachmentMasterConfigLabelArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterMasterAttachmentMasterConfigLabel)(nil)).Elem() } -func (o ClusterExtensionAddonArrayOutput) ToClusterExtensionAddonArrayOutputWithContext(ctx context.Context) ClusterExtensionAddonArrayOutput { - return o +func (i ClusterMasterAttachmentMasterConfigLabelArray) ToClusterMasterAttachmentMasterConfigLabelArrayOutput() ClusterMasterAttachmentMasterConfigLabelArrayOutput { + return i.ToClusterMasterAttachmentMasterConfigLabelArrayOutputWithContext(context.Background()) } -func (o ClusterExtensionAddonArrayOutput) Index(i pulumi.IntInput) ClusterExtensionAddonOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ClusterExtensionAddon { - return vs[0].([]ClusterExtensionAddon)[vs[1].(int)] - }).(ClusterExtensionAddonOutput) +func (i ClusterMasterAttachmentMasterConfigLabelArray) ToClusterMasterAttachmentMasterConfigLabelArrayOutputWithContext(ctx context.Context) ClusterMasterAttachmentMasterConfigLabelArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterMasterAttachmentMasterConfigLabelArrayOutput) } -type ClusterLogAgent struct { - // Whether the log agent enabled. - Enabled bool `pulumi:"enabled"` - // Kubelet root directory as the literal. - KubeletRootDir *string `pulumi:"kubeletRootDir"` +type ClusterMasterAttachmentMasterConfigLabelOutput struct{ *pulumi.OutputState } + +func (ClusterMasterAttachmentMasterConfigLabelOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterMasterAttachmentMasterConfigLabel)(nil)).Elem() } -// ClusterLogAgentInput is an input type that accepts ClusterLogAgentArgs and ClusterLogAgentOutput values. -// You can construct a concrete instance of `ClusterLogAgentInput` via: -// -// ClusterLogAgentArgs{...} -type ClusterLogAgentInput interface { - pulumi.Input +func (o ClusterMasterAttachmentMasterConfigLabelOutput) ToClusterMasterAttachmentMasterConfigLabelOutput() ClusterMasterAttachmentMasterConfigLabelOutput { + return o +} - ToClusterLogAgentOutput() ClusterLogAgentOutput - ToClusterLogAgentOutputWithContext(context.Context) ClusterLogAgentOutput +func (o ClusterMasterAttachmentMasterConfigLabelOutput) ToClusterMasterAttachmentMasterConfigLabelOutputWithContext(ctx context.Context) ClusterMasterAttachmentMasterConfigLabelOutput { + return o } -type ClusterLogAgentArgs struct { - // Whether the log agent enabled. - Enabled pulumi.BoolInput `pulumi:"enabled"` - // Kubelet root directory as the literal. - KubeletRootDir pulumi.StringPtrInput `pulumi:"kubeletRootDir"` +// Name of map. +func (o ClusterMasterAttachmentMasterConfigLabelOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v ClusterMasterAttachmentMasterConfigLabel) string { return v.Name }).(pulumi.StringOutput) } -func (ClusterLogAgentArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterLogAgent)(nil)).Elem() +// Value of map. +func (o ClusterMasterAttachmentMasterConfigLabelOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v ClusterMasterAttachmentMasterConfigLabel) string { return v.Value }).(pulumi.StringOutput) } -func (i ClusterLogAgentArgs) ToClusterLogAgentOutput() ClusterLogAgentOutput { - return i.ToClusterLogAgentOutputWithContext(context.Background()) +type ClusterMasterAttachmentMasterConfigLabelArrayOutput struct{ *pulumi.OutputState } + +func (ClusterMasterAttachmentMasterConfigLabelArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterMasterAttachmentMasterConfigLabel)(nil)).Elem() } -func (i ClusterLogAgentArgs) ToClusterLogAgentOutputWithContext(ctx context.Context) ClusterLogAgentOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterLogAgentOutput) +func (o ClusterMasterAttachmentMasterConfigLabelArrayOutput) ToClusterMasterAttachmentMasterConfigLabelArrayOutput() ClusterMasterAttachmentMasterConfigLabelArrayOutput { + return o } -func (i ClusterLogAgentArgs) ToClusterLogAgentPtrOutput() ClusterLogAgentPtrOutput { - return i.ToClusterLogAgentPtrOutputWithContext(context.Background()) +func (o ClusterMasterAttachmentMasterConfigLabelArrayOutput) ToClusterMasterAttachmentMasterConfigLabelArrayOutputWithContext(ctx context.Context) ClusterMasterAttachmentMasterConfigLabelArrayOutput { + return o } -func (i ClusterLogAgentArgs) ToClusterLogAgentPtrOutputWithContext(ctx context.Context) ClusterLogAgentPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterLogAgentOutput).ToClusterLogAgentPtrOutputWithContext(ctx) +func (o ClusterMasterAttachmentMasterConfigLabelArrayOutput) Index(i pulumi.IntInput) ClusterMasterAttachmentMasterConfigLabelOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ClusterMasterAttachmentMasterConfigLabel { + return vs[0].([]ClusterMasterAttachmentMasterConfigLabel)[vs[1].(int)] + }).(ClusterMasterAttachmentMasterConfigLabelOutput) } -// ClusterLogAgentPtrInput is an input type that accepts ClusterLogAgentArgs, ClusterLogAgentPtr and ClusterLogAgentPtrOutput values. -// You can construct a concrete instance of `ClusterLogAgentPtrInput` via: -// -// ClusterLogAgentArgs{...} -// -// or: +type ClusterMasterAttachmentMasterConfigTaint struct { + // Effect of the taint. + Effect *string `pulumi:"effect"` + // Key of the taint. + Key *string `pulumi:"key"` + // Value of the taint. + Value *string `pulumi:"value"` +} + +// ClusterMasterAttachmentMasterConfigTaintInput is an input type that accepts ClusterMasterAttachmentMasterConfigTaintArgs and ClusterMasterAttachmentMasterConfigTaintOutput values. +// You can construct a concrete instance of `ClusterMasterAttachmentMasterConfigTaintInput` via: // -// nil -type ClusterLogAgentPtrInput interface { +// ClusterMasterAttachmentMasterConfigTaintArgs{...} +type ClusterMasterAttachmentMasterConfigTaintInput interface { pulumi.Input - ToClusterLogAgentPtrOutput() ClusterLogAgentPtrOutput - ToClusterLogAgentPtrOutputWithContext(context.Context) ClusterLogAgentPtrOutput + ToClusterMasterAttachmentMasterConfigTaintOutput() ClusterMasterAttachmentMasterConfigTaintOutput + ToClusterMasterAttachmentMasterConfigTaintOutputWithContext(context.Context) ClusterMasterAttachmentMasterConfigTaintOutput } -type clusterLogAgentPtrType ClusterLogAgentArgs - -func ClusterLogAgentPtr(v *ClusterLogAgentArgs) ClusterLogAgentPtrInput { - return (*clusterLogAgentPtrType)(v) +type ClusterMasterAttachmentMasterConfigTaintArgs struct { + // Effect of the taint. + Effect pulumi.StringPtrInput `pulumi:"effect"` + // Key of the taint. + Key pulumi.StringPtrInput `pulumi:"key"` + // Value of the taint. + Value pulumi.StringPtrInput `pulumi:"value"` } -func (*clusterLogAgentPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterLogAgent)(nil)).Elem() +func (ClusterMasterAttachmentMasterConfigTaintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterMasterAttachmentMasterConfigTaint)(nil)).Elem() } -func (i *clusterLogAgentPtrType) ToClusterLogAgentPtrOutput() ClusterLogAgentPtrOutput { - return i.ToClusterLogAgentPtrOutputWithContext(context.Background()) +func (i ClusterMasterAttachmentMasterConfigTaintArgs) ToClusterMasterAttachmentMasterConfigTaintOutput() ClusterMasterAttachmentMasterConfigTaintOutput { + return i.ToClusterMasterAttachmentMasterConfigTaintOutputWithContext(context.Background()) } -func (i *clusterLogAgentPtrType) ToClusterLogAgentPtrOutputWithContext(ctx context.Context) ClusterLogAgentPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ClusterLogAgentPtrOutput) +func (i ClusterMasterAttachmentMasterConfigTaintArgs) ToClusterMasterAttachmentMasterConfigTaintOutputWithContext(ctx context.Context) ClusterMasterAttachmentMasterConfigTaintOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterMasterAttachmentMasterConfigTaintOutput) } -type ClusterLogAgentOutput struct{ *pulumi.OutputState } +// ClusterMasterAttachmentMasterConfigTaintArrayInput is an input type that accepts ClusterMasterAttachmentMasterConfigTaintArray and ClusterMasterAttachmentMasterConfigTaintArrayOutput values. +// You can construct a concrete instance of `ClusterMasterAttachmentMasterConfigTaintArrayInput` via: +// +// ClusterMasterAttachmentMasterConfigTaintArray{ ClusterMasterAttachmentMasterConfigTaintArgs{...} } +type ClusterMasterAttachmentMasterConfigTaintArrayInput interface { + pulumi.Input -func (ClusterLogAgentOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterLogAgent)(nil)).Elem() + ToClusterMasterAttachmentMasterConfigTaintArrayOutput() ClusterMasterAttachmentMasterConfigTaintArrayOutput + ToClusterMasterAttachmentMasterConfigTaintArrayOutputWithContext(context.Context) ClusterMasterAttachmentMasterConfigTaintArrayOutput } -func (o ClusterLogAgentOutput) ToClusterLogAgentOutput() ClusterLogAgentOutput { - return o +type ClusterMasterAttachmentMasterConfigTaintArray []ClusterMasterAttachmentMasterConfigTaintInput + +func (ClusterMasterAttachmentMasterConfigTaintArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterMasterAttachmentMasterConfigTaint)(nil)).Elem() } -func (o ClusterLogAgentOutput) ToClusterLogAgentOutputWithContext(ctx context.Context) ClusterLogAgentOutput { - return o +func (i ClusterMasterAttachmentMasterConfigTaintArray) ToClusterMasterAttachmentMasterConfigTaintArrayOutput() ClusterMasterAttachmentMasterConfigTaintArrayOutput { + return i.ToClusterMasterAttachmentMasterConfigTaintArrayOutputWithContext(context.Background()) } -func (o ClusterLogAgentOutput) ToClusterLogAgentPtrOutput() ClusterLogAgentPtrOutput { - return o.ToClusterLogAgentPtrOutputWithContext(context.Background()) +func (i ClusterMasterAttachmentMasterConfigTaintArray) ToClusterMasterAttachmentMasterConfigTaintArrayOutputWithContext(ctx context.Context) ClusterMasterAttachmentMasterConfigTaintArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterMasterAttachmentMasterConfigTaintArrayOutput) } -func (o ClusterLogAgentOutput) ToClusterLogAgentPtrOutputWithContext(ctx context.Context) ClusterLogAgentPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterLogAgent) *ClusterLogAgent { - return &v - }).(ClusterLogAgentPtrOutput) +type ClusterMasterAttachmentMasterConfigTaintOutput struct{ *pulumi.OutputState } + +func (ClusterMasterAttachmentMasterConfigTaintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterMasterAttachmentMasterConfigTaint)(nil)).Elem() } -// Whether the log agent enabled. -func (o ClusterLogAgentOutput) Enabled() pulumi.BoolOutput { - return o.ApplyT(func(v ClusterLogAgent) bool { return v.Enabled }).(pulumi.BoolOutput) +func (o ClusterMasterAttachmentMasterConfigTaintOutput) ToClusterMasterAttachmentMasterConfigTaintOutput() ClusterMasterAttachmentMasterConfigTaintOutput { + return o } -// Kubelet root directory as the literal. -func (o ClusterLogAgentOutput) KubeletRootDir() pulumi.StringPtrOutput { - return o.ApplyT(func(v ClusterLogAgent) *string { return v.KubeletRootDir }).(pulumi.StringPtrOutput) +func (o ClusterMasterAttachmentMasterConfigTaintOutput) ToClusterMasterAttachmentMasterConfigTaintOutputWithContext(ctx context.Context) ClusterMasterAttachmentMasterConfigTaintOutput { + return o } -type ClusterLogAgentPtrOutput struct{ *pulumi.OutputState } +// Effect of the taint. +func (o ClusterMasterAttachmentMasterConfigTaintOutput) Effect() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterMasterAttachmentMasterConfigTaint) *string { return v.Effect }).(pulumi.StringPtrOutput) +} -func (ClusterLogAgentPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ClusterLogAgent)(nil)).Elem() +// Key of the taint. +func (o ClusterMasterAttachmentMasterConfigTaintOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterMasterAttachmentMasterConfigTaint) *string { return v.Key }).(pulumi.StringPtrOutput) } -func (o ClusterLogAgentPtrOutput) ToClusterLogAgentPtrOutput() ClusterLogAgentPtrOutput { - return o +// Value of the taint. +func (o ClusterMasterAttachmentMasterConfigTaintOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterMasterAttachmentMasterConfigTaint) *string { return v.Value }).(pulumi.StringPtrOutput) } -func (o ClusterLogAgentPtrOutput) ToClusterLogAgentPtrOutputWithContext(ctx context.Context) ClusterLogAgentPtrOutput { - return o +type ClusterMasterAttachmentMasterConfigTaintArrayOutput struct{ *pulumi.OutputState } + +func (ClusterMasterAttachmentMasterConfigTaintArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterMasterAttachmentMasterConfigTaint)(nil)).Elem() } -func (o ClusterLogAgentPtrOutput) Elem() ClusterLogAgentOutput { - return o.ApplyT(func(v *ClusterLogAgent) ClusterLogAgent { - if v != nil { - return *v - } - var ret ClusterLogAgent - return ret - }).(ClusterLogAgentOutput) +func (o ClusterMasterAttachmentMasterConfigTaintArrayOutput) ToClusterMasterAttachmentMasterConfigTaintArrayOutput() ClusterMasterAttachmentMasterConfigTaintArrayOutput { + return o } -// Whether the log agent enabled. -func (o ClusterLogAgentPtrOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ClusterLogAgent) *bool { - if v == nil { - return nil - } - return &v.Enabled - }).(pulumi.BoolPtrOutput) +func (o ClusterMasterAttachmentMasterConfigTaintArrayOutput) ToClusterMasterAttachmentMasterConfigTaintArrayOutputWithContext(ctx context.Context) ClusterMasterAttachmentMasterConfigTaintArrayOutput { + return o } -// Kubelet root directory as the literal. -func (o ClusterLogAgentPtrOutput) KubeletRootDir() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ClusterLogAgent) *string { - if v == nil { - return nil - } - return v.KubeletRootDir - }).(pulumi.StringPtrOutput) +func (o ClusterMasterAttachmentMasterConfigTaintArrayOutput) Index(i pulumi.IntInput) ClusterMasterAttachmentMasterConfigTaintOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ClusterMasterAttachmentMasterConfigTaint { + return vs[0].([]ClusterMasterAttachmentMasterConfigTaint)[vs[1].(int)] + }).(ClusterMasterAttachmentMasterConfigTaintOutput) } type ClusterMasterConfig struct { @@ -3205,44 +5949,159 @@ func (o ClusterNodePoolGlobalConfigOutput) ScaleInDelay() pulumi.IntPtrOutput { return o.ApplyT(func(v ClusterNodePoolGlobalConfig) *int { return v.ScaleInDelay }).(pulumi.IntPtrOutput) } -// Number of consecutive minutes of idleness after which the node is subject to scale-in. -func (o ClusterNodePoolGlobalConfigOutput) ScaleInUnneededTime() pulumi.IntPtrOutput { - return o.ApplyT(func(v ClusterNodePoolGlobalConfig) *int { return v.ScaleInUnneededTime }).(pulumi.IntPtrOutput) +// Number of consecutive minutes of idleness after which the node is subject to scale-in. +func (o ClusterNodePoolGlobalConfigOutput) ScaleInUnneededTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v ClusterNodePoolGlobalConfig) *int { return v.ScaleInUnneededTime }).(pulumi.IntPtrOutput) +} + +// Percentage of node resource usage below which the node is considered to be idle. +func (o ClusterNodePoolGlobalConfigOutput) ScaleInUtilizationThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v ClusterNodePoolGlobalConfig) *int { return v.ScaleInUtilizationThreshold }).(pulumi.IntPtrOutput) +} + +// During scale-in, ignore nodes with local storage pods. +func (o ClusterNodePoolGlobalConfigOutput) SkipNodesWithLocalStorage() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ClusterNodePoolGlobalConfig) *bool { return v.SkipNodesWithLocalStorage }).(pulumi.BoolPtrOutput) +} + +// During scale-in, ignore nodes with pods in the kube-system namespace that are not managed by DaemonSet. +func (o ClusterNodePoolGlobalConfigOutput) SkipNodesWithSystemPods() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ClusterNodePoolGlobalConfig) *bool { return v.SkipNodesWithSystemPods }).(pulumi.BoolPtrOutput) +} + +type ClusterNodePoolGlobalConfigArrayOutput struct{ *pulumi.OutputState } + +func (ClusterNodePoolGlobalConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterNodePoolGlobalConfig)(nil)).Elem() +} + +func (o ClusterNodePoolGlobalConfigArrayOutput) ToClusterNodePoolGlobalConfigArrayOutput() ClusterNodePoolGlobalConfigArrayOutput { + return o +} + +func (o ClusterNodePoolGlobalConfigArrayOutput) ToClusterNodePoolGlobalConfigArrayOutputWithContext(ctx context.Context) ClusterNodePoolGlobalConfigArrayOutput { + return o +} + +func (o ClusterNodePoolGlobalConfigArrayOutput) Index(i pulumi.IntInput) ClusterNodePoolGlobalConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ClusterNodePoolGlobalConfig { + return vs[0].([]ClusterNodePoolGlobalConfig)[vs[1].(int)] + }).(ClusterNodePoolGlobalConfigOutput) +} + +type ClusterResourceDeleteOption struct { + // The deletion mode of CBS resources when the cluster is deleted, `terminate` (destroy), `retain` (retain). Other resources are deleted by default. + DeleteMode string `pulumi:"deleteMode"` + // Resource type, valid values are `CBS`, `CLB`, and `CVM`. + ResourceType string `pulumi:"resourceType"` + // Whether to skip resources with deletion protection enabled, the default is false. + SkipDeletionProtection *bool `pulumi:"skipDeletionProtection"` +} + +// ClusterResourceDeleteOptionInput is an input type that accepts ClusterResourceDeleteOptionArgs and ClusterResourceDeleteOptionOutput values. +// You can construct a concrete instance of `ClusterResourceDeleteOptionInput` via: +// +// ClusterResourceDeleteOptionArgs{...} +type ClusterResourceDeleteOptionInput interface { + pulumi.Input + + ToClusterResourceDeleteOptionOutput() ClusterResourceDeleteOptionOutput + ToClusterResourceDeleteOptionOutputWithContext(context.Context) ClusterResourceDeleteOptionOutput +} + +type ClusterResourceDeleteOptionArgs struct { + // The deletion mode of CBS resources when the cluster is deleted, `terminate` (destroy), `retain` (retain). Other resources are deleted by default. + DeleteMode pulumi.StringInput `pulumi:"deleteMode"` + // Resource type, valid values are `CBS`, `CLB`, and `CVM`. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // Whether to skip resources with deletion protection enabled, the default is false. + SkipDeletionProtection pulumi.BoolPtrInput `pulumi:"skipDeletionProtection"` +} + +func (ClusterResourceDeleteOptionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterResourceDeleteOption)(nil)).Elem() +} + +func (i ClusterResourceDeleteOptionArgs) ToClusterResourceDeleteOptionOutput() ClusterResourceDeleteOptionOutput { + return i.ToClusterResourceDeleteOptionOutputWithContext(context.Background()) +} + +func (i ClusterResourceDeleteOptionArgs) ToClusterResourceDeleteOptionOutputWithContext(ctx context.Context) ClusterResourceDeleteOptionOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterResourceDeleteOptionOutput) +} + +// ClusterResourceDeleteOptionArrayInput is an input type that accepts ClusterResourceDeleteOptionArray and ClusterResourceDeleteOptionArrayOutput values. +// You can construct a concrete instance of `ClusterResourceDeleteOptionArrayInput` via: +// +// ClusterResourceDeleteOptionArray{ ClusterResourceDeleteOptionArgs{...} } +type ClusterResourceDeleteOptionArrayInput interface { + pulumi.Input + + ToClusterResourceDeleteOptionArrayOutput() ClusterResourceDeleteOptionArrayOutput + ToClusterResourceDeleteOptionArrayOutputWithContext(context.Context) ClusterResourceDeleteOptionArrayOutput +} + +type ClusterResourceDeleteOptionArray []ClusterResourceDeleteOptionInput + +func (ClusterResourceDeleteOptionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterResourceDeleteOption)(nil)).Elem() +} + +func (i ClusterResourceDeleteOptionArray) ToClusterResourceDeleteOptionArrayOutput() ClusterResourceDeleteOptionArrayOutput { + return i.ToClusterResourceDeleteOptionArrayOutputWithContext(context.Background()) +} + +func (i ClusterResourceDeleteOptionArray) ToClusterResourceDeleteOptionArrayOutputWithContext(ctx context.Context) ClusterResourceDeleteOptionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterResourceDeleteOptionArrayOutput) +} + +type ClusterResourceDeleteOptionOutput struct{ *pulumi.OutputState } + +func (ClusterResourceDeleteOptionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterResourceDeleteOption)(nil)).Elem() +} + +func (o ClusterResourceDeleteOptionOutput) ToClusterResourceDeleteOptionOutput() ClusterResourceDeleteOptionOutput { + return o +} + +func (o ClusterResourceDeleteOptionOutput) ToClusterResourceDeleteOptionOutputWithContext(ctx context.Context) ClusterResourceDeleteOptionOutput { + return o } -// Percentage of node resource usage below which the node is considered to be idle. -func (o ClusterNodePoolGlobalConfigOutput) ScaleInUtilizationThreshold() pulumi.IntPtrOutput { - return o.ApplyT(func(v ClusterNodePoolGlobalConfig) *int { return v.ScaleInUtilizationThreshold }).(pulumi.IntPtrOutput) +// The deletion mode of CBS resources when the cluster is deleted, `terminate` (destroy), `retain` (retain). Other resources are deleted by default. +func (o ClusterResourceDeleteOptionOutput) DeleteMode() pulumi.StringOutput { + return o.ApplyT(func(v ClusterResourceDeleteOption) string { return v.DeleteMode }).(pulumi.StringOutput) } -// During scale-in, ignore nodes with local storage pods. -func (o ClusterNodePoolGlobalConfigOutput) SkipNodesWithLocalStorage() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ClusterNodePoolGlobalConfig) *bool { return v.SkipNodesWithLocalStorage }).(pulumi.BoolPtrOutput) +// Resource type, valid values are `CBS`, `CLB`, and `CVM`. +func (o ClusterResourceDeleteOptionOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v ClusterResourceDeleteOption) string { return v.ResourceType }).(pulumi.StringOutput) } -// During scale-in, ignore nodes with pods in the kube-system namespace that are not managed by DaemonSet. -func (o ClusterNodePoolGlobalConfigOutput) SkipNodesWithSystemPods() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ClusterNodePoolGlobalConfig) *bool { return v.SkipNodesWithSystemPods }).(pulumi.BoolPtrOutput) +// Whether to skip resources with deletion protection enabled, the default is false. +func (o ClusterResourceDeleteOptionOutput) SkipDeletionProtection() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ClusterResourceDeleteOption) *bool { return v.SkipDeletionProtection }).(pulumi.BoolPtrOutput) } -type ClusterNodePoolGlobalConfigArrayOutput struct{ *pulumi.OutputState } +type ClusterResourceDeleteOptionArrayOutput struct{ *pulumi.OutputState } -func (ClusterNodePoolGlobalConfigArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ClusterNodePoolGlobalConfig)(nil)).Elem() +func (ClusterResourceDeleteOptionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterResourceDeleteOption)(nil)).Elem() } -func (o ClusterNodePoolGlobalConfigArrayOutput) ToClusterNodePoolGlobalConfigArrayOutput() ClusterNodePoolGlobalConfigArrayOutput { +func (o ClusterResourceDeleteOptionArrayOutput) ToClusterResourceDeleteOptionArrayOutput() ClusterResourceDeleteOptionArrayOutput { return o } -func (o ClusterNodePoolGlobalConfigArrayOutput) ToClusterNodePoolGlobalConfigArrayOutputWithContext(ctx context.Context) ClusterNodePoolGlobalConfigArrayOutput { +func (o ClusterResourceDeleteOptionArrayOutput) ToClusterResourceDeleteOptionArrayOutputWithContext(ctx context.Context) ClusterResourceDeleteOptionArrayOutput { return o } -func (o ClusterNodePoolGlobalConfigArrayOutput) Index(i pulumi.IntInput) ClusterNodePoolGlobalConfigOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ClusterNodePoolGlobalConfig { - return vs[0].([]ClusterNodePoolGlobalConfig)[vs[1].(int)] - }).(ClusterNodePoolGlobalConfigOutput) +func (o ClusterResourceDeleteOptionArrayOutput) Index(i pulumi.IntInput) ClusterResourceDeleteOptionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ClusterResourceDeleteOption { + return vs[0].([]ClusterResourceDeleteOption)[vs[1].(int)] + }).(ClusterResourceDeleteOptionOutput) } type ClusterWorkerConfig struct { @@ -4034,6 +6893,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"` @@ -4271,6 +7245,8 @@ type NativeNodePoolNative struct { KubeletArgs []string `pulumi:"kubeletArgs"` // Predefined scripts. Lifecycle *NativeNodePoolNativeLifecycle `pulumi:"lifecycle"` + // Node pool type. Example value: `NativeCVM` or `Native`. Default is `Native`. + MachineType *string `pulumi:"machineType"` // Node pool management parameter settings. Management *NativeNodePoolNativeManagement `pulumi:"management"` // Desired number of nodes. @@ -4323,6 +7299,8 @@ type NativeNodePoolNativeArgs struct { KubeletArgs pulumi.StringArrayInput `pulumi:"kubeletArgs"` // Predefined scripts. Lifecycle NativeNodePoolNativeLifecyclePtrInput `pulumi:"lifecycle"` + // Node pool type. Example value: `NativeCVM` or `Native`. Default is `Native`. + MachineType pulumi.StringPtrInput `pulumi:"machineType"` // Node pool management parameter settings. Management NativeNodePoolNativeManagementPtrInput `pulumi:"management"` // Desired number of nodes. @@ -4478,6 +7456,11 @@ func (o NativeNodePoolNativeOutput) Lifecycle() NativeNodePoolNativeLifecyclePtr return o.ApplyT(func(v NativeNodePoolNative) *NativeNodePoolNativeLifecycle { return v.Lifecycle }).(NativeNodePoolNativeLifecyclePtrOutput) } +// Node pool type. Example value: `NativeCVM` or `Native`. Default is `Native`. +func (o NativeNodePoolNativeOutput) MachineType() pulumi.StringPtrOutput { + return o.ApplyT(func(v NativeNodePoolNative) *string { return v.MachineType }).(pulumi.StringPtrOutput) +} + // Node pool management parameter settings. func (o NativeNodePoolNativeOutput) Management() NativeNodePoolNativeManagementPtrOutput { return o.ApplyT(func(v NativeNodePoolNative) *NativeNodePoolNativeManagement { return v.Management }).(NativeNodePoolNativeManagementPtrOutput) @@ -4657,6 +7640,16 @@ func (o NativeNodePoolNativePtrOutput) Lifecycle() NativeNodePoolNativeLifecycle }).(NativeNodePoolNativeLifecyclePtrOutput) } +// Node pool type. Example value: `NativeCVM` or `Native`. Default is `Native`. +func (o NativeNodePoolNativePtrOutput) MachineType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NativeNodePoolNative) *string { + if v == nil { + return nil + } + return v.MachineType + }).(pulumi.StringPtrOutput) +} + // Node pool management parameter settings. func (o NativeNodePoolNativePtrOutput) Management() NativeNodePoolNativeManagementPtrOutput { return o.ApplyT(func(v *NativeNodePoolNative) *NativeNodePoolNativeManagement { @@ -6225,6 +9218,112 @@ func (o NativeNodePoolTaintArrayOutput) Index(i pulumi.IntInput) NativeNodePoolT }).(NativeNodePoolTaintOutput) } +type NodePoolAnnotation struct { + // Name in the map table. + Name string `pulumi:"name"` + // Value in the map table. + Value string `pulumi:"value"` +} + +// NodePoolAnnotationInput is an input type that accepts NodePoolAnnotationArgs and NodePoolAnnotationOutput values. +// You can construct a concrete instance of `NodePoolAnnotationInput` via: +// +// NodePoolAnnotationArgs{...} +type NodePoolAnnotationInput interface { + pulumi.Input + + ToNodePoolAnnotationOutput() NodePoolAnnotationOutput + ToNodePoolAnnotationOutputWithContext(context.Context) NodePoolAnnotationOutput +} + +type NodePoolAnnotationArgs struct { + // Name in the map table. + Name pulumi.StringInput `pulumi:"name"` + // Value in the map table. + Value pulumi.StringInput `pulumi:"value"` +} + +func (NodePoolAnnotationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NodePoolAnnotation)(nil)).Elem() +} + +func (i NodePoolAnnotationArgs) ToNodePoolAnnotationOutput() NodePoolAnnotationOutput { + return i.ToNodePoolAnnotationOutputWithContext(context.Background()) +} + +func (i NodePoolAnnotationArgs) ToNodePoolAnnotationOutputWithContext(ctx context.Context) NodePoolAnnotationOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodePoolAnnotationOutput) +} + +// NodePoolAnnotationArrayInput is an input type that accepts NodePoolAnnotationArray and NodePoolAnnotationArrayOutput values. +// You can construct a concrete instance of `NodePoolAnnotationArrayInput` via: +// +// NodePoolAnnotationArray{ NodePoolAnnotationArgs{...} } +type NodePoolAnnotationArrayInput interface { + pulumi.Input + + ToNodePoolAnnotationArrayOutput() NodePoolAnnotationArrayOutput + ToNodePoolAnnotationArrayOutputWithContext(context.Context) NodePoolAnnotationArrayOutput +} + +type NodePoolAnnotationArray []NodePoolAnnotationInput + +func (NodePoolAnnotationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NodePoolAnnotation)(nil)).Elem() +} + +func (i NodePoolAnnotationArray) ToNodePoolAnnotationArrayOutput() NodePoolAnnotationArrayOutput { + return i.ToNodePoolAnnotationArrayOutputWithContext(context.Background()) +} + +func (i NodePoolAnnotationArray) ToNodePoolAnnotationArrayOutputWithContext(ctx context.Context) NodePoolAnnotationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodePoolAnnotationArrayOutput) +} + +type NodePoolAnnotationOutput struct{ *pulumi.OutputState } + +func (NodePoolAnnotationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NodePoolAnnotation)(nil)).Elem() +} + +func (o NodePoolAnnotationOutput) ToNodePoolAnnotationOutput() NodePoolAnnotationOutput { + return o +} + +func (o NodePoolAnnotationOutput) ToNodePoolAnnotationOutputWithContext(ctx context.Context) NodePoolAnnotationOutput { + return o +} + +// Name in the map table. +func (o NodePoolAnnotationOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v NodePoolAnnotation) string { return v.Name }).(pulumi.StringOutput) +} + +// Value in the map table. +func (o NodePoolAnnotationOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v NodePoolAnnotation) string { return v.Value }).(pulumi.StringOutput) +} + +type NodePoolAnnotationArrayOutput struct{ *pulumi.OutputState } + +func (NodePoolAnnotationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NodePoolAnnotation)(nil)).Elem() +} + +func (o NodePoolAnnotationArrayOutput) ToNodePoolAnnotationArrayOutput() NodePoolAnnotationArrayOutput { + return o +} + +func (o NodePoolAnnotationArrayOutput) ToNodePoolAnnotationArrayOutputWithContext(ctx context.Context) NodePoolAnnotationArrayOutput { + return o +} + +func (o NodePoolAnnotationArrayOutput) Index(i pulumi.IntInput) NodePoolAnnotationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NodePoolAnnotation { + return vs[0].([]NodePoolAnnotation)[vs[1].(int)] + }).(NodePoolAnnotationOutput) +} + type NodePoolAutoScalingConfig struct { // Backup CVM instance types if specified instance type sold out or mismatch. BackupInstanceTypes []string `pulumi:"backupInstanceTypes"` @@ -6250,6 +9349,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 +9415,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 +9582,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 +9793,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 +10829,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 +10855,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 +10923,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) @@ -8054,6 +11181,121 @@ func (o ScaleWorkerGpuArgsPtrOutput) MigEnable() pulumi.BoolPtrOutput { }).(pulumi.BoolPtrOutput) } +type ScaleWorkerTaint struct { + // Effect of the taint. + Effect *string `pulumi:"effect"` + // Key of the taint. + Key *string `pulumi:"key"` + // Value of the taint. + Value *string `pulumi:"value"` +} + +// ScaleWorkerTaintInput is an input type that accepts ScaleWorkerTaintArgs and ScaleWorkerTaintOutput values. +// You can construct a concrete instance of `ScaleWorkerTaintInput` via: +// +// ScaleWorkerTaintArgs{...} +type ScaleWorkerTaintInput interface { + pulumi.Input + + ToScaleWorkerTaintOutput() ScaleWorkerTaintOutput + ToScaleWorkerTaintOutputWithContext(context.Context) ScaleWorkerTaintOutput +} + +type ScaleWorkerTaintArgs struct { + // Effect of the taint. + Effect pulumi.StringPtrInput `pulumi:"effect"` + // Key of the taint. + Key pulumi.StringPtrInput `pulumi:"key"` + // Value of the taint. + Value pulumi.StringPtrInput `pulumi:"value"` +} + +func (ScaleWorkerTaintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ScaleWorkerTaint)(nil)).Elem() +} + +func (i ScaleWorkerTaintArgs) ToScaleWorkerTaintOutput() ScaleWorkerTaintOutput { + return i.ToScaleWorkerTaintOutputWithContext(context.Background()) +} + +func (i ScaleWorkerTaintArgs) ToScaleWorkerTaintOutputWithContext(ctx context.Context) ScaleWorkerTaintOutput { + return pulumi.ToOutputWithContext(ctx, i).(ScaleWorkerTaintOutput) +} + +// ScaleWorkerTaintArrayInput is an input type that accepts ScaleWorkerTaintArray and ScaleWorkerTaintArrayOutput values. +// You can construct a concrete instance of `ScaleWorkerTaintArrayInput` via: +// +// ScaleWorkerTaintArray{ ScaleWorkerTaintArgs{...} } +type ScaleWorkerTaintArrayInput interface { + pulumi.Input + + ToScaleWorkerTaintArrayOutput() ScaleWorkerTaintArrayOutput + ToScaleWorkerTaintArrayOutputWithContext(context.Context) ScaleWorkerTaintArrayOutput +} + +type ScaleWorkerTaintArray []ScaleWorkerTaintInput + +func (ScaleWorkerTaintArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ScaleWorkerTaint)(nil)).Elem() +} + +func (i ScaleWorkerTaintArray) ToScaleWorkerTaintArrayOutput() ScaleWorkerTaintArrayOutput { + return i.ToScaleWorkerTaintArrayOutputWithContext(context.Background()) +} + +func (i ScaleWorkerTaintArray) ToScaleWorkerTaintArrayOutputWithContext(ctx context.Context) ScaleWorkerTaintArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ScaleWorkerTaintArrayOutput) +} + +type ScaleWorkerTaintOutput struct{ *pulumi.OutputState } + +func (ScaleWorkerTaintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ScaleWorkerTaint)(nil)).Elem() +} + +func (o ScaleWorkerTaintOutput) ToScaleWorkerTaintOutput() ScaleWorkerTaintOutput { + return o +} + +func (o ScaleWorkerTaintOutput) ToScaleWorkerTaintOutputWithContext(ctx context.Context) ScaleWorkerTaintOutput { + return o +} + +// Effect of the taint. +func (o ScaleWorkerTaintOutput) Effect() pulumi.StringPtrOutput { + return o.ApplyT(func(v ScaleWorkerTaint) *string { return v.Effect }).(pulumi.StringPtrOutput) +} + +// Key of the taint. +func (o ScaleWorkerTaintOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v ScaleWorkerTaint) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Value of the taint. +func (o ScaleWorkerTaintOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v ScaleWorkerTaint) *string { return v.Value }).(pulumi.StringPtrOutput) +} + +type ScaleWorkerTaintArrayOutput struct{ *pulumi.OutputState } + +func (ScaleWorkerTaintArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ScaleWorkerTaint)(nil)).Elem() +} + +func (o ScaleWorkerTaintArrayOutput) ToScaleWorkerTaintArrayOutput() ScaleWorkerTaintArrayOutput { + return o +} + +func (o ScaleWorkerTaintArrayOutput) ToScaleWorkerTaintArrayOutputWithContext(ctx context.Context) ScaleWorkerTaintArrayOutput { + return o +} + +func (o ScaleWorkerTaintArrayOutput) Index(i pulumi.IntInput) ScaleWorkerTaintOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ScaleWorkerTaint { + return vs[0].([]ScaleWorkerTaint)[vs[1].(int)] + }).(ScaleWorkerTaintOutput) +} + type ScaleWorkerWorkerConfig struct { // Indicates which availability zone will be used. AvailabilityZone *string `pulumi:"availabilityZone"` @@ -8063,7 +11305,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 +11373,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 +11518,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 +11697,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 +11929,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 +11943,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 +11969,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 +11983,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 +12048,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 +12077,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 +12089,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) } @@ -9670,6 +12936,10 @@ func (o GetClusterAuthenticationOptionsServiceAccountArrayOutput) Index(i pulumi type GetClusterCommonNamesList struct { // The CommonName in the certificate of the client corresponding to the sub-account. + CommonName string `pulumi:"commonName"` + // (**Deprecated**) It has been deprecated from version 1.81.140. Please use `commonName`. The CommonName in the certificate of the client corresponding to the sub-account. + // + // Deprecated: It has been deprecated from version 1.81.140. Please use `commonName`. CommonNames string `pulumi:"commonNames"` // User UIN. SubaccountUin string `pulumi:"subaccountUin"` @@ -9688,6 +12958,10 @@ type GetClusterCommonNamesListInput interface { type GetClusterCommonNamesListArgs struct { // The CommonName in the certificate of the client corresponding to the sub-account. + CommonName pulumi.StringInput `pulumi:"commonName"` + // (**Deprecated**) It has been deprecated from version 1.81.140. Please use `commonName`. The CommonName in the certificate of the client corresponding to the sub-account. + // + // Deprecated: It has been deprecated from version 1.81.140. Please use `commonName`. CommonNames pulumi.StringInput `pulumi:"commonNames"` // User UIN. SubaccountUin pulumi.StringInput `pulumi:"subaccountUin"` @@ -9745,6 +13019,13 @@ func (o GetClusterCommonNamesListOutput) ToGetClusterCommonNamesListOutputWithCo } // The CommonName in the certificate of the client corresponding to the sub-account. +func (o GetClusterCommonNamesListOutput) CommonName() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterCommonNamesList) string { return v.CommonName }).(pulumi.StringOutput) +} + +// (**Deprecated**) It has been deprecated from version 1.81.140. Please use `commonName`. The CommonName in the certificate of the client corresponding to the sub-account. +// +// Deprecated: It has been deprecated from version 1.81.140. Please use `commonName`. func (o GetClusterCommonNamesListOutput) CommonNames() pulumi.StringOutput { return o.ApplyT(func(v GetClusterCommonNamesList) string { return v.CommonNames }).(pulumi.StringOutput) } @@ -15350,6 +18631,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 +18723,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 +18854,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) @@ -16037,6 +19327,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ClusterAttachmentWorkerConfigOverridesDataDiskArrayInput)(nil)).Elem(), ClusterAttachmentWorkerConfigOverridesDataDiskArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterAttachmentWorkerConfigOverridesGpuArgsInput)(nil)).Elem(), ClusterAttachmentWorkerConfigOverridesGpuArgsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterAttachmentWorkerConfigOverridesGpuArgsPtrInput)(nil)).Elem(), ClusterAttachmentWorkerConfigOverridesGpuArgsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterAttachmentWorkerConfigTaintInput)(nil)).Elem(), ClusterAttachmentWorkerConfigTaintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterAttachmentWorkerConfigTaintArrayInput)(nil)).Elem(), ClusterAttachmentWorkerConfigTaintArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterAuthOptionsInput)(nil)).Elem(), ClusterAuthOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterAuthOptionsPtrInput)(nil)).Elem(), ClusterAuthOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterClusterAuditInput)(nil)).Elem(), ClusterClusterAuditArgs{}) @@ -16049,16 +19341,44 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ClusterExistInstanceArrayInput)(nil)).Elem(), ClusterExistInstanceArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterExistInstanceInstancesParaInput)(nil)).Elem(), ClusterExistInstanceInstancesParaArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterExistInstanceInstancesParaPtrInput)(nil)).Elem(), ClusterExistInstanceInstancesParaArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterExistInstanceInstancesParaMasterConfigInput)(nil)).Elem(), ClusterExistInstanceInstancesParaMasterConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterExistInstanceInstancesParaMasterConfigPtrInput)(nil)).Elem(), ClusterExistInstanceInstancesParaMasterConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterExistInstanceInstancesParaMasterConfigDataDiskInput)(nil)).Elem(), ClusterExistInstanceInstancesParaMasterConfigDataDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterExistInstanceInstancesParaMasterConfigDataDiskPtrInput)(nil)).Elem(), ClusterExistInstanceInstancesParaMasterConfigDataDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterExistInstanceInstancesParaMasterConfigExtraArgsInput)(nil)).Elem(), ClusterExistInstanceInstancesParaMasterConfigExtraArgsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrInput)(nil)).Elem(), ClusterExistInstanceInstancesParaMasterConfigExtraArgsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterExistInstanceInstancesParaMasterConfigGpuArgsInput)(nil)).Elem(), ClusterExistInstanceInstancesParaMasterConfigGpuArgsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrInput)(nil)).Elem(), ClusterExistInstanceInstancesParaMasterConfigGpuArgsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterExistInstanceInstancesParaMasterConfigLabelInput)(nil)).Elem(), ClusterExistInstanceInstancesParaMasterConfigLabelArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterExistInstanceInstancesParaMasterConfigLabelArrayInput)(nil)).Elem(), ClusterExistInstanceInstancesParaMasterConfigLabelArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterExistInstanceInstancesParaMasterConfigTaintInput)(nil)).Elem(), ClusterExistInstanceInstancesParaMasterConfigTaintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterExistInstanceInstancesParaMasterConfigTaintArrayInput)(nil)).Elem(), ClusterExistInstanceInstancesParaMasterConfigTaintArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterExtensionAddonInput)(nil)).Elem(), ClusterExtensionAddonArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterExtensionAddonArrayInput)(nil)).Elem(), ClusterExtensionAddonArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterLogAgentInput)(nil)).Elem(), ClusterLogAgentArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterLogAgentPtrInput)(nil)).Elem(), ClusterLogAgentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterMasterAttachmentExtraArgsInput)(nil)).Elem(), ClusterMasterAttachmentExtraArgsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterMasterAttachmentExtraArgsPtrInput)(nil)).Elem(), ClusterMasterAttachmentExtraArgsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterMasterAttachmentMasterConfigInput)(nil)).Elem(), ClusterMasterAttachmentMasterConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterMasterAttachmentMasterConfigPtrInput)(nil)).Elem(), ClusterMasterAttachmentMasterConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterMasterAttachmentMasterConfigDataDiskInput)(nil)).Elem(), ClusterMasterAttachmentMasterConfigDataDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterMasterAttachmentMasterConfigDataDiskPtrInput)(nil)).Elem(), ClusterMasterAttachmentMasterConfigDataDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterMasterAttachmentMasterConfigExtraArgsInput)(nil)).Elem(), ClusterMasterAttachmentMasterConfigExtraArgsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterMasterAttachmentMasterConfigExtraArgsPtrInput)(nil)).Elem(), ClusterMasterAttachmentMasterConfigExtraArgsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterMasterAttachmentMasterConfigGpuArgsInput)(nil)).Elem(), ClusterMasterAttachmentMasterConfigGpuArgsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterMasterAttachmentMasterConfigGpuArgsPtrInput)(nil)).Elem(), ClusterMasterAttachmentMasterConfigGpuArgsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterMasterAttachmentMasterConfigLabelInput)(nil)).Elem(), ClusterMasterAttachmentMasterConfigLabelArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterMasterAttachmentMasterConfigLabelArrayInput)(nil)).Elem(), ClusterMasterAttachmentMasterConfigLabelArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterMasterAttachmentMasterConfigTaintInput)(nil)).Elem(), ClusterMasterAttachmentMasterConfigTaintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterMasterAttachmentMasterConfigTaintArrayInput)(nil)).Elem(), ClusterMasterAttachmentMasterConfigTaintArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterMasterConfigInput)(nil)).Elem(), ClusterMasterConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterMasterConfigArrayInput)(nil)).Elem(), ClusterMasterConfigArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterMasterConfigDataDiskInput)(nil)).Elem(), ClusterMasterConfigDataDiskArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterMasterConfigDataDiskArrayInput)(nil)).Elem(), ClusterMasterConfigDataDiskArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterNodePoolGlobalConfigInput)(nil)).Elem(), ClusterNodePoolGlobalConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterNodePoolGlobalConfigArrayInput)(nil)).Elem(), ClusterNodePoolGlobalConfigArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterResourceDeleteOptionInput)(nil)).Elem(), ClusterResourceDeleteOptionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterResourceDeleteOptionArrayInput)(nil)).Elem(), ClusterResourceDeleteOptionArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterWorkerConfigInput)(nil)).Elem(), ClusterWorkerConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterWorkerConfigArrayInput)(nil)).Elem(), ClusterWorkerConfigArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterWorkerConfigDataDiskInput)(nil)).Elem(), ClusterWorkerConfigDataDiskArgs{}) @@ -16067,6 +19387,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{}) @@ -16093,6 +19415,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*NativeNodePoolTagTagArrayInput)(nil)).Elem(), NativeNodePoolTagTagArray{}) pulumi.RegisterInputType(reflect.TypeOf((*NativeNodePoolTaintInput)(nil)).Elem(), NativeNodePoolTaintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*NativeNodePoolTaintArrayInput)(nil)).Elem(), NativeNodePoolTaintArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodePoolAnnotationInput)(nil)).Elem(), NodePoolAnnotationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodePoolAnnotationArrayInput)(nil)).Elem(), NodePoolAnnotationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*NodePoolAutoScalingConfigInput)(nil)).Elem(), NodePoolAutoScalingConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*NodePoolAutoScalingConfigPtrInput)(nil)).Elem(), NodePoolAutoScalingConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*NodePoolAutoScalingConfigDataDiskInput)(nil)).Elem(), NodePoolAutoScalingConfigDataDiskArgs{}) @@ -16109,6 +19433,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ScaleWorkerDataDiskArrayInput)(nil)).Elem(), ScaleWorkerDataDiskArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ScaleWorkerGpuArgsInput)(nil)).Elem(), ScaleWorkerGpuArgsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ScaleWorkerGpuArgsPtrInput)(nil)).Elem(), ScaleWorkerGpuArgsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ScaleWorkerTaintInput)(nil)).Elem(), ScaleWorkerTaintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ScaleWorkerTaintArrayInput)(nil)).Elem(), ScaleWorkerTaintArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ScaleWorkerWorkerConfigInput)(nil)).Elem(), ScaleWorkerWorkerConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ScaleWorkerWorkerConfigPtrInput)(nil)).Elem(), ScaleWorkerWorkerConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ScaleWorkerWorkerConfigDataDiskInput)(nil)).Elem(), ScaleWorkerWorkerConfigDataDiskArgs{}) @@ -16233,6 +19559,8 @@ func init() { pulumi.RegisterOutputType(ClusterAttachmentWorkerConfigOverridesDataDiskArrayOutput{}) pulumi.RegisterOutputType(ClusterAttachmentWorkerConfigOverridesGpuArgsOutput{}) pulumi.RegisterOutputType(ClusterAttachmentWorkerConfigOverridesGpuArgsPtrOutput{}) + pulumi.RegisterOutputType(ClusterAttachmentWorkerConfigTaintOutput{}) + pulumi.RegisterOutputType(ClusterAttachmentWorkerConfigTaintArrayOutput{}) pulumi.RegisterOutputType(ClusterAuthOptionsOutput{}) pulumi.RegisterOutputType(ClusterAuthOptionsPtrOutput{}) pulumi.RegisterOutputType(ClusterClusterAuditOutput{}) @@ -16245,16 +19573,44 @@ func init() { pulumi.RegisterOutputType(ClusterExistInstanceArrayOutput{}) pulumi.RegisterOutputType(ClusterExistInstanceInstancesParaOutput{}) pulumi.RegisterOutputType(ClusterExistInstanceInstancesParaPtrOutput{}) + pulumi.RegisterOutputType(ClusterExistInstanceInstancesParaMasterConfigOutput{}) + pulumi.RegisterOutputType(ClusterExistInstanceInstancesParaMasterConfigPtrOutput{}) + pulumi.RegisterOutputType(ClusterExistInstanceInstancesParaMasterConfigDataDiskOutput{}) + pulumi.RegisterOutputType(ClusterExistInstanceInstancesParaMasterConfigDataDiskPtrOutput{}) + pulumi.RegisterOutputType(ClusterExistInstanceInstancesParaMasterConfigExtraArgsOutput{}) + pulumi.RegisterOutputType(ClusterExistInstanceInstancesParaMasterConfigExtraArgsPtrOutput{}) + pulumi.RegisterOutputType(ClusterExistInstanceInstancesParaMasterConfigGpuArgsOutput{}) + pulumi.RegisterOutputType(ClusterExistInstanceInstancesParaMasterConfigGpuArgsPtrOutput{}) + pulumi.RegisterOutputType(ClusterExistInstanceInstancesParaMasterConfigLabelOutput{}) + pulumi.RegisterOutputType(ClusterExistInstanceInstancesParaMasterConfigLabelArrayOutput{}) + pulumi.RegisterOutputType(ClusterExistInstanceInstancesParaMasterConfigTaintOutput{}) + pulumi.RegisterOutputType(ClusterExistInstanceInstancesParaMasterConfigTaintArrayOutput{}) pulumi.RegisterOutputType(ClusterExtensionAddonOutput{}) pulumi.RegisterOutputType(ClusterExtensionAddonArrayOutput{}) pulumi.RegisterOutputType(ClusterLogAgentOutput{}) pulumi.RegisterOutputType(ClusterLogAgentPtrOutput{}) + pulumi.RegisterOutputType(ClusterMasterAttachmentExtraArgsOutput{}) + pulumi.RegisterOutputType(ClusterMasterAttachmentExtraArgsPtrOutput{}) + pulumi.RegisterOutputType(ClusterMasterAttachmentMasterConfigOutput{}) + pulumi.RegisterOutputType(ClusterMasterAttachmentMasterConfigPtrOutput{}) + pulumi.RegisterOutputType(ClusterMasterAttachmentMasterConfigDataDiskOutput{}) + pulumi.RegisterOutputType(ClusterMasterAttachmentMasterConfigDataDiskPtrOutput{}) + pulumi.RegisterOutputType(ClusterMasterAttachmentMasterConfigExtraArgsOutput{}) + pulumi.RegisterOutputType(ClusterMasterAttachmentMasterConfigExtraArgsPtrOutput{}) + pulumi.RegisterOutputType(ClusterMasterAttachmentMasterConfigGpuArgsOutput{}) + pulumi.RegisterOutputType(ClusterMasterAttachmentMasterConfigGpuArgsPtrOutput{}) + pulumi.RegisterOutputType(ClusterMasterAttachmentMasterConfigLabelOutput{}) + pulumi.RegisterOutputType(ClusterMasterAttachmentMasterConfigLabelArrayOutput{}) + pulumi.RegisterOutputType(ClusterMasterAttachmentMasterConfigTaintOutput{}) + pulumi.RegisterOutputType(ClusterMasterAttachmentMasterConfigTaintArrayOutput{}) pulumi.RegisterOutputType(ClusterMasterConfigOutput{}) pulumi.RegisterOutputType(ClusterMasterConfigArrayOutput{}) pulumi.RegisterOutputType(ClusterMasterConfigDataDiskOutput{}) pulumi.RegisterOutputType(ClusterMasterConfigDataDiskArrayOutput{}) pulumi.RegisterOutputType(ClusterNodePoolGlobalConfigOutput{}) pulumi.RegisterOutputType(ClusterNodePoolGlobalConfigArrayOutput{}) + pulumi.RegisterOutputType(ClusterResourceDeleteOptionOutput{}) + pulumi.RegisterOutputType(ClusterResourceDeleteOptionArrayOutput{}) pulumi.RegisterOutputType(ClusterWorkerConfigOutput{}) pulumi.RegisterOutputType(ClusterWorkerConfigArrayOutput{}) pulumi.RegisterOutputType(ClusterWorkerConfigDataDiskOutput{}) @@ -16263,6 +19619,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{}) @@ -16289,6 +19647,8 @@ func init() { pulumi.RegisterOutputType(NativeNodePoolTagTagArrayOutput{}) pulumi.RegisterOutputType(NativeNodePoolTaintOutput{}) pulumi.RegisterOutputType(NativeNodePoolTaintArrayOutput{}) + pulumi.RegisterOutputType(NodePoolAnnotationOutput{}) + pulumi.RegisterOutputType(NodePoolAnnotationArrayOutput{}) pulumi.RegisterOutputType(NodePoolAutoScalingConfigOutput{}) pulumi.RegisterOutputType(NodePoolAutoScalingConfigPtrOutput{}) pulumi.RegisterOutputType(NodePoolAutoScalingConfigDataDiskOutput{}) @@ -16305,6 +19665,8 @@ func init() { pulumi.RegisterOutputType(ScaleWorkerDataDiskArrayOutput{}) pulumi.RegisterOutputType(ScaleWorkerGpuArgsOutput{}) pulumi.RegisterOutputType(ScaleWorkerGpuArgsPtrOutput{}) + pulumi.RegisterOutputType(ScaleWorkerTaintOutput{}) + pulumi.RegisterOutputType(ScaleWorkerTaintArrayOutput{}) pulumi.RegisterOutputType(ScaleWorkerWorkerConfigOutput{}) pulumi.RegisterOutputType(ScaleWorkerWorkerConfigPtrOutput{}) pulumi.RegisterOutputType(ScaleWorkerWorkerConfigDataDiskOutput{}) diff --git a/sdk/go/tencentcloud/kubernetes/scaleWorker.go b/sdk/go/tencentcloud/kubernetes/scaleWorker.go index 4f0ce20a4..8f281d462 100644 --- a/sdk/go/tencentcloud/kubernetes/scaleWorker.go +++ b/sdk/go/tencentcloud/kubernetes/scaleWorker.go @@ -18,6 +18,8 @@ import ( // // > **NOTE:** Import Node: Currently, only one node can be imported at a time. // +// > **NOTE:** If you need to view error messages during instance creation, you can use parameter `createResultOutputFile` to set the file save path +// // ## Example Usage // // @@ -47,7 +49,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{ @@ -75,6 +77,7 @@ import ( // UserData: pulumi.String("dGVzdA=="), // Password: pulumi.String("AABBccdd1122"), // }, +// CreateResultOutputFile: pulumi.String("my_output_file_path"), // }) // if err != nil { // return err @@ -115,7 +118,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 +164,16 @@ 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 // ``` type ScaleWorker struct { pulumi.CustomResourceState // ID of the cluster. ClusterId pulumi.StringOutput `pulumi:"clusterId"` - // Configurations of data disk. + // Used to save results of CVMs creation error messages. + CreateResultOutputFile pulumi.StringPtrOutput `pulumi:"createResultOutputFile"` + // 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"` @@ -184,6 +189,8 @@ type ScaleWorker struct { MountTarget pulumi.StringPtrOutput `pulumi:"mountTarget"` // Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. PreStartUserScript pulumi.StringPtrOutput `pulumi:"preStartUserScript"` + // Node taint. + Taints ScaleWorkerTaintArrayOutput `pulumi:"taints"` // Set whether the added node participates in scheduling. The default value is 0, which means participating in scheduling; non-0 means not participating in scheduling. After the node initialization is completed, you can execute kubectl uncordon nodename to join the node in scheduling. Unschedulable pulumi.IntPtrOutput `pulumi:"unschedulable"` // Base64 encoded user script, this script will be executed after the k8s component is run. The user needs to ensure that the script is reentrant and retry logic. The script and its generated log files can be viewed in the /data/ccs_userscript/ path of the node, if required. The node needs to be initialized before it can be added to the schedule. It can be used with the unschedulable parameter. After the final initialization of userScript is completed, add the kubectl uncordon nodename --kubeconfig=/root/.kube/config command to add the node to the schedule. @@ -232,7 +239,9 @@ func GetScaleWorker(ctx *pulumi.Context, type scaleWorkerState struct { // ID of the cluster. ClusterId *string `pulumi:"clusterId"` - // Configurations of data disk. + // Used to save results of CVMs creation error messages. + CreateResultOutputFile *string `pulumi:"createResultOutputFile"` + // 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"` @@ -248,6 +257,8 @@ type scaleWorkerState struct { MountTarget *string `pulumi:"mountTarget"` // Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. PreStartUserScript *string `pulumi:"preStartUserScript"` + // Node taint. + Taints []ScaleWorkerTaint `pulumi:"taints"` // Set whether the added node participates in scheduling. The default value is 0, which means participating in scheduling; non-0 means not participating in scheduling. After the node initialization is completed, you can execute kubectl uncordon nodename to join the node in scheduling. Unschedulable *int `pulumi:"unschedulable"` // Base64 encoded user script, this script will be executed after the k8s component is run. The user needs to ensure that the script is reentrant and retry logic. The script and its generated log files can be viewed in the /data/ccs_userscript/ path of the node, if required. The node needs to be initialized before it can be added to the schedule. It can be used with the unschedulable parameter. After the final initialization of userScript is completed, add the kubectl uncordon nodename --kubeconfig=/root/.kube/config command to add the node to the schedule. @@ -261,7 +272,9 @@ type scaleWorkerState struct { type ScaleWorkerState struct { // ID of the cluster. ClusterId pulumi.StringPtrInput - // Configurations of data disk. + // Used to save results of CVMs creation error messages. + CreateResultOutputFile pulumi.StringPtrInput + // 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 @@ -277,6 +290,8 @@ type ScaleWorkerState struct { MountTarget pulumi.StringPtrInput // Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. PreStartUserScript pulumi.StringPtrInput + // Node taint. + Taints ScaleWorkerTaintArrayInput // Set whether the added node participates in scheduling. The default value is 0, which means participating in scheduling; non-0 means not participating in scheduling. After the node initialization is completed, you can execute kubectl uncordon nodename to join the node in scheduling. Unschedulable pulumi.IntPtrInput // Base64 encoded user script, this script will be executed after the k8s component is run. The user needs to ensure that the script is reentrant and retry logic. The script and its generated log files can be viewed in the /data/ccs_userscript/ path of the node, if required. The node needs to be initialized before it can be added to the schedule. It can be used with the unschedulable parameter. After the final initialization of userScript is completed, add the kubectl uncordon nodename --kubeconfig=/root/.kube/config command to add the node to the schedule. @@ -294,7 +309,9 @@ func (ScaleWorkerState) ElementType() reflect.Type { type scaleWorkerArgs struct { // ID of the cluster. ClusterId string `pulumi:"clusterId"` - // Configurations of data disk. + // Used to save results of CVMs creation error messages. + CreateResultOutputFile *string `pulumi:"createResultOutputFile"` + // 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"` @@ -310,6 +327,8 @@ type scaleWorkerArgs struct { MountTarget *string `pulumi:"mountTarget"` // Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. PreStartUserScript *string `pulumi:"preStartUserScript"` + // Node taint. + Taints []ScaleWorkerTaint `pulumi:"taints"` // Set whether the added node participates in scheduling. The default value is 0, which means participating in scheduling; non-0 means not participating in scheduling. After the node initialization is completed, you can execute kubectl uncordon nodename to join the node in scheduling. Unschedulable *int `pulumi:"unschedulable"` // Base64 encoded user script, this script will be executed after the k8s component is run. The user needs to ensure that the script is reentrant and retry logic. The script and its generated log files can be viewed in the /data/ccs_userscript/ path of the node, if required. The node needs to be initialized before it can be added to the schedule. It can be used with the unschedulable parameter. After the final initialization of userScript is completed, add the kubectl uncordon nodename --kubeconfig=/root/.kube/config command to add the node to the schedule. @@ -322,7 +341,9 @@ type scaleWorkerArgs struct { type ScaleWorkerArgs struct { // ID of the cluster. ClusterId pulumi.StringInput - // Configurations of data disk. + // Used to save results of CVMs creation error messages. + CreateResultOutputFile pulumi.StringPtrInput + // 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 @@ -338,6 +359,8 @@ type ScaleWorkerArgs struct { MountTarget pulumi.StringPtrInput // Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. PreStartUserScript pulumi.StringPtrInput + // Node taint. + Taints ScaleWorkerTaintArrayInput // Set whether the added node participates in scheduling. The default value is 0, which means participating in scheduling; non-0 means not participating in scheduling. After the node initialization is completed, you can execute kubectl uncordon nodename to join the node in scheduling. Unschedulable pulumi.IntPtrInput // Base64 encoded user script, this script will be executed after the k8s component is run. The user needs to ensure that the script is reentrant and retry logic. The script and its generated log files can be viewed in the /data/ccs_userscript/ path of the node, if required. The node needs to be initialized before it can be added to the schedule. It can be used with the unschedulable parameter. After the final initialization of userScript is completed, add the kubectl uncordon nodename --kubeconfig=/root/.kube/config command to add the node to the schedule. @@ -438,7 +461,12 @@ func (o ScaleWorkerOutput) ClusterId() pulumi.StringOutput { return o.ApplyT(func(v *ScaleWorker) pulumi.StringOutput { return v.ClusterId }).(pulumi.StringOutput) } -// Configurations of data disk. +// Used to save results of CVMs creation error messages. +func (o ScaleWorkerOutput) CreateResultOutputFile() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ScaleWorker) pulumi.StringPtrOutput { return v.CreateResultOutputFile }).(pulumi.StringPtrOutput) +} + +// Configurations of tke data disk. func (o ScaleWorkerOutput) DataDisks() ScaleWorkerDataDiskArrayOutput { return o.ApplyT(func(v *ScaleWorker) ScaleWorkerDataDiskArrayOutput { return v.DataDisks }).(ScaleWorkerDataDiskArrayOutput) } @@ -478,6 +506,11 @@ func (o ScaleWorkerOutput) PreStartUserScript() pulumi.StringPtrOutput { return o.ApplyT(func(v *ScaleWorker) pulumi.StringPtrOutput { return v.PreStartUserScript }).(pulumi.StringPtrOutput) } +// Node taint. +func (o ScaleWorkerOutput) Taints() ScaleWorkerTaintArrayOutput { + return o.ApplyT(func(v *ScaleWorker) ScaleWorkerTaintArrayOutput { return v.Taints }).(ScaleWorkerTaintArrayOutput) +} + // Set whether the added node participates in scheduling. The default value is 0, which means participating in scheduling; non-0 means not participating in scheduling. After the node initialization is completed, you can execute kubectl uncordon nodename to join the node in scheduling. func (o ScaleWorkerOutput) Unschedulable() pulumi.IntPtrOutput { return o.ApplyT(func(v *ScaleWorker) pulumi.IntPtrOutput { return v.Unschedulable }).(pulumi.IntPtrOutput) 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..177ba3c7c --- /dev/null +++ b/sdk/go/tencentcloud/mysql/clsLogAttachment.go @@ -0,0 +1,509 @@ +// 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 +// }) +// } +// +// ``` +// +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..ae06616ac 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. Cross-region query requires master instance permission. + 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. Cross-region query requires master instance permission. + 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. Cross-region query requires master instance permission. + 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. Cross-region query requires master instance permission. + 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. Cross-region query requires master instance permission. + 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. Cross-region query requires master instance permission. +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/nat/gateway.go b/sdk/go/tencentcloud/nat/gateway.go index 0c92062fd..578e1f511 100644 --- a/sdk/go/tencentcloud/nat/gateway.go +++ b/sdk/go/tencentcloud/nat/gateway.go @@ -14,6 +14,10 @@ import ( // Provides a resource to create a NAT gateway. // +// > **NOTE:** If `natProductVersion` is `1`, `maxConcurrent` valid values is `1000000`, `3000000`, `10000000`. +// +// > **NOTE:** If set `stockPublicIpAddressesBandwidthOut`, do not set the `internetMaxBandwidthOut` parameter of resource `Eip.Instance` at the same time, otherwise conflicts may occur. +// // ## Example Usage // // ### Create a traditional NAT gateway. @@ -48,15 +52,16 @@ import ( // return err // } // _, err = Nat.NewGateway(ctx, "example", &Nat.GatewayArgs{ -// VpcId: vpc.ID(), -// Bandwidth: pulumi.Int(100), -// MaxConcurrent: pulumi.Int(1000000), +// VpcId: vpc.ID(), +// NatProductVersion: pulumi.Int(1), +// Bandwidth: pulumi.Int(100), +// MaxConcurrent: pulumi.Int(1000000), // AssignedEipSets: pulumi.StringArray{ // eipExample1.PublicIp, // eipExample2.PublicIp, // }, // Tags: pulumi.Map{ -// "tf_tag_key": pulumi.Any("tf_tag_value"), +// "createBy": pulumi.Any("terraform"), // }, // }) // if err != nil { @@ -101,14 +106,67 @@ import ( // return err // } // _, err = Nat.NewGateway(ctx, "example", &Nat.GatewayArgs{ -// VpcId: vpc.ID(), +// VpcId: vpc.ID(), +// NatProductVersion: pulumi.Int(2), +// AssignedEipSets: pulumi.StringArray{ +// eipExample1.PublicIp, +// eipExample2.PublicIp, +// }, +// Tags: pulumi.Map{ +// "createBy": pulumi.Any("terraform"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ### Or set stock public ip addresses bandwidth out +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Eip" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Nat" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// vpc, err := Vpc.NewInstance(ctx, "vpc", &Vpc.InstanceArgs{ +// CidrBlock: pulumi.String("10.0.0.0/16"), +// }) +// if err != nil { +// return err +// } +// eipExample1, err := Eip.NewInstance(ctx, "eipExample1", nil) +// if err != nil { +// return err +// } +// eipExample2, err := Eip.NewInstance(ctx, "eipExample2", nil) +// if err != nil { +// return err +// } +// _, err = Nat.NewGateway(ctx, "example", &Nat.GatewayArgs{ +// VpcId: vpc.ID(), +// NatProductVersion: pulumi.Int(2), +// StockPublicIpAddressesBandwidthOut: pulumi.Int(100), // AssignedEipSets: pulumi.StringArray{ // eipExample1.PublicIp, // eipExample2.PublicIp, // }, -// NatProductVersion: pulumi.Int(2), // Tags: pulumi.Map{ -// "tf_tag_key": pulumi.Any("tf_tag_value"), +// "createBy": pulumi.Any("terraform"), // }, // }) // if err != nil { @@ -126,23 +184,25 @@ import ( // NAT gateway can be imported using the id, e.g. // // ```sh -// $ pulumi import tencentcloud:Nat/gateway:Gateway foo nat-1asg3t63 +// $ pulumi import tencentcloud:Nat/gateway:Gateway example nat-1asg3t63 // ``` type Gateway struct { pulumi.CustomResourceState // EIP IP address set bound to the gateway. The value of at least 1 and at most 10. AssignedEipSets pulumi.StringArrayOutput `pulumi:"assignedEipSets"` - // The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is 100. - Bandwidth pulumi.IntPtrOutput `pulumi:"bandwidth"` + // The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is `100`. When the value of parameter `natProductVersion` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `5000`. + Bandwidth pulumi.IntOutput `pulumi:"bandwidth"` // Create time of the NAT gateway. CreatedTime pulumi.StringOutput `pulumi:"createdTime"` - // The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. - MaxConcurrent pulumi.IntPtrOutput `pulumi:"maxConcurrent"` + // The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. When the value of parameter `natProductVersion` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `2000000`. + MaxConcurrent pulumi.IntOutput `pulumi:"maxConcurrent"` // Name of the NAT gateway. Name pulumi.StringOutput `pulumi:"name"` // 1: traditional NAT, 2: standard NAT, default value is 1. NatProductVersion pulumi.IntOutput `pulumi:"natProductVersion"` + // The elastic public IP bandwidth value (unit: Mbps) for binding NAT gateway. When this parameter is not filled in, it defaults to the bandwidth value of the elastic public IP, and for some users, it defaults to the bandwidth limit of the elastic public IP of that user type. + StockPublicIpAddressesBandwidthOut pulumi.IntOutput `pulumi:"stockPublicIpAddressesBandwidthOut"` // Subnet of NAT. SubnetId pulumi.StringOutput `pulumi:"subnetId"` // The available tags within this NAT gateway. @@ -191,16 +251,18 @@ func GetGateway(ctx *pulumi.Context, type gatewayState struct { // EIP IP address set bound to the gateway. The value of at least 1 and at most 10. AssignedEipSets []string `pulumi:"assignedEipSets"` - // The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is 100. + // The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is `100`. When the value of parameter `natProductVersion` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `5000`. Bandwidth *int `pulumi:"bandwidth"` // Create time of the NAT gateway. CreatedTime *string `pulumi:"createdTime"` - // The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. + // The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. When the value of parameter `natProductVersion` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `2000000`. MaxConcurrent *int `pulumi:"maxConcurrent"` // Name of the NAT gateway. Name *string `pulumi:"name"` // 1: traditional NAT, 2: standard NAT, default value is 1. NatProductVersion *int `pulumi:"natProductVersion"` + // The elastic public IP bandwidth value (unit: Mbps) for binding NAT gateway. When this parameter is not filled in, it defaults to the bandwidth value of the elastic public IP, and for some users, it defaults to the bandwidth limit of the elastic public IP of that user type. + StockPublicIpAddressesBandwidthOut *int `pulumi:"stockPublicIpAddressesBandwidthOut"` // Subnet of NAT. SubnetId *string `pulumi:"subnetId"` // The available tags within this NAT gateway. @@ -214,16 +276,18 @@ type gatewayState struct { type GatewayState struct { // EIP IP address set bound to the gateway. The value of at least 1 and at most 10. AssignedEipSets pulumi.StringArrayInput - // The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is 100. + // The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is `100`. When the value of parameter `natProductVersion` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `5000`. Bandwidth pulumi.IntPtrInput // Create time of the NAT gateway. CreatedTime pulumi.StringPtrInput - // The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. + // The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. When the value of parameter `natProductVersion` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `2000000`. MaxConcurrent pulumi.IntPtrInput // Name of the NAT gateway. Name pulumi.StringPtrInput // 1: traditional NAT, 2: standard NAT, default value is 1. NatProductVersion pulumi.IntPtrInput + // The elastic public IP bandwidth value (unit: Mbps) for binding NAT gateway. When this parameter is not filled in, it defaults to the bandwidth value of the elastic public IP, and for some users, it defaults to the bandwidth limit of the elastic public IP of that user type. + StockPublicIpAddressesBandwidthOut pulumi.IntPtrInput // Subnet of NAT. SubnetId pulumi.StringPtrInput // The available tags within this NAT gateway. @@ -241,14 +305,16 @@ func (GatewayState) ElementType() reflect.Type { type gatewayArgs struct { // EIP IP address set bound to the gateway. The value of at least 1 and at most 10. AssignedEipSets []string `pulumi:"assignedEipSets"` - // The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is 100. + // The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is `100`. When the value of parameter `natProductVersion` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `5000`. Bandwidth *int `pulumi:"bandwidth"` - // The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. + // The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. When the value of parameter `natProductVersion` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `2000000`. MaxConcurrent *int `pulumi:"maxConcurrent"` // Name of the NAT gateway. Name *string `pulumi:"name"` // 1: traditional NAT, 2: standard NAT, default value is 1. NatProductVersion *int `pulumi:"natProductVersion"` + // The elastic public IP bandwidth value (unit: Mbps) for binding NAT gateway. When this parameter is not filled in, it defaults to the bandwidth value of the elastic public IP, and for some users, it defaults to the bandwidth limit of the elastic public IP of that user type. + StockPublicIpAddressesBandwidthOut *int `pulumi:"stockPublicIpAddressesBandwidthOut"` // Subnet of NAT. SubnetId *string `pulumi:"subnetId"` // The available tags within this NAT gateway. @@ -263,14 +329,16 @@ type gatewayArgs struct { type GatewayArgs struct { // EIP IP address set bound to the gateway. The value of at least 1 and at most 10. AssignedEipSets pulumi.StringArrayInput - // The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is 100. + // The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is `100`. When the value of parameter `natProductVersion` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `5000`. Bandwidth pulumi.IntPtrInput - // The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. + // The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. When the value of parameter `natProductVersion` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `2000000`. MaxConcurrent pulumi.IntPtrInput // Name of the NAT gateway. Name pulumi.StringPtrInput // 1: traditional NAT, 2: standard NAT, default value is 1. NatProductVersion pulumi.IntPtrInput + // The elastic public IP bandwidth value (unit: Mbps) for binding NAT gateway. When this parameter is not filled in, it defaults to the bandwidth value of the elastic public IP, and for some users, it defaults to the bandwidth limit of the elastic public IP of that user type. + StockPublicIpAddressesBandwidthOut pulumi.IntPtrInput // Subnet of NAT. SubnetId pulumi.StringPtrInput // The available tags within this NAT gateway. @@ -373,9 +441,9 @@ func (o GatewayOutput) AssignedEipSets() pulumi.StringArrayOutput { return o.ApplyT(func(v *Gateway) pulumi.StringArrayOutput { return v.AssignedEipSets }).(pulumi.StringArrayOutput) } -// The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is 100. -func (o GatewayOutput) Bandwidth() pulumi.IntPtrOutput { - return o.ApplyT(func(v *Gateway) pulumi.IntPtrOutput { return v.Bandwidth }).(pulumi.IntPtrOutput) +// The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is `100`. When the value of parameter `natProductVersion` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `5000`. +func (o GatewayOutput) Bandwidth() pulumi.IntOutput { + return o.ApplyT(func(v *Gateway) pulumi.IntOutput { return v.Bandwidth }).(pulumi.IntOutput) } // Create time of the NAT gateway. @@ -383,9 +451,9 @@ func (o GatewayOutput) CreatedTime() pulumi.StringOutput { return o.ApplyT(func(v *Gateway) pulumi.StringOutput { return v.CreatedTime }).(pulumi.StringOutput) } -// The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. -func (o GatewayOutput) MaxConcurrent() pulumi.IntPtrOutput { - return o.ApplyT(func(v *Gateway) pulumi.IntPtrOutput { return v.MaxConcurrent }).(pulumi.IntPtrOutput) +// The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. When the value of parameter `natProductVersion` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `2000000`. +func (o GatewayOutput) MaxConcurrent() pulumi.IntOutput { + return o.ApplyT(func(v *Gateway) pulumi.IntOutput { return v.MaxConcurrent }).(pulumi.IntOutput) } // Name of the NAT gateway. @@ -398,6 +466,11 @@ func (o GatewayOutput) NatProductVersion() pulumi.IntOutput { return o.ApplyT(func(v *Gateway) pulumi.IntOutput { return v.NatProductVersion }).(pulumi.IntOutput) } +// The elastic public IP bandwidth value (unit: Mbps) for binding NAT gateway. When this parameter is not filled in, it defaults to the bandwidth value of the elastic public IP, and for some users, it defaults to the bandwidth limit of the elastic public IP of that user type. +func (o GatewayOutput) StockPublicIpAddressesBandwidthOut() pulumi.IntOutput { + return o.ApplyT(func(v *Gateway) pulumi.IntOutput { return v.StockPublicIpAddressesBandwidthOut }).(pulumi.IntOutput) +} + // Subnet of NAT. func (o GatewayOutput) SubnetId() pulumi.StringOutput { return o.ApplyT(func(v *Gateway) pulumi.StringOutput { return v.SubnetId }).(pulumi.StringOutput) diff --git a/sdk/go/tencentcloud/open/identityCenterOperation.go b/sdk/go/tencentcloud/open/identityCenterOperation.go new file mode 100644 index 000000000..996205e30 --- /dev/null +++ b/sdk/go/tencentcloud/open/identityCenterOperation.go @@ -0,0 +1,258 @@ +// 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 open + +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 open identity center +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Open" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Open.NewIdentityCenterOperation(ctx, "openIdentityCenterOperation", &Open.IdentityCenterOperationArgs{ +// ZoneName: pulumi.String("test"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +type IdentityCenterOperation struct { + pulumi.CustomResourceState + + // Space ID. z-Prefix starts with 12 random numbers/lowercase letters followed by. + ZoneId pulumi.StringOutput `pulumi:"zoneId"` + // Space name, which must be globally unique and contain 2-64 characters including lowercase letters, digits, and hyphens (-). It can neither start or end with a hyphen (-) nor contain two consecutive hyphens (-). + ZoneName pulumi.StringOutput `pulumi:"zoneName"` +} + +// NewIdentityCenterOperation registers a new resource with the given unique name, arguments, and options. +func NewIdentityCenterOperation(ctx *pulumi.Context, + name string, args *IdentityCenterOperationArgs, opts ...pulumi.ResourceOption) (*IdentityCenterOperation, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ZoneName == nil { + return nil, errors.New("invalid value for required argument 'ZoneName'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IdentityCenterOperation + err := ctx.RegisterResource("tencentcloud:Open/identityCenterOperation:IdentityCenterOperation", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIdentityCenterOperation gets an existing IdentityCenterOperation 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 GetIdentityCenterOperation(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IdentityCenterOperationState, opts ...pulumi.ResourceOption) (*IdentityCenterOperation, error) { + var resource IdentityCenterOperation + err := ctx.ReadResource("tencentcloud:Open/identityCenterOperation:IdentityCenterOperation", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IdentityCenterOperation resources. +type identityCenterOperationState struct { + // Space ID. z-Prefix starts with 12 random numbers/lowercase letters followed by. + ZoneId *string `pulumi:"zoneId"` + // Space name, which must be globally unique and contain 2-64 characters including lowercase letters, digits, and hyphens (-). It can neither start or end with a hyphen (-) nor contain two consecutive hyphens (-). + ZoneName *string `pulumi:"zoneName"` +} + +type IdentityCenterOperationState struct { + // Space ID. z-Prefix starts with 12 random numbers/lowercase letters followed by. + ZoneId pulumi.StringPtrInput + // Space name, which must be globally unique and contain 2-64 characters including lowercase letters, digits, and hyphens (-). It can neither start or end with a hyphen (-) nor contain two consecutive hyphens (-). + ZoneName pulumi.StringPtrInput +} + +func (IdentityCenterOperationState) ElementType() reflect.Type { + return reflect.TypeOf((*identityCenterOperationState)(nil)).Elem() +} + +type identityCenterOperationArgs struct { + // Space name, which must be globally unique and contain 2-64 characters including lowercase letters, digits, and hyphens (-). It can neither start or end with a hyphen (-) nor contain two consecutive hyphens (-). + ZoneName string `pulumi:"zoneName"` +} + +// The set of arguments for constructing a IdentityCenterOperation resource. +type IdentityCenterOperationArgs struct { + // Space name, which must be globally unique and contain 2-64 characters including lowercase letters, digits, and hyphens (-). It can neither start or end with a hyphen (-) nor contain two consecutive hyphens (-). + ZoneName pulumi.StringInput +} + +func (IdentityCenterOperationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*identityCenterOperationArgs)(nil)).Elem() +} + +type IdentityCenterOperationInput interface { + pulumi.Input + + ToIdentityCenterOperationOutput() IdentityCenterOperationOutput + ToIdentityCenterOperationOutputWithContext(ctx context.Context) IdentityCenterOperationOutput +} + +func (*IdentityCenterOperation) ElementType() reflect.Type { + return reflect.TypeOf((**IdentityCenterOperation)(nil)).Elem() +} + +func (i *IdentityCenterOperation) ToIdentityCenterOperationOutput() IdentityCenterOperationOutput { + return i.ToIdentityCenterOperationOutputWithContext(context.Background()) +} + +func (i *IdentityCenterOperation) ToIdentityCenterOperationOutputWithContext(ctx context.Context) IdentityCenterOperationOutput { + return pulumi.ToOutputWithContext(ctx, i).(IdentityCenterOperationOutput) +} + +// IdentityCenterOperationArrayInput is an input type that accepts IdentityCenterOperationArray and IdentityCenterOperationArrayOutput values. +// You can construct a concrete instance of `IdentityCenterOperationArrayInput` via: +// +// IdentityCenterOperationArray{ IdentityCenterOperationArgs{...} } +type IdentityCenterOperationArrayInput interface { + pulumi.Input + + ToIdentityCenterOperationArrayOutput() IdentityCenterOperationArrayOutput + ToIdentityCenterOperationArrayOutputWithContext(context.Context) IdentityCenterOperationArrayOutput +} + +type IdentityCenterOperationArray []IdentityCenterOperationInput + +func (IdentityCenterOperationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*IdentityCenterOperation)(nil)).Elem() +} + +func (i IdentityCenterOperationArray) ToIdentityCenterOperationArrayOutput() IdentityCenterOperationArrayOutput { + return i.ToIdentityCenterOperationArrayOutputWithContext(context.Background()) +} + +func (i IdentityCenterOperationArray) ToIdentityCenterOperationArrayOutputWithContext(ctx context.Context) IdentityCenterOperationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IdentityCenterOperationArrayOutput) +} + +// IdentityCenterOperationMapInput is an input type that accepts IdentityCenterOperationMap and IdentityCenterOperationMapOutput values. +// You can construct a concrete instance of `IdentityCenterOperationMapInput` via: +// +// IdentityCenterOperationMap{ "key": IdentityCenterOperationArgs{...} } +type IdentityCenterOperationMapInput interface { + pulumi.Input + + ToIdentityCenterOperationMapOutput() IdentityCenterOperationMapOutput + ToIdentityCenterOperationMapOutputWithContext(context.Context) IdentityCenterOperationMapOutput +} + +type IdentityCenterOperationMap map[string]IdentityCenterOperationInput + +func (IdentityCenterOperationMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*IdentityCenterOperation)(nil)).Elem() +} + +func (i IdentityCenterOperationMap) ToIdentityCenterOperationMapOutput() IdentityCenterOperationMapOutput { + return i.ToIdentityCenterOperationMapOutputWithContext(context.Background()) +} + +func (i IdentityCenterOperationMap) ToIdentityCenterOperationMapOutputWithContext(ctx context.Context) IdentityCenterOperationMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(IdentityCenterOperationMapOutput) +} + +type IdentityCenterOperationOutput struct{ *pulumi.OutputState } + +func (IdentityCenterOperationOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IdentityCenterOperation)(nil)).Elem() +} + +func (o IdentityCenterOperationOutput) ToIdentityCenterOperationOutput() IdentityCenterOperationOutput { + return o +} + +func (o IdentityCenterOperationOutput) ToIdentityCenterOperationOutputWithContext(ctx context.Context) IdentityCenterOperationOutput { + return o +} + +// Space ID. z-Prefix starts with 12 random numbers/lowercase letters followed by. +func (o IdentityCenterOperationOutput) ZoneId() pulumi.StringOutput { + return o.ApplyT(func(v *IdentityCenterOperation) pulumi.StringOutput { return v.ZoneId }).(pulumi.StringOutput) +} + +// Space name, which must be globally unique and contain 2-64 characters including lowercase letters, digits, and hyphens (-). It can neither start or end with a hyphen (-) nor contain two consecutive hyphens (-). +func (o IdentityCenterOperationOutput) ZoneName() pulumi.StringOutput { + return o.ApplyT(func(v *IdentityCenterOperation) pulumi.StringOutput { return v.ZoneName }).(pulumi.StringOutput) +} + +type IdentityCenterOperationArrayOutput struct{ *pulumi.OutputState } + +func (IdentityCenterOperationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*IdentityCenterOperation)(nil)).Elem() +} + +func (o IdentityCenterOperationArrayOutput) ToIdentityCenterOperationArrayOutput() IdentityCenterOperationArrayOutput { + return o +} + +func (o IdentityCenterOperationArrayOutput) ToIdentityCenterOperationArrayOutputWithContext(ctx context.Context) IdentityCenterOperationArrayOutput { + return o +} + +func (o IdentityCenterOperationArrayOutput) Index(i pulumi.IntInput) IdentityCenterOperationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *IdentityCenterOperation { + return vs[0].([]*IdentityCenterOperation)[vs[1].(int)] + }).(IdentityCenterOperationOutput) +} + +type IdentityCenterOperationMapOutput struct{ *pulumi.OutputState } + +func (IdentityCenterOperationMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*IdentityCenterOperation)(nil)).Elem() +} + +func (o IdentityCenterOperationMapOutput) ToIdentityCenterOperationMapOutput() IdentityCenterOperationMapOutput { + return o +} + +func (o IdentityCenterOperationMapOutput) ToIdentityCenterOperationMapOutputWithContext(ctx context.Context) IdentityCenterOperationMapOutput { + return o +} + +func (o IdentityCenterOperationMapOutput) MapIndex(k pulumi.StringInput) IdentityCenterOperationOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *IdentityCenterOperation { + return vs[0].(map[string]*IdentityCenterOperation)[vs[1].(string)] + }).(IdentityCenterOperationOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IdentityCenterOperationInput)(nil)).Elem(), &IdentityCenterOperation{}) + pulumi.RegisterInputType(reflect.TypeOf((*IdentityCenterOperationArrayInput)(nil)).Elem(), IdentityCenterOperationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IdentityCenterOperationMapInput)(nil)).Elem(), IdentityCenterOperationMap{}) + pulumi.RegisterOutputType(IdentityCenterOperationOutput{}) + pulumi.RegisterOutputType(IdentityCenterOperationArrayOutput{}) + pulumi.RegisterOutputType(IdentityCenterOperationMapOutput{}) +} diff --git a/sdk/go/tencentcloud/open/init.go b/sdk/go/tencentcloud/open/init.go new file mode 100644 index 000000000..d60bd58d2 --- /dev/null +++ b/sdk/go/tencentcloud/open/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 open + +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:Open/identityCenterOperation:IdentityCenterOperation": + r = &IdentityCenterOperation{} + 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", + "Open/identityCenterOperation", + &module{version}, + ) +} diff --git a/sdk/go/tencentcloud/organization/getNodes.go b/sdk/go/tencentcloud/organization/getNodes.go new file mode 100644 index 000000000..6bcde8cfd --- /dev/null +++ b/sdk/go/tencentcloud/organization/getNodes.go @@ -0,0 +1,136 @@ +// 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 nodes +// +// ## 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.GetNodes(ctx, &organization.GetNodesArgs{ +// Tags: []organization.GetNodesTag{ +// { +// TagKey: "createBy", +// TagValue: "terraform", +// }, +// }, +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +func GetNodes(ctx *pulumi.Context, args *GetNodesArgs, opts ...pulumi.InvokeOption) (*GetNodesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetNodesResult + err := ctx.Invoke("tencentcloud:Organization/getNodes:getNodes", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getNodes. +type GetNodesArgs struct { + // Used to save results. + ResultOutputFile *string `pulumi:"resultOutputFile"` + // Department tag search list, with a maximum of 10. + Tags []GetNodesTag `pulumi:"tags"` +} + +// A collection of values returned by getNodes. +type GetNodesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + // List details. + Items []GetNodesItem `pulumi:"items"` + ResultOutputFile *string `pulumi:"resultOutputFile"` + Tags []GetNodesTag `pulumi:"tags"` +} + +func GetNodesOutput(ctx *pulumi.Context, args GetNodesOutputArgs, opts ...pulumi.InvokeOption) GetNodesResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetNodesResult, error) { + args := v.(GetNodesArgs) + r, err := GetNodes(ctx, &args, opts...) + var s GetNodesResult + if r != nil { + s = *r + } + return s, err + }).(GetNodesResultOutput) +} + +// A collection of arguments for invoking getNodes. +type GetNodesOutputArgs struct { + // Used to save results. + ResultOutputFile pulumi.StringPtrInput `pulumi:"resultOutputFile"` + // Department tag search list, with a maximum of 10. + Tags GetNodesTagArrayInput `pulumi:"tags"` +} + +func (GetNodesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetNodesArgs)(nil)).Elem() +} + +// A collection of values returned by getNodes. +type GetNodesResultOutput struct{ *pulumi.OutputState } + +func (GetNodesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetNodesResult)(nil)).Elem() +} + +func (o GetNodesResultOutput) ToGetNodesResultOutput() GetNodesResultOutput { + return o +} + +func (o GetNodesResultOutput) ToGetNodesResultOutputWithContext(ctx context.Context) GetNodesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetNodesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetNodesResult) string { return v.Id }).(pulumi.StringOutput) +} + +// List details. +func (o GetNodesResultOutput) Items() GetNodesItemArrayOutput { + return o.ApplyT(func(v GetNodesResult) []GetNodesItem { return v.Items }).(GetNodesItemArrayOutput) +} + +func (o GetNodesResultOutput) ResultOutputFile() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetNodesResult) *string { return v.ResultOutputFile }).(pulumi.StringPtrOutput) +} + +func (o GetNodesResultOutput) Tags() GetNodesTagArrayOutput { + return o.ApplyT(func(v GetNodesResult) []GetNodesTag { return v.Tags }).(GetNodesTagArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetNodesResultOutput{}) +} 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..d1bb29ad6 100644 --- a/sdk/go/tencentcloud/organization/pulumiTypes.go +++ b/sdk/go/tencentcloud/organization/pulumiTypes.go @@ -899,6 +899,369 @@ func (o GetMembersItemOrgPermissionArrayOutput) Index(i pulumi.IntInput) GetMemb }).(GetMembersItemOrgPermissionOutput) } +type GetNodesItem struct { + // Creation time. + CreateTime string `pulumi:"createTime"` + // Name. + Name string `pulumi:"name"` + // Organization node ID. + NodeId int `pulumi:"nodeId"` + // Parent node ID. + ParentNodeId int `pulumi:"parentNodeId"` + // Remarks. + Remark string `pulumi:"remark"` + // Department tag search list, with a maximum of 10. + Tags []GetNodesItemTag `pulumi:"tags"` + // Update time. + UpdateTime string `pulumi:"updateTime"` +} + +// GetNodesItemInput is an input type that accepts GetNodesItemArgs and GetNodesItemOutput values. +// You can construct a concrete instance of `GetNodesItemInput` via: +// +// GetNodesItemArgs{...} +type GetNodesItemInput interface { + pulumi.Input + + ToGetNodesItemOutput() GetNodesItemOutput + ToGetNodesItemOutputWithContext(context.Context) GetNodesItemOutput +} + +type GetNodesItemArgs struct { + // Creation time. + CreateTime pulumi.StringInput `pulumi:"createTime"` + // Name. + Name pulumi.StringInput `pulumi:"name"` + // Organization node ID. + NodeId pulumi.IntInput `pulumi:"nodeId"` + // Parent node ID. + ParentNodeId pulumi.IntInput `pulumi:"parentNodeId"` + // Remarks. + Remark pulumi.StringInput `pulumi:"remark"` + // Department tag search list, with a maximum of 10. + Tags GetNodesItemTagArrayInput `pulumi:"tags"` + // Update time. + UpdateTime pulumi.StringInput `pulumi:"updateTime"` +} + +func (GetNodesItemArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetNodesItem)(nil)).Elem() +} + +func (i GetNodesItemArgs) ToGetNodesItemOutput() GetNodesItemOutput { + return i.ToGetNodesItemOutputWithContext(context.Background()) +} + +func (i GetNodesItemArgs) ToGetNodesItemOutputWithContext(ctx context.Context) GetNodesItemOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNodesItemOutput) +} + +// GetNodesItemArrayInput is an input type that accepts GetNodesItemArray and GetNodesItemArrayOutput values. +// You can construct a concrete instance of `GetNodesItemArrayInput` via: +// +// GetNodesItemArray{ GetNodesItemArgs{...} } +type GetNodesItemArrayInput interface { + pulumi.Input + + ToGetNodesItemArrayOutput() GetNodesItemArrayOutput + ToGetNodesItemArrayOutputWithContext(context.Context) GetNodesItemArrayOutput +} + +type GetNodesItemArray []GetNodesItemInput + +func (GetNodesItemArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNodesItem)(nil)).Elem() +} + +func (i GetNodesItemArray) ToGetNodesItemArrayOutput() GetNodesItemArrayOutput { + return i.ToGetNodesItemArrayOutputWithContext(context.Background()) +} + +func (i GetNodesItemArray) ToGetNodesItemArrayOutputWithContext(ctx context.Context) GetNodesItemArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNodesItemArrayOutput) +} + +type GetNodesItemOutput struct{ *pulumi.OutputState } + +func (GetNodesItemOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetNodesItem)(nil)).Elem() +} + +func (o GetNodesItemOutput) ToGetNodesItemOutput() GetNodesItemOutput { + return o +} + +func (o GetNodesItemOutput) ToGetNodesItemOutputWithContext(ctx context.Context) GetNodesItemOutput { + return o +} + +// Creation time. +func (o GetNodesItemOutput) CreateTime() pulumi.StringOutput { + return o.ApplyT(func(v GetNodesItem) string { return v.CreateTime }).(pulumi.StringOutput) +} + +// Name. +func (o GetNodesItemOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetNodesItem) string { return v.Name }).(pulumi.StringOutput) +} + +// Organization node ID. +func (o GetNodesItemOutput) NodeId() pulumi.IntOutput { + return o.ApplyT(func(v GetNodesItem) int { return v.NodeId }).(pulumi.IntOutput) +} + +// Parent node ID. +func (o GetNodesItemOutput) ParentNodeId() pulumi.IntOutput { + return o.ApplyT(func(v GetNodesItem) int { return v.ParentNodeId }).(pulumi.IntOutput) +} + +// Remarks. +func (o GetNodesItemOutput) Remark() pulumi.StringOutput { + return o.ApplyT(func(v GetNodesItem) string { return v.Remark }).(pulumi.StringOutput) +} + +// Department tag search list, with a maximum of 10. +func (o GetNodesItemOutput) Tags() GetNodesItemTagArrayOutput { + return o.ApplyT(func(v GetNodesItem) []GetNodesItemTag { return v.Tags }).(GetNodesItemTagArrayOutput) +} + +// Update time. +func (o GetNodesItemOutput) UpdateTime() pulumi.StringOutput { + return o.ApplyT(func(v GetNodesItem) string { return v.UpdateTime }).(pulumi.StringOutput) +} + +type GetNodesItemArrayOutput struct{ *pulumi.OutputState } + +func (GetNodesItemArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNodesItem)(nil)).Elem() +} + +func (o GetNodesItemArrayOutput) ToGetNodesItemArrayOutput() GetNodesItemArrayOutput { + return o +} + +func (o GetNodesItemArrayOutput) ToGetNodesItemArrayOutputWithContext(ctx context.Context) GetNodesItemArrayOutput { + return o +} + +func (o GetNodesItemArrayOutput) Index(i pulumi.IntInput) GetNodesItemOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetNodesItem { + return vs[0].([]GetNodesItem)[vs[1].(int)] + }).(GetNodesItemOutput) +} + +type GetNodesItemTag struct { + // Tag key. + TagKey string `pulumi:"tagKey"` + // Tag value. + TagValue string `pulumi:"tagValue"` +} + +// GetNodesItemTagInput is an input type that accepts GetNodesItemTagArgs and GetNodesItemTagOutput values. +// You can construct a concrete instance of `GetNodesItemTagInput` via: +// +// GetNodesItemTagArgs{...} +type GetNodesItemTagInput interface { + pulumi.Input + + ToGetNodesItemTagOutput() GetNodesItemTagOutput + ToGetNodesItemTagOutputWithContext(context.Context) GetNodesItemTagOutput +} + +type GetNodesItemTagArgs struct { + // Tag key. + TagKey pulumi.StringInput `pulumi:"tagKey"` + // Tag value. + TagValue pulumi.StringInput `pulumi:"tagValue"` +} + +func (GetNodesItemTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetNodesItemTag)(nil)).Elem() +} + +func (i GetNodesItemTagArgs) ToGetNodesItemTagOutput() GetNodesItemTagOutput { + return i.ToGetNodesItemTagOutputWithContext(context.Background()) +} + +func (i GetNodesItemTagArgs) ToGetNodesItemTagOutputWithContext(ctx context.Context) GetNodesItemTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNodesItemTagOutput) +} + +// GetNodesItemTagArrayInput is an input type that accepts GetNodesItemTagArray and GetNodesItemTagArrayOutput values. +// You can construct a concrete instance of `GetNodesItemTagArrayInput` via: +// +// GetNodesItemTagArray{ GetNodesItemTagArgs{...} } +type GetNodesItemTagArrayInput interface { + pulumi.Input + + ToGetNodesItemTagArrayOutput() GetNodesItemTagArrayOutput + ToGetNodesItemTagArrayOutputWithContext(context.Context) GetNodesItemTagArrayOutput +} + +type GetNodesItemTagArray []GetNodesItemTagInput + +func (GetNodesItemTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNodesItemTag)(nil)).Elem() +} + +func (i GetNodesItemTagArray) ToGetNodesItemTagArrayOutput() GetNodesItemTagArrayOutput { + return i.ToGetNodesItemTagArrayOutputWithContext(context.Background()) +} + +func (i GetNodesItemTagArray) ToGetNodesItemTagArrayOutputWithContext(ctx context.Context) GetNodesItemTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNodesItemTagArrayOutput) +} + +type GetNodesItemTagOutput struct{ *pulumi.OutputState } + +func (GetNodesItemTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetNodesItemTag)(nil)).Elem() +} + +func (o GetNodesItemTagOutput) ToGetNodesItemTagOutput() GetNodesItemTagOutput { + return o +} + +func (o GetNodesItemTagOutput) ToGetNodesItemTagOutputWithContext(ctx context.Context) GetNodesItemTagOutput { + return o +} + +// Tag key. +func (o GetNodesItemTagOutput) TagKey() pulumi.StringOutput { + return o.ApplyT(func(v GetNodesItemTag) string { return v.TagKey }).(pulumi.StringOutput) +} + +// Tag value. +func (o GetNodesItemTagOutput) TagValue() pulumi.StringOutput { + return o.ApplyT(func(v GetNodesItemTag) string { return v.TagValue }).(pulumi.StringOutput) +} + +type GetNodesItemTagArrayOutput struct{ *pulumi.OutputState } + +func (GetNodesItemTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNodesItemTag)(nil)).Elem() +} + +func (o GetNodesItemTagArrayOutput) ToGetNodesItemTagArrayOutput() GetNodesItemTagArrayOutput { + return o +} + +func (o GetNodesItemTagArrayOutput) ToGetNodesItemTagArrayOutputWithContext(ctx context.Context) GetNodesItemTagArrayOutput { + return o +} + +func (o GetNodesItemTagArrayOutput) Index(i pulumi.IntInput) GetNodesItemTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetNodesItemTag { + return vs[0].([]GetNodesItemTag)[vs[1].(int)] + }).(GetNodesItemTagOutput) +} + +type GetNodesTag struct { + // Tag key. + TagKey string `pulumi:"tagKey"` + // Tag value. + TagValue string `pulumi:"tagValue"` +} + +// GetNodesTagInput is an input type that accepts GetNodesTagArgs and GetNodesTagOutput values. +// You can construct a concrete instance of `GetNodesTagInput` via: +// +// GetNodesTagArgs{...} +type GetNodesTagInput interface { + pulumi.Input + + ToGetNodesTagOutput() GetNodesTagOutput + ToGetNodesTagOutputWithContext(context.Context) GetNodesTagOutput +} + +type GetNodesTagArgs struct { + // Tag key. + TagKey pulumi.StringInput `pulumi:"tagKey"` + // Tag value. + TagValue pulumi.StringInput `pulumi:"tagValue"` +} + +func (GetNodesTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetNodesTag)(nil)).Elem() +} + +func (i GetNodesTagArgs) ToGetNodesTagOutput() GetNodesTagOutput { + return i.ToGetNodesTagOutputWithContext(context.Background()) +} + +func (i GetNodesTagArgs) ToGetNodesTagOutputWithContext(ctx context.Context) GetNodesTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNodesTagOutput) +} + +// GetNodesTagArrayInput is an input type that accepts GetNodesTagArray and GetNodesTagArrayOutput values. +// You can construct a concrete instance of `GetNodesTagArrayInput` via: +// +// GetNodesTagArray{ GetNodesTagArgs{...} } +type GetNodesTagArrayInput interface { + pulumi.Input + + ToGetNodesTagArrayOutput() GetNodesTagArrayOutput + ToGetNodesTagArrayOutputWithContext(context.Context) GetNodesTagArrayOutput +} + +type GetNodesTagArray []GetNodesTagInput + +func (GetNodesTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNodesTag)(nil)).Elem() +} + +func (i GetNodesTagArray) ToGetNodesTagArrayOutput() GetNodesTagArrayOutput { + return i.ToGetNodesTagArrayOutputWithContext(context.Background()) +} + +func (i GetNodesTagArray) ToGetNodesTagArrayOutputWithContext(ctx context.Context) GetNodesTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNodesTagArrayOutput) +} + +type GetNodesTagOutput struct{ *pulumi.OutputState } + +func (GetNodesTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetNodesTag)(nil)).Elem() +} + +func (o GetNodesTagOutput) ToGetNodesTagOutput() GetNodesTagOutput { + return o +} + +func (o GetNodesTagOutput) ToGetNodesTagOutputWithContext(ctx context.Context) GetNodesTagOutput { + return o +} + +// Tag key. +func (o GetNodesTagOutput) TagKey() pulumi.StringOutput { + return o.ApplyT(func(v GetNodesTag) string { return v.TagKey }).(pulumi.StringOutput) +} + +// Tag value. +func (o GetNodesTagOutput) TagValue() pulumi.StringOutput { + return o.ApplyT(func(v GetNodesTag) string { return v.TagValue }).(pulumi.StringOutput) +} + +type GetNodesTagArrayOutput struct{ *pulumi.OutputState } + +func (GetNodesTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNodesTag)(nil)).Elem() +} + +func (o GetNodesTagArrayOutput) ToGetNodesTagArrayOutput() GetNodesTagArrayOutput { + return o +} + +func (o GetNodesTagArrayOutput) ToGetNodesTagArrayOutputWithContext(ctx context.Context) GetNodesTagArrayOutput { + return o +} + +func (o GetNodesTagArrayOutput) Index(i pulumi.IntInput) GetNodesTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetNodesTag { + return vs[0].([]GetNodesTag)[vs[1].(int)] + }).(GetNodesTagOutput) +} + type GetOrgAuthNodeItem struct { // Verified company name. AuthName string `pulumi:"authName"` @@ -1607,6 +1970,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{}) @@ -1622,6 +2193,12 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetMembersItemOrgIdentityArrayInput)(nil)).Elem(), GetMembersItemOrgIdentityArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetMembersItemOrgPermissionInput)(nil)).Elem(), GetMembersItemOrgPermissionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetMembersItemOrgPermissionArrayInput)(nil)).Elem(), GetMembersItemOrgPermissionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetNodesItemInput)(nil)).Elem(), GetNodesItemArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetNodesItemArrayInput)(nil)).Elem(), GetNodesItemArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetNodesItemTagInput)(nil)).Elem(), GetNodesItemTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetNodesItemTagArrayInput)(nil)).Elem(), GetNodesItemTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetNodesTagInput)(nil)).Elem(), GetNodesTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetNodesTagArrayInput)(nil)).Elem(), GetNodesTagArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetOrgAuthNodeItemInput)(nil)).Elem(), GetOrgAuthNodeItemArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetOrgAuthNodeItemArrayInput)(nil)).Elem(), GetOrgAuthNodeItemArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetOrgAuthNodeItemManagerInput)(nil)).Elem(), GetOrgAuthNodeItemManagerArgs{}) @@ -1634,6 +2211,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{}) @@ -1648,6 +2227,12 @@ func init() { pulumi.RegisterOutputType(GetMembersItemOrgIdentityArrayOutput{}) pulumi.RegisterOutputType(GetMembersItemOrgPermissionOutput{}) pulumi.RegisterOutputType(GetMembersItemOrgPermissionArrayOutput{}) + pulumi.RegisterOutputType(GetNodesItemOutput{}) + pulumi.RegisterOutputType(GetNodesItemArrayOutput{}) + pulumi.RegisterOutputType(GetNodesItemTagOutput{}) + pulumi.RegisterOutputType(GetNodesItemTagArrayOutput{}) + pulumi.RegisterOutputType(GetNodesTagOutput{}) + pulumi.RegisterOutputType(GetNodesTagArrayOutput{}) pulumi.RegisterOutputType(GetOrgAuthNodeItemOutput{}) pulumi.RegisterOutputType(GetOrgAuthNodeItemArrayOutput{}) pulumi.RegisterOutputType(GetOrgAuthNodeItemManagerOutput{}) @@ -1660,4 +2245,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/applyParameterTemplateOperation.go b/sdk/go/tencentcloud/postgresql/applyParameterTemplateOperation.go new file mode 100644 index 000000000..8760cfbed --- /dev/null +++ b/sdk/go/tencentcloud/postgresql/applyParameterTemplateOperation.go @@ -0,0 +1,266 @@ +// 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 apply parameter template +// +// ## 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.NewApplyParameterTemplateOperation(ctx, "applyParameterTemplateOperation", &Postgresql.ApplyParameterTemplateOperationArgs{ +// DbInstanceId: pulumi.String("postgres-xxxxxx"), +// TemplateId: pulumi.String("xxxxxx"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +type ApplyParameterTemplateOperation struct { + pulumi.CustomResourceState + + // Instance ID. + DbInstanceId pulumi.StringOutput `pulumi:"dbInstanceId"` + // Template ID. + TemplateId pulumi.StringOutput `pulumi:"templateId"` +} + +// NewApplyParameterTemplateOperation registers a new resource with the given unique name, arguments, and options. +func NewApplyParameterTemplateOperation(ctx *pulumi.Context, + name string, args *ApplyParameterTemplateOperationArgs, opts ...pulumi.ResourceOption) (*ApplyParameterTemplateOperation, 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.TemplateId == nil { + return nil, errors.New("invalid value for required argument 'TemplateId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ApplyParameterTemplateOperation + err := ctx.RegisterResource("tencentcloud:Postgresql/applyParameterTemplateOperation:ApplyParameterTemplateOperation", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetApplyParameterTemplateOperation gets an existing ApplyParameterTemplateOperation 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 GetApplyParameterTemplateOperation(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ApplyParameterTemplateOperationState, opts ...pulumi.ResourceOption) (*ApplyParameterTemplateOperation, error) { + var resource ApplyParameterTemplateOperation + err := ctx.ReadResource("tencentcloud:Postgresql/applyParameterTemplateOperation:ApplyParameterTemplateOperation", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ApplyParameterTemplateOperation resources. +type applyParameterTemplateOperationState struct { + // Instance ID. + DbInstanceId *string `pulumi:"dbInstanceId"` + // Template ID. + TemplateId *string `pulumi:"templateId"` +} + +type ApplyParameterTemplateOperationState struct { + // Instance ID. + DbInstanceId pulumi.StringPtrInput + // Template ID. + TemplateId pulumi.StringPtrInput +} + +func (ApplyParameterTemplateOperationState) ElementType() reflect.Type { + return reflect.TypeOf((*applyParameterTemplateOperationState)(nil)).Elem() +} + +type applyParameterTemplateOperationArgs struct { + // Instance ID. + DbInstanceId string `pulumi:"dbInstanceId"` + // Template ID. + TemplateId string `pulumi:"templateId"` +} + +// The set of arguments for constructing a ApplyParameterTemplateOperation resource. +type ApplyParameterTemplateOperationArgs struct { + // Instance ID. + DbInstanceId pulumi.StringInput + // Template ID. + TemplateId pulumi.StringInput +} + +func (ApplyParameterTemplateOperationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*applyParameterTemplateOperationArgs)(nil)).Elem() +} + +type ApplyParameterTemplateOperationInput interface { + pulumi.Input + + ToApplyParameterTemplateOperationOutput() ApplyParameterTemplateOperationOutput + ToApplyParameterTemplateOperationOutputWithContext(ctx context.Context) ApplyParameterTemplateOperationOutput +} + +func (*ApplyParameterTemplateOperation) ElementType() reflect.Type { + return reflect.TypeOf((**ApplyParameterTemplateOperation)(nil)).Elem() +} + +func (i *ApplyParameterTemplateOperation) ToApplyParameterTemplateOperationOutput() ApplyParameterTemplateOperationOutput { + return i.ToApplyParameterTemplateOperationOutputWithContext(context.Background()) +} + +func (i *ApplyParameterTemplateOperation) ToApplyParameterTemplateOperationOutputWithContext(ctx context.Context) ApplyParameterTemplateOperationOutput { + return pulumi.ToOutputWithContext(ctx, i).(ApplyParameterTemplateOperationOutput) +} + +// ApplyParameterTemplateOperationArrayInput is an input type that accepts ApplyParameterTemplateOperationArray and ApplyParameterTemplateOperationArrayOutput values. +// You can construct a concrete instance of `ApplyParameterTemplateOperationArrayInput` via: +// +// ApplyParameterTemplateOperationArray{ ApplyParameterTemplateOperationArgs{...} } +type ApplyParameterTemplateOperationArrayInput interface { + pulumi.Input + + ToApplyParameterTemplateOperationArrayOutput() ApplyParameterTemplateOperationArrayOutput + ToApplyParameterTemplateOperationArrayOutputWithContext(context.Context) ApplyParameterTemplateOperationArrayOutput +} + +type ApplyParameterTemplateOperationArray []ApplyParameterTemplateOperationInput + +func (ApplyParameterTemplateOperationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ApplyParameterTemplateOperation)(nil)).Elem() +} + +func (i ApplyParameterTemplateOperationArray) ToApplyParameterTemplateOperationArrayOutput() ApplyParameterTemplateOperationArrayOutput { + return i.ToApplyParameterTemplateOperationArrayOutputWithContext(context.Background()) +} + +func (i ApplyParameterTemplateOperationArray) ToApplyParameterTemplateOperationArrayOutputWithContext(ctx context.Context) ApplyParameterTemplateOperationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ApplyParameterTemplateOperationArrayOutput) +} + +// ApplyParameterTemplateOperationMapInput is an input type that accepts ApplyParameterTemplateOperationMap and ApplyParameterTemplateOperationMapOutput values. +// You can construct a concrete instance of `ApplyParameterTemplateOperationMapInput` via: +// +// ApplyParameterTemplateOperationMap{ "key": ApplyParameterTemplateOperationArgs{...} } +type ApplyParameterTemplateOperationMapInput interface { + pulumi.Input + + ToApplyParameterTemplateOperationMapOutput() ApplyParameterTemplateOperationMapOutput + ToApplyParameterTemplateOperationMapOutputWithContext(context.Context) ApplyParameterTemplateOperationMapOutput +} + +type ApplyParameterTemplateOperationMap map[string]ApplyParameterTemplateOperationInput + +func (ApplyParameterTemplateOperationMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ApplyParameterTemplateOperation)(nil)).Elem() +} + +func (i ApplyParameterTemplateOperationMap) ToApplyParameterTemplateOperationMapOutput() ApplyParameterTemplateOperationMapOutput { + return i.ToApplyParameterTemplateOperationMapOutputWithContext(context.Background()) +} + +func (i ApplyParameterTemplateOperationMap) ToApplyParameterTemplateOperationMapOutputWithContext(ctx context.Context) ApplyParameterTemplateOperationMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ApplyParameterTemplateOperationMapOutput) +} + +type ApplyParameterTemplateOperationOutput struct{ *pulumi.OutputState } + +func (ApplyParameterTemplateOperationOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ApplyParameterTemplateOperation)(nil)).Elem() +} + +func (o ApplyParameterTemplateOperationOutput) ToApplyParameterTemplateOperationOutput() ApplyParameterTemplateOperationOutput { + return o +} + +func (o ApplyParameterTemplateOperationOutput) ToApplyParameterTemplateOperationOutputWithContext(ctx context.Context) ApplyParameterTemplateOperationOutput { + return o +} + +// Instance ID. +func (o ApplyParameterTemplateOperationOutput) DbInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *ApplyParameterTemplateOperation) pulumi.StringOutput { return v.DbInstanceId }).(pulumi.StringOutput) +} + +// Template ID. +func (o ApplyParameterTemplateOperationOutput) TemplateId() pulumi.StringOutput { + return o.ApplyT(func(v *ApplyParameterTemplateOperation) pulumi.StringOutput { return v.TemplateId }).(pulumi.StringOutput) +} + +type ApplyParameterTemplateOperationArrayOutput struct{ *pulumi.OutputState } + +func (ApplyParameterTemplateOperationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ApplyParameterTemplateOperation)(nil)).Elem() +} + +func (o ApplyParameterTemplateOperationArrayOutput) ToApplyParameterTemplateOperationArrayOutput() ApplyParameterTemplateOperationArrayOutput { + return o +} + +func (o ApplyParameterTemplateOperationArrayOutput) ToApplyParameterTemplateOperationArrayOutputWithContext(ctx context.Context) ApplyParameterTemplateOperationArrayOutput { + return o +} + +func (o ApplyParameterTemplateOperationArrayOutput) Index(i pulumi.IntInput) ApplyParameterTemplateOperationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ApplyParameterTemplateOperation { + return vs[0].([]*ApplyParameterTemplateOperation)[vs[1].(int)] + }).(ApplyParameterTemplateOperationOutput) +} + +type ApplyParameterTemplateOperationMapOutput struct{ *pulumi.OutputState } + +func (ApplyParameterTemplateOperationMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ApplyParameterTemplateOperation)(nil)).Elem() +} + +func (o ApplyParameterTemplateOperationMapOutput) ToApplyParameterTemplateOperationMapOutput() ApplyParameterTemplateOperationMapOutput { + return o +} + +func (o ApplyParameterTemplateOperationMapOutput) ToApplyParameterTemplateOperationMapOutputWithContext(ctx context.Context) ApplyParameterTemplateOperationMapOutput { + return o +} + +func (o ApplyParameterTemplateOperationMapOutput) MapIndex(k pulumi.StringInput) ApplyParameterTemplateOperationOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ApplyParameterTemplateOperation { + return vs[0].(map[string]*ApplyParameterTemplateOperation)[vs[1].(string)] + }).(ApplyParameterTemplateOperationOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ApplyParameterTemplateOperationInput)(nil)).Elem(), &ApplyParameterTemplateOperation{}) + pulumi.RegisterInputType(reflect.TypeOf((*ApplyParameterTemplateOperationArrayInput)(nil)).Elem(), ApplyParameterTemplateOperationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ApplyParameterTemplateOperationMapInput)(nil)).Elem(), ApplyParameterTemplateOperationMap{}) + pulumi.RegisterOutputType(ApplyParameterTemplateOperationOutput{}) + pulumi.RegisterOutputType(ApplyParameterTemplateOperationArrayOutput{}) + pulumi.RegisterOutputType(ApplyParameterTemplateOperationMapOutput{}) +} diff --git a/sdk/go/tencentcloud/postgresql/cloneDbInstance.go b/sdk/go/tencentcloud/postgresql/cloneDbInstance.go new file mode 100644 index 000000000..956451ef6 --- /dev/null +++ b/sdk/go/tencentcloud/postgresql/cloneDbInstance.go @@ -0,0 +1,732 @@ +// 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 clone db instance +// +// ## 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.NewCloneDbInstance(ctx, "example", &Postgresql.CloneDbInstanceArgs{ +// AutoRenewFlag: pulumi.Int(0), +// DbInstanceId: pulumi.String("postgres-evsqpyap"), +// DbNodeSets: postgresql.CloneDbInstanceDbNodeSetArray{ +// &postgresql.CloneDbInstanceDbNodeSetArgs{ +// Role: pulumi.String("Primary"), +// Zone: pulumi.String("ap-guangzhou-6"), +// }, +// &postgresql.CloneDbInstanceDbNodeSetArgs{ +// Role: pulumi.String("Standby"), +// Zone: pulumi.String("ap-guangzhou-6"), +// }, +// }, +// InstanceChargeType: pulumi.String("POSTPAID_BY_HOUR"), +// Period: pulumi.Int(1), +// ProjectId: pulumi.Int(0), +// RecoveryTargetTime: pulumi.String("2024-10-12 18:17:00"), +// SecurityGroupIds: pulumi.StringArray{ +// pulumi.String("sg-8stavs03"), +// }, +// SpecCode: pulumi.String("pg.it.medium4"), +// Storage: pulumi.Int(200), +// SubnetId: pulumi.String("subnet-b8hintyy"), +// TagLists: postgresql.CloneDbInstanceTagListArray{ +// &postgresql.CloneDbInstanceTagListArgs{ +// TagKey: pulumi.String("createBy"), +// TagValue: pulumi.String("terraform"), +// }, +// }, +// VpcId: pulumi.String("vpc-a6zec4mf"), +// }) +// 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/Postgresql" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// baseBackups, err := Postgresql.GetBaseBackups(ctx, &postgresql.GetBaseBackupsArgs{ +// Filters: []postgresql.GetBaseBackupsFilter{ +// { +// Name: pulumi.StringRef("db-instance-id"), +// Values: []string{ +// "postgres-evsqpyap", +// }, +// }, +// }, +// OrderBy: pulumi.StringRef("Size"), +// OrderByType: pulumi.StringRef("asc"), +// }, nil) +// if err != nil { +// return err +// } +// _, err = Postgresql.NewCloneDbInstance(ctx, "example", &Postgresql.CloneDbInstanceArgs{ +// DbInstanceId: pulumi.String("postgres-evsqpyap"), +// SpecCode: pulumi.String("pg.it.medium4"), +// Storage: pulumi.Int(200), +// Period: pulumi.Int(1), +// AutoRenewFlag: pulumi.Int(0), +// VpcId: pulumi.String("vpc-a6zec4mf"), +// SubnetId: pulumi.String("subnet-b8hintyy"), +// InstanceChargeType: pulumi.String("POSTPAID_BY_HOUR"), +// SecurityGroupIds: pulumi.StringArray{ +// pulumi.String("sg-8stavs03"), +// }, +// ProjectId: pulumi.Int(0), +// BackupSetId: pulumi.String(baseBackups.BaseBackupSets[0].Id), +// DbNodeSets: postgresql.CloneDbInstanceDbNodeSetArray{ +// &postgresql.CloneDbInstanceDbNodeSetArgs{ +// Role: pulumi.String("Primary"), +// Zone: pulumi.String("ap-guangzhou-6"), +// }, +// &postgresql.CloneDbInstanceDbNodeSetArgs{ +// Role: pulumi.String("Standby"), +// Zone: pulumi.String("ap-guangzhou-6"), +// }, +// }, +// TagLists: postgresql.CloneDbInstanceTagListArray{ +// &postgresql.CloneDbInstanceTagListArgs{ +// TagKey: pulumi.String("createBy"), +// TagValue: pulumi.String("terraform"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ### Clone db instance from CDC +// +// +// ```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.NewCloneDbInstance(ctx, "example", &Postgresql.CloneDbInstanceArgs{ +// AutoRenewFlag: pulumi.Int(0), +// DbInstanceId: pulumi.String("postgres-evsqpyap"), +// DbNodeSets: postgresql.CloneDbInstanceDbNodeSetArray{ +// &postgresql.CloneDbInstanceDbNodeSetArgs{ +// DedicatedClusterId: pulumi.String("cluster-262n63e8"), +// Role: pulumi.String("Primary"), +// Zone: pulumi.String("ap-guangzhou-6"), +// }, +// &postgresql.CloneDbInstanceDbNodeSetArgs{ +// DedicatedClusterId: pulumi.String("cluster-262n63e8"), +// Role: pulumi.String("Standby"), +// Zone: pulumi.String("ap-guangzhou-6"), +// }, +// }, +// InstanceChargeType: pulumi.String("POSTPAID_BY_HOUR"), +// Period: pulumi.Int(1), +// ProjectId: pulumi.Int(0), +// RecoveryTargetTime: pulumi.String("2024-10-12 18:17:00"), +// SecurityGroupIds: pulumi.StringArray{ +// pulumi.String("sg-8stavs03"), +// }, +// SpecCode: pulumi.String("pg.it.medium4"), +// Storage: pulumi.Int(200), +// SubnetId: pulumi.String("subnet-b8hintyy"), +// TagLists: postgresql.CloneDbInstanceTagListArray{ +// &postgresql.CloneDbInstanceTagListArgs{ +// TagKey: pulumi.String("createBy"), +// TagValue: pulumi.String("terraform"), +// }, +// }, +// VpcId: pulumi.String("vpc-a6zec4mf"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +type CloneDbInstance struct { + pulumi.CustomResourceState + + // Campaign ID. + ActivityId pulumi.IntPtrOutput `pulumi:"activityId"` + // Renewal Flag: + AutoRenewFlag pulumi.IntOutput `pulumi:"autoRenewFlag"` + // Basic backup set ID. + BackupSetId pulumi.StringPtrOutput `pulumi:"backupSetId"` + // ID of the original instance to be cloned. + DbInstanceId pulumi.StringOutput `pulumi:"dbInstanceId"` + // Deployment information of the instance node, which will display the information of each AZ when the instance node is deployed across multiple AZs. + // The information of AZ can be obtained from the `Zone` field in the return value of the [DescribeZones](https://intl.cloud.tencent.com/document/api/409/16769?from_cn_redirect=1) API. + DbNodeSets CloneDbInstanceDbNodeSetArrayOutput `pulumi:"dbNodeSets"` + // Instance billing type, which currently supports: + // + // - PREPAID: Prepaid, i.e., monthly subscription + // - POSTPAID_BY_HOUR: Pay-as-you-go, i.e., pay by consumption + // + // Default value: PREPAID. + InstanceChargeType pulumi.StringPtrOutput `pulumi:"instanceChargeType"` + // Name of the newly purchased instance, which can contain up to 60 letters, digits, or symbols (-_). If this parameter is not specified, "Unnamed" will be displayed by default. + Name pulumi.StringOutput `pulumi:"name"` + // Purchase duration, in months. + // - Prepaid: Supports `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, and `36`. + // - Pay-as-you-go: Only supports `1`. + Period pulumi.IntOutput `pulumi:"period"` + // Project ID. + ProjectId pulumi.IntPtrOutput `pulumi:"projectId"` + // Restoration point in time. + RecoveryTargetTime pulumi.StringPtrOutput `pulumi:"recoveryTargetTime"` + // Security group of the instance, which can be obtained from the `sgld` field in the return value of the [DescribeSecurityGroups](https://intl.cloud.tencent.com/document/api/215/15808?from_cn_redirect=1) API. If this parameter is not specified, the default security group will be bound. + SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"` + // Purchasable code, which can be obtained from the `SpecCode` field in the return value of the [DescribeClasses](https://intl.cloud.tencent.com/document/api/409/89019?from_cn_redirect=1) API. + SpecCode pulumi.StringOutput `pulumi:"specCode"` + // Instance storage capacity in GB. + Storage pulumi.IntOutput `pulumi:"storage"` + // VPC subnet ID in the format of `subnet-xxxxxxxx`, which can be obtained in the console or from the `unSubnetId` field in the return value of the [DescribeSubnets](https://intl.cloud.tencent.com/document/api/215/15784?from_cn_redirect=1) API. + SubnetId pulumi.StringOutput `pulumi:"subnetId"` + // Primary-standby sync mode, which supports: + // Semi-sync: Semi-sync + // Async: Asynchronous + // Default value for the primary instance: Semi-sync + // Default value for the read-only instance: Async. + SyncMode pulumi.StringPtrOutput `pulumi:"syncMode"` + // The information of tags to be bound with the instance, which is left empty by default. This parameter can be obtained from the `Tags` field in the return value of the [DescribeTags](https://intl.cloud.tencent.com/document/api/651/35316?from_cn_redirect=1) API. + TagLists CloneDbInstanceTagListArrayOutput `pulumi:"tagLists"` + // VPC ID in the format of `vpc-xxxxxxx`, which can be obtained in the console or from the `unVpcId` field in the return value of the [DescribeVpcEx](https://intl.cloud.tencent.com/document/api/215/1372?from_cn_redirect=1) API. + VpcId pulumi.StringOutput `pulumi:"vpcId"` +} + +// NewCloneDbInstance registers a new resource with the given unique name, arguments, and options. +func NewCloneDbInstance(ctx *pulumi.Context, + name string, args *CloneDbInstanceArgs, opts ...pulumi.ResourceOption) (*CloneDbInstance, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AutoRenewFlag == nil { + return nil, errors.New("invalid value for required argument 'AutoRenewFlag'") + } + if args.DbInstanceId == nil { + return nil, errors.New("invalid value for required argument 'DbInstanceId'") + } + if args.Period == nil { + return nil, errors.New("invalid value for required argument 'Period'") + } + if args.SpecCode == nil { + return nil, errors.New("invalid value for required argument 'SpecCode'") + } + if args.Storage == nil { + return nil, errors.New("invalid value for required argument 'Storage'") + } + if args.SubnetId == nil { + return nil, errors.New("invalid value for required argument 'SubnetId'") + } + if args.VpcId == nil { + return nil, errors.New("invalid value for required argument 'VpcId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource CloneDbInstance + err := ctx.RegisterResource("tencentcloud:Postgresql/cloneDbInstance:CloneDbInstance", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCloneDbInstance gets an existing CloneDbInstance 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 GetCloneDbInstance(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CloneDbInstanceState, opts ...pulumi.ResourceOption) (*CloneDbInstance, error) { + var resource CloneDbInstance + err := ctx.ReadResource("tencentcloud:Postgresql/cloneDbInstance:CloneDbInstance", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering CloneDbInstance resources. +type cloneDbInstanceState struct { + // Campaign ID. + ActivityId *int `pulumi:"activityId"` + // Renewal Flag: + AutoRenewFlag *int `pulumi:"autoRenewFlag"` + // Basic backup set ID. + BackupSetId *string `pulumi:"backupSetId"` + // ID of the original instance to be cloned. + DbInstanceId *string `pulumi:"dbInstanceId"` + // Deployment information of the instance node, which will display the information of each AZ when the instance node is deployed across multiple AZs. + // The information of AZ can be obtained from the `Zone` field in the return value of the [DescribeZones](https://intl.cloud.tencent.com/document/api/409/16769?from_cn_redirect=1) API. + DbNodeSets []CloneDbInstanceDbNodeSet `pulumi:"dbNodeSets"` + // Instance billing type, which currently supports: + // + // - PREPAID: Prepaid, i.e., monthly subscription + // - POSTPAID_BY_HOUR: Pay-as-you-go, i.e., pay by consumption + // + // Default value: PREPAID. + InstanceChargeType *string `pulumi:"instanceChargeType"` + // Name of the newly purchased instance, which can contain up to 60 letters, digits, or symbols (-_). If this parameter is not specified, "Unnamed" will be displayed by default. + Name *string `pulumi:"name"` + // Purchase duration, in months. + // - Prepaid: Supports `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, and `36`. + // - Pay-as-you-go: Only supports `1`. + Period *int `pulumi:"period"` + // Project ID. + ProjectId *int `pulumi:"projectId"` + // Restoration point in time. + RecoveryTargetTime *string `pulumi:"recoveryTargetTime"` + // Security group of the instance, which can be obtained from the `sgld` field in the return value of the [DescribeSecurityGroups](https://intl.cloud.tencent.com/document/api/215/15808?from_cn_redirect=1) API. If this parameter is not specified, the default security group will be bound. + SecurityGroupIds []string `pulumi:"securityGroupIds"` + // Purchasable code, which can be obtained from the `SpecCode` field in the return value of the [DescribeClasses](https://intl.cloud.tencent.com/document/api/409/89019?from_cn_redirect=1) API. + SpecCode *string `pulumi:"specCode"` + // Instance storage capacity in GB. + Storage *int `pulumi:"storage"` + // VPC subnet ID in the format of `subnet-xxxxxxxx`, which can be obtained in the console or from the `unSubnetId` field in the return value of the [DescribeSubnets](https://intl.cloud.tencent.com/document/api/215/15784?from_cn_redirect=1) API. + SubnetId *string `pulumi:"subnetId"` + // Primary-standby sync mode, which supports: + // Semi-sync: Semi-sync + // Async: Asynchronous + // Default value for the primary instance: Semi-sync + // Default value for the read-only instance: Async. + SyncMode *string `pulumi:"syncMode"` + // The information of tags to be bound with the instance, which is left empty by default. This parameter can be obtained from the `Tags` field in the return value of the [DescribeTags](https://intl.cloud.tencent.com/document/api/651/35316?from_cn_redirect=1) API. + TagLists []CloneDbInstanceTagList `pulumi:"tagLists"` + // VPC ID in the format of `vpc-xxxxxxx`, which can be obtained in the console or from the `unVpcId` field in the return value of the [DescribeVpcEx](https://intl.cloud.tencent.com/document/api/215/1372?from_cn_redirect=1) API. + VpcId *string `pulumi:"vpcId"` +} + +type CloneDbInstanceState struct { + // Campaign ID. + ActivityId pulumi.IntPtrInput + // Renewal Flag: + AutoRenewFlag pulumi.IntPtrInput + // Basic backup set ID. + BackupSetId pulumi.StringPtrInput + // ID of the original instance to be cloned. + DbInstanceId pulumi.StringPtrInput + // Deployment information of the instance node, which will display the information of each AZ when the instance node is deployed across multiple AZs. + // The information of AZ can be obtained from the `Zone` field in the return value of the [DescribeZones](https://intl.cloud.tencent.com/document/api/409/16769?from_cn_redirect=1) API. + DbNodeSets CloneDbInstanceDbNodeSetArrayInput + // Instance billing type, which currently supports: + // + // - PREPAID: Prepaid, i.e., monthly subscription + // - POSTPAID_BY_HOUR: Pay-as-you-go, i.e., pay by consumption + // + // Default value: PREPAID. + InstanceChargeType pulumi.StringPtrInput + // Name of the newly purchased instance, which can contain up to 60 letters, digits, or symbols (-_). If this parameter is not specified, "Unnamed" will be displayed by default. + Name pulumi.StringPtrInput + // Purchase duration, in months. + // - Prepaid: Supports `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, and `36`. + // - Pay-as-you-go: Only supports `1`. + Period pulumi.IntPtrInput + // Project ID. + ProjectId pulumi.IntPtrInput + // Restoration point in time. + RecoveryTargetTime pulumi.StringPtrInput + // Security group of the instance, which can be obtained from the `sgld` field in the return value of the [DescribeSecurityGroups](https://intl.cloud.tencent.com/document/api/215/15808?from_cn_redirect=1) API. If this parameter is not specified, the default security group will be bound. + SecurityGroupIds pulumi.StringArrayInput + // Purchasable code, which can be obtained from the `SpecCode` field in the return value of the [DescribeClasses](https://intl.cloud.tencent.com/document/api/409/89019?from_cn_redirect=1) API. + SpecCode pulumi.StringPtrInput + // Instance storage capacity in GB. + Storage pulumi.IntPtrInput + // VPC subnet ID in the format of `subnet-xxxxxxxx`, which can be obtained in the console or from the `unSubnetId` field in the return value of the [DescribeSubnets](https://intl.cloud.tencent.com/document/api/215/15784?from_cn_redirect=1) API. + SubnetId pulumi.StringPtrInput + // Primary-standby sync mode, which supports: + // Semi-sync: Semi-sync + // Async: Asynchronous + // Default value for the primary instance: Semi-sync + // Default value for the read-only instance: Async. + SyncMode pulumi.StringPtrInput + // The information of tags to be bound with the instance, which is left empty by default. This parameter can be obtained from the `Tags` field in the return value of the [DescribeTags](https://intl.cloud.tencent.com/document/api/651/35316?from_cn_redirect=1) API. + TagLists CloneDbInstanceTagListArrayInput + // VPC ID in the format of `vpc-xxxxxxx`, which can be obtained in the console or from the `unVpcId` field in the return value of the [DescribeVpcEx](https://intl.cloud.tencent.com/document/api/215/1372?from_cn_redirect=1) API. + VpcId pulumi.StringPtrInput +} + +func (CloneDbInstanceState) ElementType() reflect.Type { + return reflect.TypeOf((*cloneDbInstanceState)(nil)).Elem() +} + +type cloneDbInstanceArgs struct { + // Campaign ID. + ActivityId *int `pulumi:"activityId"` + // Renewal Flag: + AutoRenewFlag int `pulumi:"autoRenewFlag"` + // Basic backup set ID. + BackupSetId *string `pulumi:"backupSetId"` + // ID of the original instance to be cloned. + DbInstanceId string `pulumi:"dbInstanceId"` + // Deployment information of the instance node, which will display the information of each AZ when the instance node is deployed across multiple AZs. + // The information of AZ can be obtained from the `Zone` field in the return value of the [DescribeZones](https://intl.cloud.tencent.com/document/api/409/16769?from_cn_redirect=1) API. + DbNodeSets []CloneDbInstanceDbNodeSet `pulumi:"dbNodeSets"` + // Instance billing type, which currently supports: + // + // - PREPAID: Prepaid, i.e., monthly subscription + // - POSTPAID_BY_HOUR: Pay-as-you-go, i.e., pay by consumption + // + // Default value: PREPAID. + InstanceChargeType *string `pulumi:"instanceChargeType"` + // Name of the newly purchased instance, which can contain up to 60 letters, digits, or symbols (-_). If this parameter is not specified, "Unnamed" will be displayed by default. + Name *string `pulumi:"name"` + // Purchase duration, in months. + // - Prepaid: Supports `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, and `36`. + // - Pay-as-you-go: Only supports `1`. + Period int `pulumi:"period"` + // Project ID. + ProjectId *int `pulumi:"projectId"` + // Restoration point in time. + RecoveryTargetTime *string `pulumi:"recoveryTargetTime"` + // Security group of the instance, which can be obtained from the `sgld` field in the return value of the [DescribeSecurityGroups](https://intl.cloud.tencent.com/document/api/215/15808?from_cn_redirect=1) API. If this parameter is not specified, the default security group will be bound. + SecurityGroupIds []string `pulumi:"securityGroupIds"` + // Purchasable code, which can be obtained from the `SpecCode` field in the return value of the [DescribeClasses](https://intl.cloud.tencent.com/document/api/409/89019?from_cn_redirect=1) API. + SpecCode string `pulumi:"specCode"` + // Instance storage capacity in GB. + Storage int `pulumi:"storage"` + // VPC subnet ID in the format of `subnet-xxxxxxxx`, which can be obtained in the console or from the `unSubnetId` field in the return value of the [DescribeSubnets](https://intl.cloud.tencent.com/document/api/215/15784?from_cn_redirect=1) API. + SubnetId string `pulumi:"subnetId"` + // Primary-standby sync mode, which supports: + // Semi-sync: Semi-sync + // Async: Asynchronous + // Default value for the primary instance: Semi-sync + // Default value for the read-only instance: Async. + SyncMode *string `pulumi:"syncMode"` + // The information of tags to be bound with the instance, which is left empty by default. This parameter can be obtained from the `Tags` field in the return value of the [DescribeTags](https://intl.cloud.tencent.com/document/api/651/35316?from_cn_redirect=1) API. + TagLists []CloneDbInstanceTagList `pulumi:"tagLists"` + // VPC ID in the format of `vpc-xxxxxxx`, which can be obtained in the console or from the `unVpcId` field in the return value of the [DescribeVpcEx](https://intl.cloud.tencent.com/document/api/215/1372?from_cn_redirect=1) API. + VpcId string `pulumi:"vpcId"` +} + +// The set of arguments for constructing a CloneDbInstance resource. +type CloneDbInstanceArgs struct { + // Campaign ID. + ActivityId pulumi.IntPtrInput + // Renewal Flag: + AutoRenewFlag pulumi.IntInput + // Basic backup set ID. + BackupSetId pulumi.StringPtrInput + // ID of the original instance to be cloned. + DbInstanceId pulumi.StringInput + // Deployment information of the instance node, which will display the information of each AZ when the instance node is deployed across multiple AZs. + // The information of AZ can be obtained from the `Zone` field in the return value of the [DescribeZones](https://intl.cloud.tencent.com/document/api/409/16769?from_cn_redirect=1) API. + DbNodeSets CloneDbInstanceDbNodeSetArrayInput + // Instance billing type, which currently supports: + // + // - PREPAID: Prepaid, i.e., monthly subscription + // - POSTPAID_BY_HOUR: Pay-as-you-go, i.e., pay by consumption + // + // Default value: PREPAID. + InstanceChargeType pulumi.StringPtrInput + // Name of the newly purchased instance, which can contain up to 60 letters, digits, or symbols (-_). If this parameter is not specified, "Unnamed" will be displayed by default. + Name pulumi.StringPtrInput + // Purchase duration, in months. + // - Prepaid: Supports `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, and `36`. + // - Pay-as-you-go: Only supports `1`. + Period pulumi.IntInput + // Project ID. + ProjectId pulumi.IntPtrInput + // Restoration point in time. + RecoveryTargetTime pulumi.StringPtrInput + // Security group of the instance, which can be obtained from the `sgld` field in the return value of the [DescribeSecurityGroups](https://intl.cloud.tencent.com/document/api/215/15808?from_cn_redirect=1) API. If this parameter is not specified, the default security group will be bound. + SecurityGroupIds pulumi.StringArrayInput + // Purchasable code, which can be obtained from the `SpecCode` field in the return value of the [DescribeClasses](https://intl.cloud.tencent.com/document/api/409/89019?from_cn_redirect=1) API. + SpecCode pulumi.StringInput + // Instance storage capacity in GB. + Storage pulumi.IntInput + // VPC subnet ID in the format of `subnet-xxxxxxxx`, which can be obtained in the console or from the `unSubnetId` field in the return value of the [DescribeSubnets](https://intl.cloud.tencent.com/document/api/215/15784?from_cn_redirect=1) API. + SubnetId pulumi.StringInput + // Primary-standby sync mode, which supports: + // Semi-sync: Semi-sync + // Async: Asynchronous + // Default value for the primary instance: Semi-sync + // Default value for the read-only instance: Async. + SyncMode pulumi.StringPtrInput + // The information of tags to be bound with the instance, which is left empty by default. This parameter can be obtained from the `Tags` field in the return value of the [DescribeTags](https://intl.cloud.tencent.com/document/api/651/35316?from_cn_redirect=1) API. + TagLists CloneDbInstanceTagListArrayInput + // VPC ID in the format of `vpc-xxxxxxx`, which can be obtained in the console or from the `unVpcId` field in the return value of the [DescribeVpcEx](https://intl.cloud.tencent.com/document/api/215/1372?from_cn_redirect=1) API. + VpcId pulumi.StringInput +} + +func (CloneDbInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*cloneDbInstanceArgs)(nil)).Elem() +} + +type CloneDbInstanceInput interface { + pulumi.Input + + ToCloneDbInstanceOutput() CloneDbInstanceOutput + ToCloneDbInstanceOutputWithContext(ctx context.Context) CloneDbInstanceOutput +} + +func (*CloneDbInstance) ElementType() reflect.Type { + return reflect.TypeOf((**CloneDbInstance)(nil)).Elem() +} + +func (i *CloneDbInstance) ToCloneDbInstanceOutput() CloneDbInstanceOutput { + return i.ToCloneDbInstanceOutputWithContext(context.Background()) +} + +func (i *CloneDbInstance) ToCloneDbInstanceOutputWithContext(ctx context.Context) CloneDbInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(CloneDbInstanceOutput) +} + +// CloneDbInstanceArrayInput is an input type that accepts CloneDbInstanceArray and CloneDbInstanceArrayOutput values. +// You can construct a concrete instance of `CloneDbInstanceArrayInput` via: +// +// CloneDbInstanceArray{ CloneDbInstanceArgs{...} } +type CloneDbInstanceArrayInput interface { + pulumi.Input + + ToCloneDbInstanceArrayOutput() CloneDbInstanceArrayOutput + ToCloneDbInstanceArrayOutputWithContext(context.Context) CloneDbInstanceArrayOutput +} + +type CloneDbInstanceArray []CloneDbInstanceInput + +func (CloneDbInstanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CloneDbInstance)(nil)).Elem() +} + +func (i CloneDbInstanceArray) ToCloneDbInstanceArrayOutput() CloneDbInstanceArrayOutput { + return i.ToCloneDbInstanceArrayOutputWithContext(context.Background()) +} + +func (i CloneDbInstanceArray) ToCloneDbInstanceArrayOutputWithContext(ctx context.Context) CloneDbInstanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CloneDbInstanceArrayOutput) +} + +// CloneDbInstanceMapInput is an input type that accepts CloneDbInstanceMap and CloneDbInstanceMapOutput values. +// You can construct a concrete instance of `CloneDbInstanceMapInput` via: +// +// CloneDbInstanceMap{ "key": CloneDbInstanceArgs{...} } +type CloneDbInstanceMapInput interface { + pulumi.Input + + ToCloneDbInstanceMapOutput() CloneDbInstanceMapOutput + ToCloneDbInstanceMapOutputWithContext(context.Context) CloneDbInstanceMapOutput +} + +type CloneDbInstanceMap map[string]CloneDbInstanceInput + +func (CloneDbInstanceMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CloneDbInstance)(nil)).Elem() +} + +func (i CloneDbInstanceMap) ToCloneDbInstanceMapOutput() CloneDbInstanceMapOutput { + return i.ToCloneDbInstanceMapOutputWithContext(context.Background()) +} + +func (i CloneDbInstanceMap) ToCloneDbInstanceMapOutputWithContext(ctx context.Context) CloneDbInstanceMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(CloneDbInstanceMapOutput) +} + +type CloneDbInstanceOutput struct{ *pulumi.OutputState } + +func (CloneDbInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CloneDbInstance)(nil)).Elem() +} + +func (o CloneDbInstanceOutput) ToCloneDbInstanceOutput() CloneDbInstanceOutput { + return o +} + +func (o CloneDbInstanceOutput) ToCloneDbInstanceOutputWithContext(ctx context.Context) CloneDbInstanceOutput { + return o +} + +// Campaign ID. +func (o CloneDbInstanceOutput) ActivityId() pulumi.IntPtrOutput { + return o.ApplyT(func(v *CloneDbInstance) pulumi.IntPtrOutput { return v.ActivityId }).(pulumi.IntPtrOutput) +} + +// Renewal Flag: +func (o CloneDbInstanceOutput) AutoRenewFlag() pulumi.IntOutput { + return o.ApplyT(func(v *CloneDbInstance) pulumi.IntOutput { return v.AutoRenewFlag }).(pulumi.IntOutput) +} + +// Basic backup set ID. +func (o CloneDbInstanceOutput) BackupSetId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CloneDbInstance) pulumi.StringPtrOutput { return v.BackupSetId }).(pulumi.StringPtrOutput) +} + +// ID of the original instance to be cloned. +func (o CloneDbInstanceOutput) DbInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *CloneDbInstance) pulumi.StringOutput { return v.DbInstanceId }).(pulumi.StringOutput) +} + +// Deployment information of the instance node, which will display the information of each AZ when the instance node is deployed across multiple AZs. +// The information of AZ can be obtained from the `Zone` field in the return value of the [DescribeZones](https://intl.cloud.tencent.com/document/api/409/16769?from_cn_redirect=1) API. +func (o CloneDbInstanceOutput) DbNodeSets() CloneDbInstanceDbNodeSetArrayOutput { + return o.ApplyT(func(v *CloneDbInstance) CloneDbInstanceDbNodeSetArrayOutput { return v.DbNodeSets }).(CloneDbInstanceDbNodeSetArrayOutput) +} + +// Instance billing type, which currently supports: +// +// - PREPAID: Prepaid, i.e., monthly subscription +// - POSTPAID_BY_HOUR: Pay-as-you-go, i.e., pay by consumption +// +// Default value: PREPAID. +func (o CloneDbInstanceOutput) InstanceChargeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CloneDbInstance) pulumi.StringPtrOutput { return v.InstanceChargeType }).(pulumi.StringPtrOutput) +} + +// Name of the newly purchased instance, which can contain up to 60 letters, digits, or symbols (-_). If this parameter is not specified, "Unnamed" will be displayed by default. +func (o CloneDbInstanceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *CloneDbInstance) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Purchase duration, in months. +// - Prepaid: Supports `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, and `36`. +// - Pay-as-you-go: Only supports `1`. +func (o CloneDbInstanceOutput) Period() pulumi.IntOutput { + return o.ApplyT(func(v *CloneDbInstance) pulumi.IntOutput { return v.Period }).(pulumi.IntOutput) +} + +// Project ID. +func (o CloneDbInstanceOutput) ProjectId() pulumi.IntPtrOutput { + return o.ApplyT(func(v *CloneDbInstance) pulumi.IntPtrOutput { return v.ProjectId }).(pulumi.IntPtrOutput) +} + +// Restoration point in time. +func (o CloneDbInstanceOutput) RecoveryTargetTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CloneDbInstance) pulumi.StringPtrOutput { return v.RecoveryTargetTime }).(pulumi.StringPtrOutput) +} + +// Security group of the instance, which can be obtained from the `sgld` field in the return value of the [DescribeSecurityGroups](https://intl.cloud.tencent.com/document/api/215/15808?from_cn_redirect=1) API. If this parameter is not specified, the default security group will be bound. +func (o CloneDbInstanceOutput) SecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CloneDbInstance) pulumi.StringArrayOutput { return v.SecurityGroupIds }).(pulumi.StringArrayOutput) +} + +// Purchasable code, which can be obtained from the `SpecCode` field in the return value of the [DescribeClasses](https://intl.cloud.tencent.com/document/api/409/89019?from_cn_redirect=1) API. +func (o CloneDbInstanceOutput) SpecCode() pulumi.StringOutput { + return o.ApplyT(func(v *CloneDbInstance) pulumi.StringOutput { return v.SpecCode }).(pulumi.StringOutput) +} + +// Instance storage capacity in GB. +func (o CloneDbInstanceOutput) Storage() pulumi.IntOutput { + return o.ApplyT(func(v *CloneDbInstance) pulumi.IntOutput { return v.Storage }).(pulumi.IntOutput) +} + +// VPC subnet ID in the format of `subnet-xxxxxxxx`, which can be obtained in the console or from the `unSubnetId` field in the return value of the [DescribeSubnets](https://intl.cloud.tencent.com/document/api/215/15784?from_cn_redirect=1) API. +func (o CloneDbInstanceOutput) SubnetId() pulumi.StringOutput { + return o.ApplyT(func(v *CloneDbInstance) pulumi.StringOutput { return v.SubnetId }).(pulumi.StringOutput) +} + +// Primary-standby sync mode, which supports: +// Semi-sync: Semi-sync +// Async: Asynchronous +// Default value for the primary instance: Semi-sync +// Default value for the read-only instance: Async. +func (o CloneDbInstanceOutput) SyncMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CloneDbInstance) pulumi.StringPtrOutput { return v.SyncMode }).(pulumi.StringPtrOutput) +} + +// The information of tags to be bound with the instance, which is left empty by default. This parameter can be obtained from the `Tags` field in the return value of the [DescribeTags](https://intl.cloud.tencent.com/document/api/651/35316?from_cn_redirect=1) API. +func (o CloneDbInstanceOutput) TagLists() CloneDbInstanceTagListArrayOutput { + return o.ApplyT(func(v *CloneDbInstance) CloneDbInstanceTagListArrayOutput { return v.TagLists }).(CloneDbInstanceTagListArrayOutput) +} + +// VPC ID in the format of `vpc-xxxxxxx`, which can be obtained in the console or from the `unVpcId` field in the return value of the [DescribeVpcEx](https://intl.cloud.tencent.com/document/api/215/1372?from_cn_redirect=1) API. +func (o CloneDbInstanceOutput) VpcId() pulumi.StringOutput { + return o.ApplyT(func(v *CloneDbInstance) pulumi.StringOutput { return v.VpcId }).(pulumi.StringOutput) +} + +type CloneDbInstanceArrayOutput struct{ *pulumi.OutputState } + +func (CloneDbInstanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CloneDbInstance)(nil)).Elem() +} + +func (o CloneDbInstanceArrayOutput) ToCloneDbInstanceArrayOutput() CloneDbInstanceArrayOutput { + return o +} + +func (o CloneDbInstanceArrayOutput) ToCloneDbInstanceArrayOutputWithContext(ctx context.Context) CloneDbInstanceArrayOutput { + return o +} + +func (o CloneDbInstanceArrayOutput) Index(i pulumi.IntInput) CloneDbInstanceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *CloneDbInstance { + return vs[0].([]*CloneDbInstance)[vs[1].(int)] + }).(CloneDbInstanceOutput) +} + +type CloneDbInstanceMapOutput struct{ *pulumi.OutputState } + +func (CloneDbInstanceMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CloneDbInstance)(nil)).Elem() +} + +func (o CloneDbInstanceMapOutput) ToCloneDbInstanceMapOutput() CloneDbInstanceMapOutput { + return o +} + +func (o CloneDbInstanceMapOutput) ToCloneDbInstanceMapOutputWithContext(ctx context.Context) CloneDbInstanceMapOutput { + return o +} + +func (o CloneDbInstanceMapOutput) MapIndex(k pulumi.StringInput) CloneDbInstanceOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *CloneDbInstance { + return vs[0].(map[string]*CloneDbInstance)[vs[1].(string)] + }).(CloneDbInstanceOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CloneDbInstanceInput)(nil)).Elem(), &CloneDbInstance{}) + pulumi.RegisterInputType(reflect.TypeOf((*CloneDbInstanceArrayInput)(nil)).Elem(), CloneDbInstanceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CloneDbInstanceMapInput)(nil)).Elem(), CloneDbInstanceMap{}) + pulumi.RegisterOutputType(CloneDbInstanceOutput{}) + pulumi.RegisterOutputType(CloneDbInstanceArrayOutput{}) + pulumi.RegisterOutputType(CloneDbInstanceMapOutput{}) +} 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..d6d10dec1 100644 --- a/sdk/go/tencentcloud/postgresql/init.go +++ b/sdk/go/tencentcloud/postgresql/init.go @@ -21,12 +21,20 @@ 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/applyParameterTemplateOperation:ApplyParameterTemplateOperation": + r = &ApplyParameterTemplateOperation{} case "tencentcloud:Postgresql/backupDownloadRestrictionConfig:BackupDownloadRestrictionConfig": r = &BackupDownloadRestrictionConfig{} case "tencentcloud:Postgresql/backupPlanConfig:BackupPlanConfig": r = &BackupPlanConfig{} case "tencentcloud:Postgresql/baseBackup:BaseBackup": r = &BaseBackup{} + case "tencentcloud:Postgresql/cloneDbInstance:CloneDbInstance": + r = &CloneDbInstance{} case "tencentcloud:Postgresql/deleteLogBackupOperation:DeleteLogBackupOperation": r = &DeleteLogBackupOperation{} case "tencentcloud:Postgresql/disisolateDbInstanceOperation:DisisolateDbInstanceOperation": @@ -70,6 +78,21 @@ 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/applyParameterTemplateOperation", + &module{version}, + ) pulumi.RegisterResourceModule( "tencentcloud", "Postgresql/backupDownloadRestrictionConfig", @@ -85,6 +108,11 @@ func init() { "Postgresql/baseBackup", &module{version}, ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Postgresql/cloneDbInstance", + &module{version}, + ) pulumi.RegisterResourceModule( "tencentcloud", "Postgresql/deleteLogBackupOperation", diff --git a/sdk/go/tencentcloud/postgresql/instance.go b/sdk/go/tencentcloud/postgresql/instance.go index c0fc6be17..9b4db6d92 100644 --- a/sdk/go/tencentcloud/postgresql/instance.go +++ b/sdk/go/tencentcloud/postgresql/instance.go @@ -15,10 +15,82 @@ import ( // Use this resource to create postgresql instance. // // > **Note:** To update the charge type, please update the `chargeType` and specify the `period` for the charging period. It only supports updating from `POSTPAID_BY_HOUR` to `PREPAID`, and the `period` field only valid in that upgrading case. -// **Note:** If no values are set for the two parameters: `dbMajorVersion` and `engineVersion`, then `engineVersion` is set to `10.4` by default. Suggest using parameter `dbMajorVersion` to create an instance +// +// > **Note:** If no values are set for the two parameters: `dbMajorVersion` and `engineVersion`, then `engineVersion` is set to `10.4` by default. Suggest using parameter `dbMajorVersion` to create an instance // // ## Example Usage // +// ### Create a postgresql 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/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), +// Tags: pulumi.Map{ +// "test": pulumi.Any("tf"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ### Create a postgresql instance with delete protection +// // // ```go // package main @@ -72,6 +144,7 @@ import ( // Cpu: pulumi.Int(1), // Memory: pulumi.Int(2), // Storage: pulumi.Int(10), +// DeleteProtection: pulumi.Bool(true), // Tags: pulumi.Map{ // "test": pulumi.Any("tf"), // }, @@ -86,7 +159,7 @@ import ( // ``` // // -// ### Create a multi available zone bucket +// ### Create a multi available zone postgresql instance // // // ```go @@ -167,7 +240,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 +379,7 @@ import ( // ``` // // -// ### upgrade kernel version +// ### Upgrade kernel version // // // ```go @@ -305,7 +457,7 @@ type Instance struct { // Availability zone. NOTE: This field could not be modified, please use `dbNodeSet` instead of modification. The changes on this field will be suppressed when using the `dbNodeSet`. AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"` // Specify DB backup plan. - BackupPlan InstanceBackupPlanPtrOutput `pulumi:"backupPlan"` + BackupPlan InstanceBackupPlanOutput `pulumi:"backupPlan"` // Pay type of the postgresql instance. Values `POSTPAID_BY_HOUR` (Default), `PREPAID`. It only support to update the type from `POSTPAID_BY_HOUR` to `PREPAID`. ChargeType pulumi.StringPtrOutput `pulumi:"chargeType"` // Charset of the root account. Valid values are `UTF8`,`LATIN1`. @@ -324,6 +476,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 +609,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 +688,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 +769,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 +837,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. @@ -820,8 +982,8 @@ func (o InstanceOutput) AvailabilityZone() pulumi.StringOutput { } // Specify DB backup plan. -func (o InstanceOutput) BackupPlan() InstanceBackupPlanPtrOutput { - return o.ApplyT(func(v *Instance) InstanceBackupPlanPtrOutput { return v.BackupPlan }).(InstanceBackupPlanPtrOutput) +func (o InstanceOutput) BackupPlan() InstanceBackupPlanOutput { + return o.ApplyT(func(v *Instance) InstanceBackupPlanOutput { return v.BackupPlan }).(InstanceBackupPlanOutput) } // Pay type of the postgresql instance. Values `POSTPAID_BY_HOUR` (Default), `PREPAID`. It only support to update the type from `POSTPAID_BY_HOUR` to `PREPAID`. @@ -866,6 +1028,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..f8f605e76 100644 --- a/sdk/go/tencentcloud/postgresql/pulumiTypes.go +++ b/sdk/go/tencentcloud/postgresql/pulumiTypes.go @@ -13,516 +13,1622 @@ import ( var _ = internal.GetEnvOrDefault -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"` - // Specify days of the retention. - BaseBackupRetentionPeriod *int `pulumi:"baseBackupRetentionPeriod"` - // Specify latest backup start time, format `hh:mm:ss`. - MaxBackupStartTime *string `pulumi:"maxBackupStartTime"` - // Specify earliest backup start time, format `hh:mm:ss`. - MinBackupStartTime *string `pulumi:"minBackupStartTime"` +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"` } -// InstanceBackupPlanInput is an input type that accepts InstanceBackupPlanArgs and InstanceBackupPlanOutput values. -// You can construct a concrete instance of `InstanceBackupPlanInput` via: +// AccountPrivilegesOperationModifyPrivilegeSetInput is an input type that accepts AccountPrivilegesOperationModifyPrivilegeSetArgs and AccountPrivilegesOperationModifyPrivilegeSetOutput values. +// You can construct a concrete instance of `AccountPrivilegesOperationModifyPrivilegeSetInput` via: // -// InstanceBackupPlanArgs{...} -type InstanceBackupPlanInput interface { +// AccountPrivilegesOperationModifyPrivilegeSetArgs{...} +type AccountPrivilegesOperationModifyPrivilegeSetInput interface { pulumi.Input - ToInstanceBackupPlanOutput() InstanceBackupPlanOutput - ToInstanceBackupPlanOutputWithContext(context.Context) InstanceBackupPlanOutput + ToAccountPrivilegesOperationModifyPrivilegeSetOutput() AccountPrivilegesOperationModifyPrivilegeSetOutput + ToAccountPrivilegesOperationModifyPrivilegeSetOutputWithContext(context.Context) AccountPrivilegesOperationModifyPrivilegeSetOutput } -type InstanceBackupPlanArgs struct { - // List of backup period per week, available values: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`. NOTE: At least specify two days. - BackupPeriods pulumi.StringArrayInput `pulumi:"backupPeriods"` - // Specify days of the retention. - BaseBackupRetentionPeriod pulumi.IntPtrInput `pulumi:"baseBackupRetentionPeriod"` - // Specify latest backup start time, format `hh:mm:ss`. - MaxBackupStartTime pulumi.StringPtrInput `pulumi:"maxBackupStartTime"` - // Specify earliest backup start time, format `hh:mm:ss`. - MinBackupStartTime pulumi.StringPtrInput `pulumi:"minBackupStartTime"` +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 (InstanceBackupPlanArgs) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceBackupPlan)(nil)).Elem() +func (AccountPrivilegesOperationModifyPrivilegeSetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AccountPrivilegesOperationModifyPrivilegeSet)(nil)).Elem() } -func (i InstanceBackupPlanArgs) ToInstanceBackupPlanOutput() InstanceBackupPlanOutput { - return i.ToInstanceBackupPlanOutputWithContext(context.Background()) +func (i AccountPrivilegesOperationModifyPrivilegeSetArgs) ToAccountPrivilegesOperationModifyPrivilegeSetOutput() AccountPrivilegesOperationModifyPrivilegeSetOutput { + return i.ToAccountPrivilegesOperationModifyPrivilegeSetOutputWithContext(context.Background()) } -func (i InstanceBackupPlanArgs) ToInstanceBackupPlanOutputWithContext(ctx context.Context) InstanceBackupPlanOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceBackupPlanOutput) +func (i AccountPrivilegesOperationModifyPrivilegeSetArgs) ToAccountPrivilegesOperationModifyPrivilegeSetOutputWithContext(ctx context.Context) AccountPrivilegesOperationModifyPrivilegeSetOutput { + return pulumi.ToOutputWithContext(ctx, i).(AccountPrivilegesOperationModifyPrivilegeSetOutput) } -func (i InstanceBackupPlanArgs) ToInstanceBackupPlanPtrOutput() InstanceBackupPlanPtrOutput { - return i.ToInstanceBackupPlanPtrOutputWithContext(context.Background()) +// 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 } -func (i InstanceBackupPlanArgs) ToInstanceBackupPlanPtrOutputWithContext(ctx context.Context) InstanceBackupPlanPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceBackupPlanOutput).ToInstanceBackupPlanPtrOutputWithContext(ctx) +type AccountPrivilegesOperationModifyPrivilegeSetArray []AccountPrivilegesOperationModifyPrivilegeSetInput + +func (AccountPrivilegesOperationModifyPrivilegeSetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]AccountPrivilegesOperationModifyPrivilegeSet)(nil)).Elem() } -// InstanceBackupPlanPtrInput is an input type that accepts InstanceBackupPlanArgs, InstanceBackupPlanPtr and InstanceBackupPlanPtrOutput values. -// You can construct a concrete instance of `InstanceBackupPlanPtrInput` via: +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: // -// InstanceBackupPlanArgs{...} +// 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 InstanceBackupPlanPtrInput interface { +type AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrInput interface { pulumi.Input - ToInstanceBackupPlanPtrOutput() InstanceBackupPlanPtrOutput - ToInstanceBackupPlanPtrOutputWithContext(context.Context) InstanceBackupPlanPtrOutput + ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput() AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput + ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutputWithContext(context.Context) AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput } -type instanceBackupPlanPtrType InstanceBackupPlanArgs +type accountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrType AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs -func InstanceBackupPlanPtr(v *InstanceBackupPlanArgs) InstanceBackupPlanPtrInput { - return (*instanceBackupPlanPtrType)(v) +func AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtr(v *AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs) AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrInput { + return (*accountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrType)(v) } -func (*instanceBackupPlanPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**InstanceBackupPlan)(nil)).Elem() +func (*accountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege)(nil)).Elem() } -func (i *instanceBackupPlanPtrType) ToInstanceBackupPlanPtrOutput() InstanceBackupPlanPtrOutput { - return i.ToInstanceBackupPlanPtrOutputWithContext(context.Background()) +func (i *accountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrType) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput() AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput { + return i.ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutputWithContext(context.Background()) } -func (i *instanceBackupPlanPtrType) ToInstanceBackupPlanPtrOutputWithContext(ctx context.Context) InstanceBackupPlanPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceBackupPlanPtrOutput) +func (i *accountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrType) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutputWithContext(ctx context.Context) AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput) } -type InstanceBackupPlanOutput struct{ *pulumi.OutputState } +type AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutput struct{ *pulumi.OutputState } -func (InstanceBackupPlanOutput) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceBackupPlan)(nil)).Elem() +func (AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege)(nil)).Elem() } -func (o InstanceBackupPlanOutput) ToInstanceBackupPlanOutput() InstanceBackupPlanOutput { +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutput) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutput() AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutput { return o } -func (o InstanceBackupPlanOutput) ToInstanceBackupPlanOutputWithContext(ctx context.Context) InstanceBackupPlanOutput { +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutput) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutputWithContext(ctx context.Context) AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutput { return o } -func (o InstanceBackupPlanOutput) ToInstanceBackupPlanPtrOutput() InstanceBackupPlanPtrOutput { - return o.ToInstanceBackupPlanPtrOutputWithContext(context.Background()) +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutput) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput() AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput { + return o.ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutputWithContext(context.Background()) } -func (o InstanceBackupPlanOutput) ToInstanceBackupPlanPtrOutputWithContext(ctx context.Context) InstanceBackupPlanPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceBackupPlan) *InstanceBackupPlan { +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutput) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutputWithContext(ctx context.Context) AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege) *AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege { return &v - }).(InstanceBackupPlanPtrOutput) + }).(AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput) } -// List of backup period per week, available values: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`. NOTE: At least specify two days. -func (o InstanceBackupPlanOutput) BackupPeriods() pulumi.StringArrayOutput { - return o.ApplyT(func(v InstanceBackupPlan) []string { return v.BackupPeriods }).(pulumi.StringArrayOutput) -} - -// Specify days of the retention. -func (o InstanceBackupPlanOutput) BaseBackupRetentionPeriod() pulumi.IntPtrOutput { - return o.ApplyT(func(v InstanceBackupPlan) *int { return v.BaseBackupRetentionPeriod }).(pulumi.IntPtrOutput) +// 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) } -// Specify latest backup start time, format `hh:mm:ss`. -func (o InstanceBackupPlanOutput) MaxBackupStartTime() pulumi.StringPtrOutput { - return o.ApplyT(func(v InstanceBackupPlan) *string { return v.MaxBackupStartTime }).(pulumi.StringPtrOutput) -} - -// Specify earliest backup start time, format `hh:mm:ss`. -func (o InstanceBackupPlanOutput) MinBackupStartTime() pulumi.StringPtrOutput { - return o.ApplyT(func(v InstanceBackupPlan) *string { return v.MinBackupStartTime }).(pulumi.StringPtrOutput) +// 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 InstanceBackupPlanPtrOutput struct{ *pulumi.OutputState } +type AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput struct{ *pulumi.OutputState } -func (InstanceBackupPlanPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**InstanceBackupPlan)(nil)).Elem() +func (AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege)(nil)).Elem() } -func (o InstanceBackupPlanPtrOutput) ToInstanceBackupPlanPtrOutput() InstanceBackupPlanPtrOutput { +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput() AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput { return o } -func (o InstanceBackupPlanPtrOutput) ToInstanceBackupPlanPtrOutputWithContext(ctx context.Context) InstanceBackupPlanPtrOutput { +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutputWithContext(ctx context.Context) AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput { return o } -func (o InstanceBackupPlanPtrOutput) Elem() InstanceBackupPlanOutput { - return o.ApplyT(func(v *InstanceBackupPlan) InstanceBackupPlan { +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput) Elem() AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutput { + return o.ApplyT(func(v *AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege) AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege { if v != nil { return *v } - var ret InstanceBackupPlan + var ret AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege return ret - }).(InstanceBackupPlanOutput) + }).(AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutput) } -// List of backup period per week, available values: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`. NOTE: At least specify two days. -func (o InstanceBackupPlanPtrOutput) BackupPeriods() pulumi.StringArrayOutput { - return o.ApplyT(func(v *InstanceBackupPlan) []string { +// 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.BackupPeriods - }).(pulumi.StringArrayOutput) + return v.Object + }).(AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput) } -// Specify days of the retention. -func (o InstanceBackupPlanPtrOutput) BaseBackupRetentionPeriod() pulumi.IntPtrOutput { - return o.ApplyT(func(v *InstanceBackupPlan) *int { +// 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.BaseBackupRetentionPeriod - }).(pulumi.IntPtrOutput) + return v.PrivilegeSets + }).(pulumi.StringArrayOutput) } -// Specify latest backup start time, format `hh:mm:ss`. -func (o InstanceBackupPlanPtrOutput) MaxBackupStartTime() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InstanceBackupPlan) *string { - if v == nil { - return nil - } - return v.MaxBackupStartTime - }).(pulumi.StringPtrOutput) +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"` } -// Specify earliest backup start time, format `hh:mm:ss`. -func (o InstanceBackupPlanPtrOutput) MinBackupStartTime() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InstanceBackupPlan) *string { - if v == nil { - return nil - } - return v.MinBackupStartTime - }).(pulumi.StringPtrOutput) +// 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 InstanceDbNodeSet struct { - // Indicates node type, available values:`Primary`, `Standby`. Default: `Standby`. - Role *string `pulumi:"role"` - // Indicates the node available zone. - Zone string `pulumi:"zone"` +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"` } -// InstanceDbNodeSetInput is an input type that accepts InstanceDbNodeSetArgs and InstanceDbNodeSetOutput values. -// You can construct a concrete instance of `InstanceDbNodeSetInput` via: +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: // -// InstanceDbNodeSetArgs{...} -type InstanceDbNodeSetInput interface { +// AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs{...} +// +// or: +// +// nil +type AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrInput interface { pulumi.Input - ToInstanceDbNodeSetOutput() InstanceDbNodeSetOutput - ToInstanceDbNodeSetOutputWithContext(context.Context) InstanceDbNodeSetOutput + ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput() AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput + ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutputWithContext(context.Context) AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput } -type InstanceDbNodeSetArgs struct { - // Indicates node type, available values:`Primary`, `Standby`. Default: `Standby`. - Role pulumi.StringPtrInput `pulumi:"role"` - // Indicates the node available zone. - Zone pulumi.StringInput `pulumi:"zone"` +type accountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrType AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs + +func AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtr(v *AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs) AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrInput { + return (*accountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrType)(v) } -func (InstanceDbNodeSetArgs) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceDbNodeSet)(nil)).Elem() +func (*accountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject)(nil)).Elem() } -func (i InstanceDbNodeSetArgs) ToInstanceDbNodeSetOutput() InstanceDbNodeSetOutput { - return i.ToInstanceDbNodeSetOutputWithContext(context.Background()) +func (i *accountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrType) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput() AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput { + return i.ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutputWithContext(context.Background()) } -func (i InstanceDbNodeSetArgs) ToInstanceDbNodeSetOutputWithContext(ctx context.Context) InstanceDbNodeSetOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceDbNodeSetOutput) +func (i *accountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrType) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutputWithContext(ctx context.Context) AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput) } -// InstanceDbNodeSetArrayInput is an input type that accepts InstanceDbNodeSetArray and InstanceDbNodeSetArrayOutput values. -// You can construct a concrete instance of `InstanceDbNodeSetArrayInput` via: -// -// InstanceDbNodeSetArray{ InstanceDbNodeSetArgs{...} } -type InstanceDbNodeSetArrayInput interface { - pulumi.Input +type AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput struct{ *pulumi.OutputState } - ToInstanceDbNodeSetArrayOutput() InstanceDbNodeSetArrayOutput - ToInstanceDbNodeSetArrayOutputWithContext(context.Context) InstanceDbNodeSetArrayOutput +func (AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject)(nil)).Elem() } -type InstanceDbNodeSetArray []InstanceDbNodeSetInput +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput() AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput { + return o +} -func (InstanceDbNodeSetArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]InstanceDbNodeSet)(nil)).Elem() +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutputWithContext(ctx context.Context) AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput { + return o } -func (i InstanceDbNodeSetArray) ToInstanceDbNodeSetArrayOutput() InstanceDbNodeSetArrayOutput { - return i.ToInstanceDbNodeSetArrayOutputWithContext(context.Background()) +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput() AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput { + return o.ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutputWithContext(context.Background()) } -func (i InstanceDbNodeSetArray) ToInstanceDbNodeSetArrayOutputWithContext(ctx context.Context) InstanceDbNodeSetArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceDbNodeSetArrayOutput) +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutputWithContext(ctx context.Context) AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject) *AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject { + return &v + }).(AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput) } -type InstanceDbNodeSetOutput struct{ *pulumi.OutputState } +// 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) +} -func (InstanceDbNodeSetOutput) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceDbNodeSet)(nil)).Elem() +// 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) } -func (o InstanceDbNodeSetOutput) ToInstanceDbNodeSetOutput() InstanceDbNodeSetOutput { +// 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 InstanceDbNodeSetOutput) ToInstanceDbNodeSetOutputWithContext(ctx context.Context) InstanceDbNodeSetOutput { +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutputWithContext(ctx context.Context) AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput { return o } -// 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) +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput) Elem() AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput { + return o.ApplyT(func(v *AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject) AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject { + if v != nil { + return *v + } + var ret AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject + return ret + }).(AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput) } -// Indicates the node available zone. -func (o InstanceDbNodeSetOutput) Zone() pulumi.StringOutput { - return o.ApplyT(func(v InstanceDbNodeSet) string { return v.Zone }).(pulumi.StringOutput) +// 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 CloneDbInstanceDbNodeSet struct { + // Dedicated cluster ID. + DedicatedClusterId *string `pulumi:"dedicatedClusterId"` + // Node type. Valid values: + // `Primary`; + // `Standby`. + Role string `pulumi:"role"` + // AZ where the node resides, such as ap-guangzhou-1. + Zone string `pulumi:"zone"` +} + +// CloneDbInstanceDbNodeSetInput is an input type that accepts CloneDbInstanceDbNodeSetArgs and CloneDbInstanceDbNodeSetOutput values. +// You can construct a concrete instance of `CloneDbInstanceDbNodeSetInput` via: +// +// CloneDbInstanceDbNodeSetArgs{...} +type CloneDbInstanceDbNodeSetInput interface { + pulumi.Input + + ToCloneDbInstanceDbNodeSetOutput() CloneDbInstanceDbNodeSetOutput + ToCloneDbInstanceDbNodeSetOutputWithContext(context.Context) CloneDbInstanceDbNodeSetOutput +} + +type CloneDbInstanceDbNodeSetArgs struct { + // Dedicated cluster ID. + DedicatedClusterId pulumi.StringPtrInput `pulumi:"dedicatedClusterId"` + // Node type. Valid values: + // `Primary`; + // `Standby`. + Role pulumi.StringInput `pulumi:"role"` + // AZ where the node resides, such as ap-guangzhou-1. + Zone pulumi.StringInput `pulumi:"zone"` +} + +func (CloneDbInstanceDbNodeSetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CloneDbInstanceDbNodeSet)(nil)).Elem() +} + +func (i CloneDbInstanceDbNodeSetArgs) ToCloneDbInstanceDbNodeSetOutput() CloneDbInstanceDbNodeSetOutput { + return i.ToCloneDbInstanceDbNodeSetOutputWithContext(context.Background()) +} + +func (i CloneDbInstanceDbNodeSetArgs) ToCloneDbInstanceDbNodeSetOutputWithContext(ctx context.Context) CloneDbInstanceDbNodeSetOutput { + return pulumi.ToOutputWithContext(ctx, i).(CloneDbInstanceDbNodeSetOutput) +} + +// CloneDbInstanceDbNodeSetArrayInput is an input type that accepts CloneDbInstanceDbNodeSetArray and CloneDbInstanceDbNodeSetArrayOutput values. +// You can construct a concrete instance of `CloneDbInstanceDbNodeSetArrayInput` via: +// +// CloneDbInstanceDbNodeSetArray{ CloneDbInstanceDbNodeSetArgs{...} } +type CloneDbInstanceDbNodeSetArrayInput interface { + pulumi.Input + + ToCloneDbInstanceDbNodeSetArrayOutput() CloneDbInstanceDbNodeSetArrayOutput + ToCloneDbInstanceDbNodeSetArrayOutputWithContext(context.Context) CloneDbInstanceDbNodeSetArrayOutput +} + +type CloneDbInstanceDbNodeSetArray []CloneDbInstanceDbNodeSetInput + +func (CloneDbInstanceDbNodeSetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]CloneDbInstanceDbNodeSet)(nil)).Elem() +} + +func (i CloneDbInstanceDbNodeSetArray) ToCloneDbInstanceDbNodeSetArrayOutput() CloneDbInstanceDbNodeSetArrayOutput { + return i.ToCloneDbInstanceDbNodeSetArrayOutputWithContext(context.Background()) +} + +func (i CloneDbInstanceDbNodeSetArray) ToCloneDbInstanceDbNodeSetArrayOutputWithContext(ctx context.Context) CloneDbInstanceDbNodeSetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CloneDbInstanceDbNodeSetArrayOutput) +} + +type CloneDbInstanceDbNodeSetOutput struct{ *pulumi.OutputState } + +func (CloneDbInstanceDbNodeSetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CloneDbInstanceDbNodeSet)(nil)).Elem() +} + +func (o CloneDbInstanceDbNodeSetOutput) ToCloneDbInstanceDbNodeSetOutput() CloneDbInstanceDbNodeSetOutput { + return o +} + +func (o CloneDbInstanceDbNodeSetOutput) ToCloneDbInstanceDbNodeSetOutputWithContext(ctx context.Context) CloneDbInstanceDbNodeSetOutput { + return o +} + +// Dedicated cluster ID. +func (o CloneDbInstanceDbNodeSetOutput) DedicatedClusterId() pulumi.StringPtrOutput { + return o.ApplyT(func(v CloneDbInstanceDbNodeSet) *string { return v.DedicatedClusterId }).(pulumi.StringPtrOutput) +} + +// Node type. Valid values: +// `Primary`; +// `Standby`. +func (o CloneDbInstanceDbNodeSetOutput) Role() pulumi.StringOutput { + return o.ApplyT(func(v CloneDbInstanceDbNodeSet) string { return v.Role }).(pulumi.StringOutput) +} + +// AZ where the node resides, such as ap-guangzhou-1. +func (o CloneDbInstanceDbNodeSetOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v CloneDbInstanceDbNodeSet) string { return v.Zone }).(pulumi.StringOutput) +} + +type CloneDbInstanceDbNodeSetArrayOutput struct{ *pulumi.OutputState } + +func (CloneDbInstanceDbNodeSetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]CloneDbInstanceDbNodeSet)(nil)).Elem() +} + +func (o CloneDbInstanceDbNodeSetArrayOutput) ToCloneDbInstanceDbNodeSetArrayOutput() CloneDbInstanceDbNodeSetArrayOutput { + return o +} + +func (o CloneDbInstanceDbNodeSetArrayOutput) ToCloneDbInstanceDbNodeSetArrayOutputWithContext(ctx context.Context) CloneDbInstanceDbNodeSetArrayOutput { + return o +} + +func (o CloneDbInstanceDbNodeSetArrayOutput) Index(i pulumi.IntInput) CloneDbInstanceDbNodeSetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) CloneDbInstanceDbNodeSet { + return vs[0].([]CloneDbInstanceDbNodeSet)[vs[1].(int)] + }).(CloneDbInstanceDbNodeSetOutput) +} + +type CloneDbInstanceTagList struct { + // Tag key. + TagKey string `pulumi:"tagKey"` + // Tag value. + TagValue string `pulumi:"tagValue"` +} + +// CloneDbInstanceTagListInput is an input type that accepts CloneDbInstanceTagListArgs and CloneDbInstanceTagListOutput values. +// You can construct a concrete instance of `CloneDbInstanceTagListInput` via: +// +// CloneDbInstanceTagListArgs{...} +type CloneDbInstanceTagListInput interface { + pulumi.Input + + ToCloneDbInstanceTagListOutput() CloneDbInstanceTagListOutput + ToCloneDbInstanceTagListOutputWithContext(context.Context) CloneDbInstanceTagListOutput +} + +type CloneDbInstanceTagListArgs struct { + // Tag key. + TagKey pulumi.StringInput `pulumi:"tagKey"` + // Tag value. + TagValue pulumi.StringInput `pulumi:"tagValue"` +} + +func (CloneDbInstanceTagListArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CloneDbInstanceTagList)(nil)).Elem() +} + +func (i CloneDbInstanceTagListArgs) ToCloneDbInstanceTagListOutput() CloneDbInstanceTagListOutput { + return i.ToCloneDbInstanceTagListOutputWithContext(context.Background()) +} + +func (i CloneDbInstanceTagListArgs) ToCloneDbInstanceTagListOutputWithContext(ctx context.Context) CloneDbInstanceTagListOutput { + return pulumi.ToOutputWithContext(ctx, i).(CloneDbInstanceTagListOutput) +} + +// CloneDbInstanceTagListArrayInput is an input type that accepts CloneDbInstanceTagListArray and CloneDbInstanceTagListArrayOutput values. +// You can construct a concrete instance of `CloneDbInstanceTagListArrayInput` via: +// +// CloneDbInstanceTagListArray{ CloneDbInstanceTagListArgs{...} } +type CloneDbInstanceTagListArrayInput interface { + pulumi.Input + + ToCloneDbInstanceTagListArrayOutput() CloneDbInstanceTagListArrayOutput + ToCloneDbInstanceTagListArrayOutputWithContext(context.Context) CloneDbInstanceTagListArrayOutput +} + +type CloneDbInstanceTagListArray []CloneDbInstanceTagListInput + +func (CloneDbInstanceTagListArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]CloneDbInstanceTagList)(nil)).Elem() +} + +func (i CloneDbInstanceTagListArray) ToCloneDbInstanceTagListArrayOutput() CloneDbInstanceTagListArrayOutput { + return i.ToCloneDbInstanceTagListArrayOutputWithContext(context.Background()) +} + +func (i CloneDbInstanceTagListArray) ToCloneDbInstanceTagListArrayOutputWithContext(ctx context.Context) CloneDbInstanceTagListArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CloneDbInstanceTagListArrayOutput) +} + +type CloneDbInstanceTagListOutput struct{ *pulumi.OutputState } + +func (CloneDbInstanceTagListOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CloneDbInstanceTagList)(nil)).Elem() +} + +func (o CloneDbInstanceTagListOutput) ToCloneDbInstanceTagListOutput() CloneDbInstanceTagListOutput { + return o +} + +func (o CloneDbInstanceTagListOutput) ToCloneDbInstanceTagListOutputWithContext(ctx context.Context) CloneDbInstanceTagListOutput { + return o +} + +// Tag key. +func (o CloneDbInstanceTagListOutput) TagKey() pulumi.StringOutput { + return o.ApplyT(func(v CloneDbInstanceTagList) string { return v.TagKey }).(pulumi.StringOutput) +} + +// Tag value. +func (o CloneDbInstanceTagListOutput) TagValue() pulumi.StringOutput { + return o.ApplyT(func(v CloneDbInstanceTagList) string { return v.TagValue }).(pulumi.StringOutput) +} + +type CloneDbInstanceTagListArrayOutput struct{ *pulumi.OutputState } + +func (CloneDbInstanceTagListArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]CloneDbInstanceTagList)(nil)).Elem() +} + +func (o CloneDbInstanceTagListArrayOutput) ToCloneDbInstanceTagListArrayOutput() CloneDbInstanceTagListArrayOutput { + return o +} + +func (o CloneDbInstanceTagListArrayOutput) ToCloneDbInstanceTagListArrayOutputWithContext(ctx context.Context) CloneDbInstanceTagListArrayOutput { + return o +} + +func (o CloneDbInstanceTagListArrayOutput) Index(i pulumi.IntInput) CloneDbInstanceTagListOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) CloneDbInstanceTagList { + return vs[0].([]CloneDbInstanceTagList)[vs[1].(int)] + }).(CloneDbInstanceTagListOutput) +} + +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"` + // Specify days of the retention. + BaseBackupRetentionPeriod *int `pulumi:"baseBackupRetentionPeriod"` + // Specify latest backup start time, format `hh:mm:ss`. + MaxBackupStartTime *string `pulumi:"maxBackupStartTime"` + // Specify earliest backup start time, format `hh:mm:ss`. + MinBackupStartTime *string `pulumi:"minBackupStartTime"` +} + +// InstanceBackupPlanInput is an input type that accepts InstanceBackupPlanArgs and InstanceBackupPlanOutput values. +// You can construct a concrete instance of `InstanceBackupPlanInput` via: +// +// InstanceBackupPlanArgs{...} +type InstanceBackupPlanInput interface { + pulumi.Input + + ToInstanceBackupPlanOutput() InstanceBackupPlanOutput + ToInstanceBackupPlanOutputWithContext(context.Context) InstanceBackupPlanOutput +} + +type InstanceBackupPlanArgs struct { + // List of backup period per week, available values: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`. NOTE: At least specify two days. + BackupPeriods pulumi.StringArrayInput `pulumi:"backupPeriods"` + // Specify days of the retention. + BaseBackupRetentionPeriod pulumi.IntPtrInput `pulumi:"baseBackupRetentionPeriod"` + // Specify latest backup start time, format `hh:mm:ss`. + MaxBackupStartTime pulumi.StringPtrInput `pulumi:"maxBackupStartTime"` + // Specify earliest backup start time, format `hh:mm:ss`. + MinBackupStartTime pulumi.StringPtrInput `pulumi:"minBackupStartTime"` +} + +func (InstanceBackupPlanArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceBackupPlan)(nil)).Elem() +} + +func (i InstanceBackupPlanArgs) ToInstanceBackupPlanOutput() InstanceBackupPlanOutput { + return i.ToInstanceBackupPlanOutputWithContext(context.Background()) +} + +func (i InstanceBackupPlanArgs) ToInstanceBackupPlanOutputWithContext(ctx context.Context) InstanceBackupPlanOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceBackupPlanOutput) +} + +func (i InstanceBackupPlanArgs) ToInstanceBackupPlanPtrOutput() InstanceBackupPlanPtrOutput { + return i.ToInstanceBackupPlanPtrOutputWithContext(context.Background()) +} + +func (i InstanceBackupPlanArgs) ToInstanceBackupPlanPtrOutputWithContext(ctx context.Context) InstanceBackupPlanPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceBackupPlanOutput).ToInstanceBackupPlanPtrOutputWithContext(ctx) +} + +// InstanceBackupPlanPtrInput is an input type that accepts InstanceBackupPlanArgs, InstanceBackupPlanPtr and InstanceBackupPlanPtrOutput values. +// You can construct a concrete instance of `InstanceBackupPlanPtrInput` via: +// +// InstanceBackupPlanArgs{...} +// +// or: +// +// nil +type InstanceBackupPlanPtrInput interface { + pulumi.Input + + ToInstanceBackupPlanPtrOutput() InstanceBackupPlanPtrOutput + ToInstanceBackupPlanPtrOutputWithContext(context.Context) InstanceBackupPlanPtrOutput +} + +type instanceBackupPlanPtrType InstanceBackupPlanArgs + +func InstanceBackupPlanPtr(v *InstanceBackupPlanArgs) InstanceBackupPlanPtrInput { + return (*instanceBackupPlanPtrType)(v) +} + +func (*instanceBackupPlanPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceBackupPlan)(nil)).Elem() +} + +func (i *instanceBackupPlanPtrType) ToInstanceBackupPlanPtrOutput() InstanceBackupPlanPtrOutput { + return i.ToInstanceBackupPlanPtrOutputWithContext(context.Background()) +} + +func (i *instanceBackupPlanPtrType) ToInstanceBackupPlanPtrOutputWithContext(ctx context.Context) InstanceBackupPlanPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceBackupPlanPtrOutput) +} + +type InstanceBackupPlanOutput struct{ *pulumi.OutputState } + +func (InstanceBackupPlanOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceBackupPlan)(nil)).Elem() +} + +func (o InstanceBackupPlanOutput) ToInstanceBackupPlanOutput() InstanceBackupPlanOutput { + return o +} + +func (o InstanceBackupPlanOutput) ToInstanceBackupPlanOutputWithContext(ctx context.Context) InstanceBackupPlanOutput { + return o +} + +func (o InstanceBackupPlanOutput) ToInstanceBackupPlanPtrOutput() InstanceBackupPlanPtrOutput { + return o.ToInstanceBackupPlanPtrOutputWithContext(context.Background()) +} + +func (o InstanceBackupPlanOutput) ToInstanceBackupPlanPtrOutputWithContext(ctx context.Context) InstanceBackupPlanPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceBackupPlan) *InstanceBackupPlan { + return &v + }).(InstanceBackupPlanPtrOutput) +} + +// List of backup period per week, available values: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`. NOTE: At least specify two days. +func (o InstanceBackupPlanOutput) BackupPeriods() pulumi.StringArrayOutput { + return o.ApplyT(func(v InstanceBackupPlan) []string { return v.BackupPeriods }).(pulumi.StringArrayOutput) +} + +// Specify days of the retention. +func (o InstanceBackupPlanOutput) BaseBackupRetentionPeriod() pulumi.IntPtrOutput { + return o.ApplyT(func(v InstanceBackupPlan) *int { return v.BaseBackupRetentionPeriod }).(pulumi.IntPtrOutput) +} + +// Specify latest backup start time, format `hh:mm:ss`. +func (o InstanceBackupPlanOutput) MaxBackupStartTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceBackupPlan) *string { return v.MaxBackupStartTime }).(pulumi.StringPtrOutput) +} + +// Specify earliest backup start time, format `hh:mm:ss`. +func (o InstanceBackupPlanOutput) MinBackupStartTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceBackupPlan) *string { return v.MinBackupStartTime }).(pulumi.StringPtrOutput) +} + +type InstanceBackupPlanPtrOutput struct{ *pulumi.OutputState } + +func (InstanceBackupPlanPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceBackupPlan)(nil)).Elem() +} + +func (o InstanceBackupPlanPtrOutput) ToInstanceBackupPlanPtrOutput() InstanceBackupPlanPtrOutput { + return o +} + +func (o InstanceBackupPlanPtrOutput) ToInstanceBackupPlanPtrOutputWithContext(ctx context.Context) InstanceBackupPlanPtrOutput { + return o +} + +func (o InstanceBackupPlanPtrOutput) Elem() InstanceBackupPlanOutput { + return o.ApplyT(func(v *InstanceBackupPlan) InstanceBackupPlan { + if v != nil { + return *v + } + var ret InstanceBackupPlan + return ret + }).(InstanceBackupPlanOutput) +} + +// List of backup period per week, available values: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`. NOTE: At least specify two days. +func (o InstanceBackupPlanPtrOutput) BackupPeriods() pulumi.StringArrayOutput { + return o.ApplyT(func(v *InstanceBackupPlan) []string { + if v == nil { + return nil + } + return v.BackupPeriods + }).(pulumi.StringArrayOutput) +} + +// Specify days of the retention. +func (o InstanceBackupPlanPtrOutput) BaseBackupRetentionPeriod() pulumi.IntPtrOutput { + return o.ApplyT(func(v *InstanceBackupPlan) *int { + if v == nil { + return nil + } + return v.BaseBackupRetentionPeriod + }).(pulumi.IntPtrOutput) +} + +// Specify latest backup start time, format `hh:mm:ss`. +func (o InstanceBackupPlanPtrOutput) MaxBackupStartTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceBackupPlan) *string { + if v == nil { + return nil + } + return v.MaxBackupStartTime + }).(pulumi.StringPtrOutput) +} + +// Specify earliest backup start time, format `hh:mm:ss`. +func (o InstanceBackupPlanPtrOutput) MinBackupStartTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceBackupPlan) *string { + if v == nil { + return nil + } + return v.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. + Zone string `pulumi:"zone"` +} + +// InstanceDbNodeSetInput is an input type that accepts InstanceDbNodeSetArgs and InstanceDbNodeSetOutput values. +// You can construct a concrete instance of `InstanceDbNodeSetInput` via: +// +// InstanceDbNodeSetArgs{...} +type InstanceDbNodeSetInput interface { + pulumi.Input + + ToInstanceDbNodeSetOutput() InstanceDbNodeSetOutput + ToInstanceDbNodeSetOutputWithContext(context.Context) InstanceDbNodeSetOutput +} + +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. + Zone pulumi.StringInput `pulumi:"zone"` +} + +func (InstanceDbNodeSetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceDbNodeSet)(nil)).Elem() +} + +func (i InstanceDbNodeSetArgs) ToInstanceDbNodeSetOutput() InstanceDbNodeSetOutput { + return i.ToInstanceDbNodeSetOutputWithContext(context.Background()) +} + +func (i InstanceDbNodeSetArgs) ToInstanceDbNodeSetOutputWithContext(ctx context.Context) InstanceDbNodeSetOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceDbNodeSetOutput) +} + +// InstanceDbNodeSetArrayInput is an input type that accepts InstanceDbNodeSetArray and InstanceDbNodeSetArrayOutput values. +// You can construct a concrete instance of `InstanceDbNodeSetArrayInput` via: +// +// InstanceDbNodeSetArray{ InstanceDbNodeSetArgs{...} } +type InstanceDbNodeSetArrayInput interface { + pulumi.Input + + ToInstanceDbNodeSetArrayOutput() InstanceDbNodeSetArrayOutput + ToInstanceDbNodeSetArrayOutputWithContext(context.Context) InstanceDbNodeSetArrayOutput +} + +type InstanceDbNodeSetArray []InstanceDbNodeSetInput + +func (InstanceDbNodeSetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]InstanceDbNodeSet)(nil)).Elem() +} + +func (i InstanceDbNodeSetArray) ToInstanceDbNodeSetArrayOutput() InstanceDbNodeSetArrayOutput { + return i.ToInstanceDbNodeSetArrayOutputWithContext(context.Background()) +} + +func (i InstanceDbNodeSetArray) ToInstanceDbNodeSetArrayOutputWithContext(ctx context.Context) InstanceDbNodeSetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceDbNodeSetArrayOutput) +} + +type InstanceDbNodeSetOutput struct{ *pulumi.OutputState } + +func (InstanceDbNodeSetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceDbNodeSet)(nil)).Elem() +} + +func (o InstanceDbNodeSetOutput) ToInstanceDbNodeSetOutput() InstanceDbNodeSetOutput { + return o +} + +func (o InstanceDbNodeSetOutput) ToInstanceDbNodeSetOutputWithContext(ctx context.Context) InstanceDbNodeSetOutput { + 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) +} + +// Indicates the node available zone. +func (o InstanceDbNodeSetOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v InstanceDbNodeSet) string { return v.Zone }).(pulumi.StringOutput) +} + +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 InstanceDbNodeSetArrayOutput struct{ *pulumi.OutputState } +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 +2421,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 +6344,16 @@ 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((*CloneDbInstanceDbNodeSetInput)(nil)).Elem(), CloneDbInstanceDbNodeSetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CloneDbInstanceDbNodeSetArrayInput)(nil)).Elem(), CloneDbInstanceDbNodeSetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CloneDbInstanceTagListInput)(nil)).Elem(), CloneDbInstanceTagListArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CloneDbInstanceTagListArrayInput)(nil)).Elem(), CloneDbInstanceTagListArray{}) 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 +6362,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 +6378,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 +6424,16 @@ 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(CloneDbInstanceDbNodeSetOutput{}) + pulumi.RegisterOutputType(CloneDbInstanceDbNodeSetArrayOutput{}) + pulumi.RegisterOutputType(CloneDbInstanceTagListOutput{}) + pulumi.RegisterOutputType(CloneDbInstanceTagListArrayOutput{}) pulumi.RegisterOutputType(InstanceBackupPlanOutput{}) pulumi.RegisterOutputType(InstanceBackupPlanPtrOutput{}) pulumi.RegisterOutputType(InstanceDbNodeSetOutput{}) @@ -5013,6 +6442,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 +6458,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/endPoint.go b/sdk/go/tencentcloud/privatedns/endPoint.go new file mode 100644 index 000000000..a45c1bdaa --- /dev/null +++ b/sdk/go/tencentcloud/privatedns/endPoint.go @@ -0,0 +1,320 @@ +// 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 privatedns + +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 privatedns end point +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/PrivateDns" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := PrivateDns.NewEndPoint(ctx, "example", &PrivateDns.EndPointArgs{ +// EndPointName: pulumi.String("tf-example"), +// EndPointRegion: pulumi.String("ap-guangzhou"), +// EndPointServiceId: pulumi.String("vpcsvc-61wcwmar"), +// IpNum: pulumi.Int(1), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// private dns end point can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:PrivateDns/endPoint:EndPoint example eid-77a246c867 +// ``` +type EndPoint struct { + pulumi.CustomResourceState + + // Endpoint name. + EndPointName pulumi.StringOutput `pulumi:"endPointName"` + // Endpoint region, which should be consistent with the region of the endpoint service. + EndPointRegion pulumi.StringOutput `pulumi:"endPointRegion"` + // Endpoint service ID (namely, VPC endpoint service ID). + EndPointServiceId pulumi.StringOutput `pulumi:"endPointServiceId"` + // Vip list of endpoint. + EndPointVipSets pulumi.StringArrayOutput `pulumi:"endPointVipSets"` + // Number of endpoint IP addresses. + IpNum pulumi.IntOutput `pulumi:"ipNum"` +} + +// NewEndPoint registers a new resource with the given unique name, arguments, and options. +func NewEndPoint(ctx *pulumi.Context, + name string, args *EndPointArgs, opts ...pulumi.ResourceOption) (*EndPoint, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.EndPointName == nil { + return nil, errors.New("invalid value for required argument 'EndPointName'") + } + if args.EndPointRegion == nil { + return nil, errors.New("invalid value for required argument 'EndPointRegion'") + } + if args.EndPointServiceId == nil { + return nil, errors.New("invalid value for required argument 'EndPointServiceId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource EndPoint + err := ctx.RegisterResource("tencentcloud:PrivateDns/endPoint:EndPoint", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetEndPoint gets an existing EndPoint 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 GetEndPoint(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *EndPointState, opts ...pulumi.ResourceOption) (*EndPoint, error) { + var resource EndPoint + err := ctx.ReadResource("tencentcloud:PrivateDns/endPoint:EndPoint", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering EndPoint resources. +type endPointState struct { + // Endpoint name. + EndPointName *string `pulumi:"endPointName"` + // Endpoint region, which should be consistent with the region of the endpoint service. + EndPointRegion *string `pulumi:"endPointRegion"` + // Endpoint service ID (namely, VPC endpoint service ID). + EndPointServiceId *string `pulumi:"endPointServiceId"` + // Vip list of endpoint. + EndPointVipSets []string `pulumi:"endPointVipSets"` + // Number of endpoint IP addresses. + IpNum *int `pulumi:"ipNum"` +} + +type EndPointState struct { + // Endpoint name. + EndPointName pulumi.StringPtrInput + // Endpoint region, which should be consistent with the region of the endpoint service. + EndPointRegion pulumi.StringPtrInput + // Endpoint service ID (namely, VPC endpoint service ID). + EndPointServiceId pulumi.StringPtrInput + // Vip list of endpoint. + EndPointVipSets pulumi.StringArrayInput + // Number of endpoint IP addresses. + IpNum pulumi.IntPtrInput +} + +func (EndPointState) ElementType() reflect.Type { + return reflect.TypeOf((*endPointState)(nil)).Elem() +} + +type endPointArgs struct { + // Endpoint name. + EndPointName string `pulumi:"endPointName"` + // Endpoint region, which should be consistent with the region of the endpoint service. + EndPointRegion string `pulumi:"endPointRegion"` + // Endpoint service ID (namely, VPC endpoint service ID). + EndPointServiceId string `pulumi:"endPointServiceId"` + // Number of endpoint IP addresses. + IpNum *int `pulumi:"ipNum"` +} + +// The set of arguments for constructing a EndPoint resource. +type EndPointArgs struct { + // Endpoint name. + EndPointName pulumi.StringInput + // Endpoint region, which should be consistent with the region of the endpoint service. + EndPointRegion pulumi.StringInput + // Endpoint service ID (namely, VPC endpoint service ID). + EndPointServiceId pulumi.StringInput + // Number of endpoint IP addresses. + IpNum pulumi.IntPtrInput +} + +func (EndPointArgs) ElementType() reflect.Type { + return reflect.TypeOf((*endPointArgs)(nil)).Elem() +} + +type EndPointInput interface { + pulumi.Input + + ToEndPointOutput() EndPointOutput + ToEndPointOutputWithContext(ctx context.Context) EndPointOutput +} + +func (*EndPoint) ElementType() reflect.Type { + return reflect.TypeOf((**EndPoint)(nil)).Elem() +} + +func (i *EndPoint) ToEndPointOutput() EndPointOutput { + return i.ToEndPointOutputWithContext(context.Background()) +} + +func (i *EndPoint) ToEndPointOutputWithContext(ctx context.Context) EndPointOutput { + return pulumi.ToOutputWithContext(ctx, i).(EndPointOutput) +} + +// EndPointArrayInput is an input type that accepts EndPointArray and EndPointArrayOutput values. +// You can construct a concrete instance of `EndPointArrayInput` via: +// +// EndPointArray{ EndPointArgs{...} } +type EndPointArrayInput interface { + pulumi.Input + + ToEndPointArrayOutput() EndPointArrayOutput + ToEndPointArrayOutputWithContext(context.Context) EndPointArrayOutput +} + +type EndPointArray []EndPointInput + +func (EndPointArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*EndPoint)(nil)).Elem() +} + +func (i EndPointArray) ToEndPointArrayOutput() EndPointArrayOutput { + return i.ToEndPointArrayOutputWithContext(context.Background()) +} + +func (i EndPointArray) ToEndPointArrayOutputWithContext(ctx context.Context) EndPointArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(EndPointArrayOutput) +} + +// EndPointMapInput is an input type that accepts EndPointMap and EndPointMapOutput values. +// You can construct a concrete instance of `EndPointMapInput` via: +// +// EndPointMap{ "key": EndPointArgs{...} } +type EndPointMapInput interface { + pulumi.Input + + ToEndPointMapOutput() EndPointMapOutput + ToEndPointMapOutputWithContext(context.Context) EndPointMapOutput +} + +type EndPointMap map[string]EndPointInput + +func (EndPointMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*EndPoint)(nil)).Elem() +} + +func (i EndPointMap) ToEndPointMapOutput() EndPointMapOutput { + return i.ToEndPointMapOutputWithContext(context.Background()) +} + +func (i EndPointMap) ToEndPointMapOutputWithContext(ctx context.Context) EndPointMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(EndPointMapOutput) +} + +type EndPointOutput struct{ *pulumi.OutputState } + +func (EndPointOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EndPoint)(nil)).Elem() +} + +func (o EndPointOutput) ToEndPointOutput() EndPointOutput { + return o +} + +func (o EndPointOutput) ToEndPointOutputWithContext(ctx context.Context) EndPointOutput { + return o +} + +// Endpoint name. +func (o EndPointOutput) EndPointName() pulumi.StringOutput { + return o.ApplyT(func(v *EndPoint) pulumi.StringOutput { return v.EndPointName }).(pulumi.StringOutput) +} + +// Endpoint region, which should be consistent with the region of the endpoint service. +func (o EndPointOutput) EndPointRegion() pulumi.StringOutput { + return o.ApplyT(func(v *EndPoint) pulumi.StringOutput { return v.EndPointRegion }).(pulumi.StringOutput) +} + +// Endpoint service ID (namely, VPC endpoint service ID). +func (o EndPointOutput) EndPointServiceId() pulumi.StringOutput { + return o.ApplyT(func(v *EndPoint) pulumi.StringOutput { return v.EndPointServiceId }).(pulumi.StringOutput) +} + +// Vip list of endpoint. +func (o EndPointOutput) EndPointVipSets() pulumi.StringArrayOutput { + return o.ApplyT(func(v *EndPoint) pulumi.StringArrayOutput { return v.EndPointVipSets }).(pulumi.StringArrayOutput) +} + +// Number of endpoint IP addresses. +func (o EndPointOutput) IpNum() pulumi.IntOutput { + return o.ApplyT(func(v *EndPoint) pulumi.IntOutput { return v.IpNum }).(pulumi.IntOutput) +} + +type EndPointArrayOutput struct{ *pulumi.OutputState } + +func (EndPointArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*EndPoint)(nil)).Elem() +} + +func (o EndPointArrayOutput) ToEndPointArrayOutput() EndPointArrayOutput { + return o +} + +func (o EndPointArrayOutput) ToEndPointArrayOutputWithContext(ctx context.Context) EndPointArrayOutput { + return o +} + +func (o EndPointArrayOutput) Index(i pulumi.IntInput) EndPointOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *EndPoint { + return vs[0].([]*EndPoint)[vs[1].(int)] + }).(EndPointOutput) +} + +type EndPointMapOutput struct{ *pulumi.OutputState } + +func (EndPointMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*EndPoint)(nil)).Elem() +} + +func (o EndPointMapOutput) ToEndPointMapOutput() EndPointMapOutput { + return o +} + +func (o EndPointMapOutput) ToEndPointMapOutputWithContext(ctx context.Context) EndPointMapOutput { + return o +} + +func (o EndPointMapOutput) MapIndex(k pulumi.StringInput) EndPointOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *EndPoint { + return vs[0].(map[string]*EndPoint)[vs[1].(string)] + }).(EndPointOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*EndPointInput)(nil)).Elem(), &EndPoint{}) + pulumi.RegisterInputType(reflect.TypeOf((*EndPointArrayInput)(nil)).Elem(), EndPointArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*EndPointMapInput)(nil)).Elem(), EndPointMap{}) + pulumi.RegisterOutputType(EndPointOutput{}) + pulumi.RegisterOutputType(EndPointArrayOutput{}) + pulumi.RegisterOutputType(EndPointMapOutput{}) +} diff --git a/sdk/go/tencentcloud/privatedns/forwardRule.go b/sdk/go/tencentcloud/privatedns/forwardRule.go new file mode 100644 index 000000000..3d429aa78 --- /dev/null +++ b/sdk/go/tencentcloud/privatedns/forwardRule.go @@ -0,0 +1,321 @@ +// 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 privatedns + +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 privatedns forward rule +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/PrivateDns" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// exampleEndPoint, err := PrivateDns.NewEndPoint(ctx, "exampleEndPoint", &PrivateDns.EndPointArgs{ +// EndPointName: pulumi.String("tf-example"), +// EndPointServiceId: pulumi.String("vpcsvc-61wcwmar"), +// EndPointRegion: pulumi.String("ap-guangzhou"), +// IpNum: pulumi.Int(1), +// }) +// if err != nil { +// return err +// } +// _, err = PrivateDns.NewForwardRule(ctx, "exampleForwardRule", &PrivateDns.ForwardRuleArgs{ +// RuleName: pulumi.String("tf-example"), +// RuleType: pulumi.String("DOWN"), +// ZoneId: pulumi.String("zone-cmmbvaq8"), +// EndPointId: exampleEndPoint.ID(), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// private dns forward rule can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:PrivateDns/forwardRule:ForwardRule example fid-dbc2c0a97c +// ``` +type ForwardRule struct { + pulumi.CustomResourceState + + // Endpoint ID. + EndPointId pulumi.StringOutput `pulumi:"endPointId"` + // Forwarding rule name. + RuleName pulumi.StringOutput `pulumi:"ruleName"` + // Forwarding rule type. DOWN: From cloud to off-cloud; UP: From off-cloud to cloud. + RuleType pulumi.StringOutput `pulumi:"ruleType"` + // Private domain ID, which can be viewed on the private domain list page. + ZoneId pulumi.StringOutput `pulumi:"zoneId"` +} + +// NewForwardRule registers a new resource with the given unique name, arguments, and options. +func NewForwardRule(ctx *pulumi.Context, + name string, args *ForwardRuleArgs, opts ...pulumi.ResourceOption) (*ForwardRule, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.EndPointId == nil { + return nil, errors.New("invalid value for required argument 'EndPointId'") + } + if args.RuleName == nil { + return nil, errors.New("invalid value for required argument 'RuleName'") + } + if args.RuleType == nil { + return nil, errors.New("invalid value for required argument 'RuleType'") + } + if args.ZoneId == nil { + return nil, errors.New("invalid value for required argument 'ZoneId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ForwardRule + err := ctx.RegisterResource("tencentcloud:PrivateDns/forwardRule:ForwardRule", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetForwardRule gets an existing ForwardRule 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 GetForwardRule(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ForwardRuleState, opts ...pulumi.ResourceOption) (*ForwardRule, error) { + var resource ForwardRule + err := ctx.ReadResource("tencentcloud:PrivateDns/forwardRule:ForwardRule", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ForwardRule resources. +type forwardRuleState struct { + // Endpoint ID. + EndPointId *string `pulumi:"endPointId"` + // Forwarding rule name. + RuleName *string `pulumi:"ruleName"` + // Forwarding rule type. DOWN: From cloud to off-cloud; UP: From off-cloud to cloud. + RuleType *string `pulumi:"ruleType"` + // Private domain ID, which can be viewed on the private domain list page. + ZoneId *string `pulumi:"zoneId"` +} + +type ForwardRuleState struct { + // Endpoint ID. + EndPointId pulumi.StringPtrInput + // Forwarding rule name. + RuleName pulumi.StringPtrInput + // Forwarding rule type. DOWN: From cloud to off-cloud; UP: From off-cloud to cloud. + RuleType pulumi.StringPtrInput + // Private domain ID, which can be viewed on the private domain list page. + ZoneId pulumi.StringPtrInput +} + +func (ForwardRuleState) ElementType() reflect.Type { + return reflect.TypeOf((*forwardRuleState)(nil)).Elem() +} + +type forwardRuleArgs struct { + // Endpoint ID. + EndPointId string `pulumi:"endPointId"` + // Forwarding rule name. + RuleName string `pulumi:"ruleName"` + // Forwarding rule type. DOWN: From cloud to off-cloud; UP: From off-cloud to cloud. + RuleType string `pulumi:"ruleType"` + // Private domain ID, which can be viewed on the private domain list page. + ZoneId string `pulumi:"zoneId"` +} + +// The set of arguments for constructing a ForwardRule resource. +type ForwardRuleArgs struct { + // Endpoint ID. + EndPointId pulumi.StringInput + // Forwarding rule name. + RuleName pulumi.StringInput + // Forwarding rule type. DOWN: From cloud to off-cloud; UP: From off-cloud to cloud. + RuleType pulumi.StringInput + // Private domain ID, which can be viewed on the private domain list page. + ZoneId pulumi.StringInput +} + +func (ForwardRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*forwardRuleArgs)(nil)).Elem() +} + +type ForwardRuleInput interface { + pulumi.Input + + ToForwardRuleOutput() ForwardRuleOutput + ToForwardRuleOutputWithContext(ctx context.Context) ForwardRuleOutput +} + +func (*ForwardRule) ElementType() reflect.Type { + return reflect.TypeOf((**ForwardRule)(nil)).Elem() +} + +func (i *ForwardRule) ToForwardRuleOutput() ForwardRuleOutput { + return i.ToForwardRuleOutputWithContext(context.Background()) +} + +func (i *ForwardRule) ToForwardRuleOutputWithContext(ctx context.Context) ForwardRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(ForwardRuleOutput) +} + +// ForwardRuleArrayInput is an input type that accepts ForwardRuleArray and ForwardRuleArrayOutput values. +// You can construct a concrete instance of `ForwardRuleArrayInput` via: +// +// ForwardRuleArray{ ForwardRuleArgs{...} } +type ForwardRuleArrayInput interface { + pulumi.Input + + ToForwardRuleArrayOutput() ForwardRuleArrayOutput + ToForwardRuleArrayOutputWithContext(context.Context) ForwardRuleArrayOutput +} + +type ForwardRuleArray []ForwardRuleInput + +func (ForwardRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ForwardRule)(nil)).Elem() +} + +func (i ForwardRuleArray) ToForwardRuleArrayOutput() ForwardRuleArrayOutput { + return i.ToForwardRuleArrayOutputWithContext(context.Background()) +} + +func (i ForwardRuleArray) ToForwardRuleArrayOutputWithContext(ctx context.Context) ForwardRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ForwardRuleArrayOutput) +} + +// ForwardRuleMapInput is an input type that accepts ForwardRuleMap and ForwardRuleMapOutput values. +// You can construct a concrete instance of `ForwardRuleMapInput` via: +// +// ForwardRuleMap{ "key": ForwardRuleArgs{...} } +type ForwardRuleMapInput interface { + pulumi.Input + + ToForwardRuleMapOutput() ForwardRuleMapOutput + ToForwardRuleMapOutputWithContext(context.Context) ForwardRuleMapOutput +} + +type ForwardRuleMap map[string]ForwardRuleInput + +func (ForwardRuleMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ForwardRule)(nil)).Elem() +} + +func (i ForwardRuleMap) ToForwardRuleMapOutput() ForwardRuleMapOutput { + return i.ToForwardRuleMapOutputWithContext(context.Background()) +} + +func (i ForwardRuleMap) ToForwardRuleMapOutputWithContext(ctx context.Context) ForwardRuleMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ForwardRuleMapOutput) +} + +type ForwardRuleOutput struct{ *pulumi.OutputState } + +func (ForwardRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ForwardRule)(nil)).Elem() +} + +func (o ForwardRuleOutput) ToForwardRuleOutput() ForwardRuleOutput { + return o +} + +func (o ForwardRuleOutput) ToForwardRuleOutputWithContext(ctx context.Context) ForwardRuleOutput { + return o +} + +// Endpoint ID. +func (o ForwardRuleOutput) EndPointId() pulumi.StringOutput { + return o.ApplyT(func(v *ForwardRule) pulumi.StringOutput { return v.EndPointId }).(pulumi.StringOutput) +} + +// Forwarding rule name. +func (o ForwardRuleOutput) RuleName() pulumi.StringOutput { + return o.ApplyT(func(v *ForwardRule) pulumi.StringOutput { return v.RuleName }).(pulumi.StringOutput) +} + +// Forwarding rule type. DOWN: From cloud to off-cloud; UP: From off-cloud to cloud. +func (o ForwardRuleOutput) RuleType() pulumi.StringOutput { + return o.ApplyT(func(v *ForwardRule) pulumi.StringOutput { return v.RuleType }).(pulumi.StringOutput) +} + +// Private domain ID, which can be viewed on the private domain list page. +func (o ForwardRuleOutput) ZoneId() pulumi.StringOutput { + return o.ApplyT(func(v *ForwardRule) pulumi.StringOutput { return v.ZoneId }).(pulumi.StringOutput) +} + +type ForwardRuleArrayOutput struct{ *pulumi.OutputState } + +func (ForwardRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ForwardRule)(nil)).Elem() +} + +func (o ForwardRuleArrayOutput) ToForwardRuleArrayOutput() ForwardRuleArrayOutput { + return o +} + +func (o ForwardRuleArrayOutput) ToForwardRuleArrayOutputWithContext(ctx context.Context) ForwardRuleArrayOutput { + return o +} + +func (o ForwardRuleArrayOutput) Index(i pulumi.IntInput) ForwardRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ForwardRule { + return vs[0].([]*ForwardRule)[vs[1].(int)] + }).(ForwardRuleOutput) +} + +type ForwardRuleMapOutput struct{ *pulumi.OutputState } + +func (ForwardRuleMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ForwardRule)(nil)).Elem() +} + +func (o ForwardRuleMapOutput) ToForwardRuleMapOutput() ForwardRuleMapOutput { + return o +} + +func (o ForwardRuleMapOutput) ToForwardRuleMapOutputWithContext(ctx context.Context) ForwardRuleMapOutput { + return o +} + +func (o ForwardRuleMapOutput) MapIndex(k pulumi.StringInput) ForwardRuleOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ForwardRule { + return vs[0].(map[string]*ForwardRule)[vs[1].(string)] + }).(ForwardRuleOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ForwardRuleInput)(nil)).Elem(), &ForwardRule{}) + pulumi.RegisterInputType(reflect.TypeOf((*ForwardRuleArrayInput)(nil)).Elem(), ForwardRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ForwardRuleMapInput)(nil)).Elem(), ForwardRuleMap{}) + pulumi.RegisterOutputType(ForwardRuleOutput{}) + pulumi.RegisterOutputType(ForwardRuleArrayOutput{}) + pulumi.RegisterOutputType(ForwardRuleMapOutput{}) +} diff --git a/sdk/go/tencentcloud/privatedns/getEndPoints.go b/sdk/go/tencentcloud/privatedns/getEndPoints.go new file mode 100644 index 000000000..77283811f --- /dev/null +++ b/sdk/go/tencentcloud/privatedns/getEndPoints.go @@ -0,0 +1,186 @@ +// 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 privatedns + +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 private dns dns end points +// +// ## Example Usage +// +// ### Query all private dns end points +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/PrivateDns" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := PrivateDns.GetEndPoints(ctx, nil, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ### Query all private dns end points by filters +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/PrivateDns" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := PrivateDns.GetEndPoints(ctx, &privatedns.GetEndPointsArgs{ +// Filters: []privatedns.GetEndPointsFilter{ +// { +// Name: "EndPointName", +// Values: []string{ +// "tf-example", +// }, +// }, +// { +// Name: "EndPointId", +// Values: []string{ +// "eid-72dc11b8f3", +// }, +// }, +// { +// Name: "EndPointServiceId", +// Values: []string{ +// "vpcsvc-61wcwmar", +// }, +// }, +// { +// Name: "EndPointVip", +// Values: []string{ +// "172.10.10.1", +// }, +// }, +// }, +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +func GetEndPoints(ctx *pulumi.Context, args *GetEndPointsArgs, opts ...pulumi.InvokeOption) (*GetEndPointsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetEndPointsResult + err := ctx.Invoke("tencentcloud:PrivateDns/getEndPoints:getEndPoints", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getEndPoints. +type GetEndPointsArgs struct { + // Filter parameters. Valid values: EndPointName, EndPointId, EndPointServiceId, and EndPointVip. + Filters []GetEndPointsFilter `pulumi:"filters"` + // Used to save results. + ResultOutputFile *string `pulumi:"resultOutputFile"` +} + +// A collection of values returned by getEndPoints. +type GetEndPointsResult struct { + // Endpoint list. + // Note: This field may return null, indicating that no valid values can be obtained. + EndPointSets []GetEndPointsEndPointSet `pulumi:"endPointSets"` + Filters []GetEndPointsFilter `pulumi:"filters"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + ResultOutputFile *string `pulumi:"resultOutputFile"` +} + +func GetEndPointsOutput(ctx *pulumi.Context, args GetEndPointsOutputArgs, opts ...pulumi.InvokeOption) GetEndPointsResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetEndPointsResult, error) { + args := v.(GetEndPointsArgs) + r, err := GetEndPoints(ctx, &args, opts...) + var s GetEndPointsResult + if r != nil { + s = *r + } + return s, err + }).(GetEndPointsResultOutput) +} + +// A collection of arguments for invoking getEndPoints. +type GetEndPointsOutputArgs struct { + // Filter parameters. Valid values: EndPointName, EndPointId, EndPointServiceId, and EndPointVip. + Filters GetEndPointsFilterArrayInput `pulumi:"filters"` + // Used to save results. + ResultOutputFile pulumi.StringPtrInput `pulumi:"resultOutputFile"` +} + +func (GetEndPointsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetEndPointsArgs)(nil)).Elem() +} + +// A collection of values returned by getEndPoints. +type GetEndPointsResultOutput struct{ *pulumi.OutputState } + +func (GetEndPointsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetEndPointsResult)(nil)).Elem() +} + +func (o GetEndPointsResultOutput) ToGetEndPointsResultOutput() GetEndPointsResultOutput { + return o +} + +func (o GetEndPointsResultOutput) ToGetEndPointsResultOutputWithContext(ctx context.Context) GetEndPointsResultOutput { + return o +} + +// Endpoint list. +// Note: This field may return null, indicating that no valid values can be obtained. +func (o GetEndPointsResultOutput) EndPointSets() GetEndPointsEndPointSetArrayOutput { + return o.ApplyT(func(v GetEndPointsResult) []GetEndPointsEndPointSet { return v.EndPointSets }).(GetEndPointsEndPointSetArrayOutput) +} + +func (o GetEndPointsResultOutput) Filters() GetEndPointsFilterArrayOutput { + return o.ApplyT(func(v GetEndPointsResult) []GetEndPointsFilter { return v.Filters }).(GetEndPointsFilterArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetEndPointsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetEndPointsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetEndPointsResultOutput) ResultOutputFile() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetEndPointsResult) *string { return v.ResultOutputFile }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetEndPointsResultOutput{}) +} diff --git a/sdk/go/tencentcloud/privatedns/getForwardRules.go b/sdk/go/tencentcloud/privatedns/getForwardRules.go new file mode 100644 index 000000000..1b1b060bb --- /dev/null +++ b/sdk/go/tencentcloud/privatedns/getForwardRules.go @@ -0,0 +1,202 @@ +// 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 privatedns + +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 private dns forward rules +// +// ## Example Usage +// +// ### Query all private dns forward rules +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/PrivateDns" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := PrivateDns.GetForwardRules(ctx, nil, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ### Query all private dns forward rules by filters +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/PrivateDns" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := PrivateDns.GetForwardRules(ctx, &privatedns.GetForwardRulesArgs{ +// Filters: []privatedns.GetForwardRulesFilter{ +// { +// Name: "RuleId", +// Values: []string{ +// "eid-e9d5880672", +// }, +// }, +// { +// Name: "RuleName", +// Values: []string{ +// "tf-example", +// }, +// }, +// { +// Name: "RuleName", +// Values: []string{ +// "tf-example", +// }, +// }, +// { +// Name: "RuleType", +// Values: []string{ +// "DOWN", +// }, +// }, +// { +// Name: "ZoneId", +// Values: []string{ +// "zone-04jlawty", +// }, +// }, +// { +// Name: "EndPointId", +// Values: []string{ +// "eid-e9d5880672", +// }, +// }, +// { +// Name: "EndPointName", +// Values: []string{ +// "tf-example", +// }, +// }, +// }, +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +func GetForwardRules(ctx *pulumi.Context, args *GetForwardRulesArgs, opts ...pulumi.InvokeOption) (*GetForwardRulesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetForwardRulesResult + err := ctx.Invoke("tencentcloud:PrivateDns/getForwardRules:getForwardRules", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getForwardRules. +type GetForwardRulesArgs struct { + // Filter parameters. + Filters []GetForwardRulesFilter `pulumi:"filters"` + // Used to save results. + ResultOutputFile *string `pulumi:"resultOutputFile"` +} + +// A collection of values returned by getForwardRules. +type GetForwardRulesResult struct { + Filters []GetForwardRulesFilter `pulumi:"filters"` + // Private domain list. + ForwardRuleSets []GetForwardRulesForwardRuleSet `pulumi:"forwardRuleSets"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + ResultOutputFile *string `pulumi:"resultOutputFile"` +} + +func GetForwardRulesOutput(ctx *pulumi.Context, args GetForwardRulesOutputArgs, opts ...pulumi.InvokeOption) GetForwardRulesResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetForwardRulesResult, error) { + args := v.(GetForwardRulesArgs) + r, err := GetForwardRules(ctx, &args, opts...) + var s GetForwardRulesResult + if r != nil { + s = *r + } + return s, err + }).(GetForwardRulesResultOutput) +} + +// A collection of arguments for invoking getForwardRules. +type GetForwardRulesOutputArgs struct { + // Filter parameters. + Filters GetForwardRulesFilterArrayInput `pulumi:"filters"` + // Used to save results. + ResultOutputFile pulumi.StringPtrInput `pulumi:"resultOutputFile"` +} + +func (GetForwardRulesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetForwardRulesArgs)(nil)).Elem() +} + +// A collection of values returned by getForwardRules. +type GetForwardRulesResultOutput struct{ *pulumi.OutputState } + +func (GetForwardRulesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetForwardRulesResult)(nil)).Elem() +} + +func (o GetForwardRulesResultOutput) ToGetForwardRulesResultOutput() GetForwardRulesResultOutput { + return o +} + +func (o GetForwardRulesResultOutput) ToGetForwardRulesResultOutputWithContext(ctx context.Context) GetForwardRulesResultOutput { + return o +} + +func (o GetForwardRulesResultOutput) Filters() GetForwardRulesFilterArrayOutput { + return o.ApplyT(func(v GetForwardRulesResult) []GetForwardRulesFilter { return v.Filters }).(GetForwardRulesFilterArrayOutput) +} + +// Private domain list. +func (o GetForwardRulesResultOutput) ForwardRuleSets() GetForwardRulesForwardRuleSetArrayOutput { + return o.ApplyT(func(v GetForwardRulesResult) []GetForwardRulesForwardRuleSet { return v.ForwardRuleSets }).(GetForwardRulesForwardRuleSetArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetForwardRulesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetForwardRulesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetForwardRulesResultOutput) ResultOutputFile() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetForwardRulesResult) *string { return v.ResultOutputFile }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetForwardRulesResultOutput{}) +} diff --git a/sdk/go/tencentcloud/privatedns/init.go b/sdk/go/tencentcloud/privatedns/init.go index bfca1f1a2..0c322879a 100644 --- a/sdk/go/tencentcloud/privatedns/init.go +++ b/sdk/go/tencentcloud/privatedns/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:PrivateDns/endPoint:EndPoint": + r = &EndPoint{} + case "tencentcloud:PrivateDns/forwardRule:ForwardRule": + r = &ForwardRule{} case "tencentcloud:PrivateDns/record:Record": r = &Record{} case "tencentcloud:PrivateDns/zone:Zone": @@ -40,6 +44,16 @@ func init() { if err != nil { version = semver.Version{Major: 1} } + pulumi.RegisterResourceModule( + "tencentcloud", + "PrivateDns/endPoint", + &module{version}, + ) + pulumi.RegisterResourceModule( + "tencentcloud", + "PrivateDns/forwardRule", + &module{version}, + ) pulumi.RegisterResourceModule( "tencentcloud", "PrivateDns/record", diff --git a/sdk/go/tencentcloud/privatedns/pulumiTypes.go b/sdk/go/tencentcloud/privatedns/pulumiTypes.go index d13553d9f..e583a62ad 100644 --- a/sdk/go/tencentcloud/privatedns/pulumiTypes.go +++ b/sdk/go/tencentcloud/privatedns/pulumiTypes.go @@ -680,6 +680,886 @@ func (o ZoneVpcSetArrayOutput) Index(i pulumi.IntInput) ZoneVpcSetOutput { }).(ZoneVpcSetOutput) } +type GetEndPointsEndPointSet struct { + // Endpoint ID. + EndPointId string `pulumi:"endPointId"` + // Endpoint name. + EndPointName string `pulumi:"endPointName"` + // Endpoint service ID. + EndPointServiceId string `pulumi:"endPointServiceId"` + // VIP list of the endpoint. + EndPointVipSets []string `pulumi:"endPointVipSets"` + // ap-guangzhou + // Note: This field may return null, indicating that no valid values can be obtained. + RegionCode string `pulumi:"regionCode"` + // Tag key-value pair collection. + // Note: This field may return null, indicating that no valid values can be obtained. + Tags []GetEndPointsEndPointSetTag `pulumi:"tags"` +} + +// GetEndPointsEndPointSetInput is an input type that accepts GetEndPointsEndPointSetArgs and GetEndPointsEndPointSetOutput values. +// You can construct a concrete instance of `GetEndPointsEndPointSetInput` via: +// +// GetEndPointsEndPointSetArgs{...} +type GetEndPointsEndPointSetInput interface { + pulumi.Input + + ToGetEndPointsEndPointSetOutput() GetEndPointsEndPointSetOutput + ToGetEndPointsEndPointSetOutputWithContext(context.Context) GetEndPointsEndPointSetOutput +} + +type GetEndPointsEndPointSetArgs struct { + // Endpoint ID. + EndPointId pulumi.StringInput `pulumi:"endPointId"` + // Endpoint name. + EndPointName pulumi.StringInput `pulumi:"endPointName"` + // Endpoint service ID. + EndPointServiceId pulumi.StringInput `pulumi:"endPointServiceId"` + // VIP list of the endpoint. + EndPointVipSets pulumi.StringArrayInput `pulumi:"endPointVipSets"` + // ap-guangzhou + // Note: This field may return null, indicating that no valid values can be obtained. + RegionCode pulumi.StringInput `pulumi:"regionCode"` + // Tag key-value pair collection. + // Note: This field may return null, indicating that no valid values can be obtained. + Tags GetEndPointsEndPointSetTagArrayInput `pulumi:"tags"` +} + +func (GetEndPointsEndPointSetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetEndPointsEndPointSet)(nil)).Elem() +} + +func (i GetEndPointsEndPointSetArgs) ToGetEndPointsEndPointSetOutput() GetEndPointsEndPointSetOutput { + return i.ToGetEndPointsEndPointSetOutputWithContext(context.Background()) +} + +func (i GetEndPointsEndPointSetArgs) ToGetEndPointsEndPointSetOutputWithContext(ctx context.Context) GetEndPointsEndPointSetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetEndPointsEndPointSetOutput) +} + +// GetEndPointsEndPointSetArrayInput is an input type that accepts GetEndPointsEndPointSetArray and GetEndPointsEndPointSetArrayOutput values. +// You can construct a concrete instance of `GetEndPointsEndPointSetArrayInput` via: +// +// GetEndPointsEndPointSetArray{ GetEndPointsEndPointSetArgs{...} } +type GetEndPointsEndPointSetArrayInput interface { + pulumi.Input + + ToGetEndPointsEndPointSetArrayOutput() GetEndPointsEndPointSetArrayOutput + ToGetEndPointsEndPointSetArrayOutputWithContext(context.Context) GetEndPointsEndPointSetArrayOutput +} + +type GetEndPointsEndPointSetArray []GetEndPointsEndPointSetInput + +func (GetEndPointsEndPointSetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetEndPointsEndPointSet)(nil)).Elem() +} + +func (i GetEndPointsEndPointSetArray) ToGetEndPointsEndPointSetArrayOutput() GetEndPointsEndPointSetArrayOutput { + return i.ToGetEndPointsEndPointSetArrayOutputWithContext(context.Background()) +} + +func (i GetEndPointsEndPointSetArray) ToGetEndPointsEndPointSetArrayOutputWithContext(ctx context.Context) GetEndPointsEndPointSetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetEndPointsEndPointSetArrayOutput) +} + +type GetEndPointsEndPointSetOutput struct{ *pulumi.OutputState } + +func (GetEndPointsEndPointSetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetEndPointsEndPointSet)(nil)).Elem() +} + +func (o GetEndPointsEndPointSetOutput) ToGetEndPointsEndPointSetOutput() GetEndPointsEndPointSetOutput { + return o +} + +func (o GetEndPointsEndPointSetOutput) ToGetEndPointsEndPointSetOutputWithContext(ctx context.Context) GetEndPointsEndPointSetOutput { + return o +} + +// Endpoint ID. +func (o GetEndPointsEndPointSetOutput) EndPointId() pulumi.StringOutput { + return o.ApplyT(func(v GetEndPointsEndPointSet) string { return v.EndPointId }).(pulumi.StringOutput) +} + +// Endpoint name. +func (o GetEndPointsEndPointSetOutput) EndPointName() pulumi.StringOutput { + return o.ApplyT(func(v GetEndPointsEndPointSet) string { return v.EndPointName }).(pulumi.StringOutput) +} + +// Endpoint service ID. +func (o GetEndPointsEndPointSetOutput) EndPointServiceId() pulumi.StringOutput { + return o.ApplyT(func(v GetEndPointsEndPointSet) string { return v.EndPointServiceId }).(pulumi.StringOutput) +} + +// VIP list of the endpoint. +func (o GetEndPointsEndPointSetOutput) EndPointVipSets() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetEndPointsEndPointSet) []string { return v.EndPointVipSets }).(pulumi.StringArrayOutput) +} + +// ap-guangzhou +// Note: This field may return null, indicating that no valid values can be obtained. +func (o GetEndPointsEndPointSetOutput) RegionCode() pulumi.StringOutput { + return o.ApplyT(func(v GetEndPointsEndPointSet) string { return v.RegionCode }).(pulumi.StringOutput) +} + +// Tag key-value pair collection. +// Note: This field may return null, indicating that no valid values can be obtained. +func (o GetEndPointsEndPointSetOutput) Tags() GetEndPointsEndPointSetTagArrayOutput { + return o.ApplyT(func(v GetEndPointsEndPointSet) []GetEndPointsEndPointSetTag { return v.Tags }).(GetEndPointsEndPointSetTagArrayOutput) +} + +type GetEndPointsEndPointSetArrayOutput struct{ *pulumi.OutputState } + +func (GetEndPointsEndPointSetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetEndPointsEndPointSet)(nil)).Elem() +} + +func (o GetEndPointsEndPointSetArrayOutput) ToGetEndPointsEndPointSetArrayOutput() GetEndPointsEndPointSetArrayOutput { + return o +} + +func (o GetEndPointsEndPointSetArrayOutput) ToGetEndPointsEndPointSetArrayOutputWithContext(ctx context.Context) GetEndPointsEndPointSetArrayOutput { + return o +} + +func (o GetEndPointsEndPointSetArrayOutput) Index(i pulumi.IntInput) GetEndPointsEndPointSetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetEndPointsEndPointSet { + return vs[0].([]GetEndPointsEndPointSet)[vs[1].(int)] + }).(GetEndPointsEndPointSetOutput) +} + +type GetEndPointsEndPointSetTag struct { + // Tag key. + TagKey string `pulumi:"tagKey"` + // Tag value. + TagValue string `pulumi:"tagValue"` +} + +// GetEndPointsEndPointSetTagInput is an input type that accepts GetEndPointsEndPointSetTagArgs and GetEndPointsEndPointSetTagOutput values. +// You can construct a concrete instance of `GetEndPointsEndPointSetTagInput` via: +// +// GetEndPointsEndPointSetTagArgs{...} +type GetEndPointsEndPointSetTagInput interface { + pulumi.Input + + ToGetEndPointsEndPointSetTagOutput() GetEndPointsEndPointSetTagOutput + ToGetEndPointsEndPointSetTagOutputWithContext(context.Context) GetEndPointsEndPointSetTagOutput +} + +type GetEndPointsEndPointSetTagArgs struct { + // Tag key. + TagKey pulumi.StringInput `pulumi:"tagKey"` + // Tag value. + TagValue pulumi.StringInput `pulumi:"tagValue"` +} + +func (GetEndPointsEndPointSetTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetEndPointsEndPointSetTag)(nil)).Elem() +} + +func (i GetEndPointsEndPointSetTagArgs) ToGetEndPointsEndPointSetTagOutput() GetEndPointsEndPointSetTagOutput { + return i.ToGetEndPointsEndPointSetTagOutputWithContext(context.Background()) +} + +func (i GetEndPointsEndPointSetTagArgs) ToGetEndPointsEndPointSetTagOutputWithContext(ctx context.Context) GetEndPointsEndPointSetTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetEndPointsEndPointSetTagOutput) +} + +// GetEndPointsEndPointSetTagArrayInput is an input type that accepts GetEndPointsEndPointSetTagArray and GetEndPointsEndPointSetTagArrayOutput values. +// You can construct a concrete instance of `GetEndPointsEndPointSetTagArrayInput` via: +// +// GetEndPointsEndPointSetTagArray{ GetEndPointsEndPointSetTagArgs{...} } +type GetEndPointsEndPointSetTagArrayInput interface { + pulumi.Input + + ToGetEndPointsEndPointSetTagArrayOutput() GetEndPointsEndPointSetTagArrayOutput + ToGetEndPointsEndPointSetTagArrayOutputWithContext(context.Context) GetEndPointsEndPointSetTagArrayOutput +} + +type GetEndPointsEndPointSetTagArray []GetEndPointsEndPointSetTagInput + +func (GetEndPointsEndPointSetTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetEndPointsEndPointSetTag)(nil)).Elem() +} + +func (i GetEndPointsEndPointSetTagArray) ToGetEndPointsEndPointSetTagArrayOutput() GetEndPointsEndPointSetTagArrayOutput { + return i.ToGetEndPointsEndPointSetTagArrayOutputWithContext(context.Background()) +} + +func (i GetEndPointsEndPointSetTagArray) ToGetEndPointsEndPointSetTagArrayOutputWithContext(ctx context.Context) GetEndPointsEndPointSetTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetEndPointsEndPointSetTagArrayOutput) +} + +type GetEndPointsEndPointSetTagOutput struct{ *pulumi.OutputState } + +func (GetEndPointsEndPointSetTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetEndPointsEndPointSetTag)(nil)).Elem() +} + +func (o GetEndPointsEndPointSetTagOutput) ToGetEndPointsEndPointSetTagOutput() GetEndPointsEndPointSetTagOutput { + return o +} + +func (o GetEndPointsEndPointSetTagOutput) ToGetEndPointsEndPointSetTagOutputWithContext(ctx context.Context) GetEndPointsEndPointSetTagOutput { + return o +} + +// Tag key. +func (o GetEndPointsEndPointSetTagOutput) TagKey() pulumi.StringOutput { + return o.ApplyT(func(v GetEndPointsEndPointSetTag) string { return v.TagKey }).(pulumi.StringOutput) +} + +// Tag value. +func (o GetEndPointsEndPointSetTagOutput) TagValue() pulumi.StringOutput { + return o.ApplyT(func(v GetEndPointsEndPointSetTag) string { return v.TagValue }).(pulumi.StringOutput) +} + +type GetEndPointsEndPointSetTagArrayOutput struct{ *pulumi.OutputState } + +func (GetEndPointsEndPointSetTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetEndPointsEndPointSetTag)(nil)).Elem() +} + +func (o GetEndPointsEndPointSetTagArrayOutput) ToGetEndPointsEndPointSetTagArrayOutput() GetEndPointsEndPointSetTagArrayOutput { + return o +} + +func (o GetEndPointsEndPointSetTagArrayOutput) ToGetEndPointsEndPointSetTagArrayOutputWithContext(ctx context.Context) GetEndPointsEndPointSetTagArrayOutput { + return o +} + +func (o GetEndPointsEndPointSetTagArrayOutput) Index(i pulumi.IntInput) GetEndPointsEndPointSetTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetEndPointsEndPointSetTag { + return vs[0].([]GetEndPointsEndPointSetTag)[vs[1].(int)] + }).(GetEndPointsEndPointSetTagOutput) +} + +type GetEndPointsFilter struct { + // Parameter name. + Name string `pulumi:"name"` + // Array of parameter values. + Values []string `pulumi:"values"` +} + +// GetEndPointsFilterInput is an input type that accepts GetEndPointsFilterArgs and GetEndPointsFilterOutput values. +// You can construct a concrete instance of `GetEndPointsFilterInput` via: +// +// GetEndPointsFilterArgs{...} +type GetEndPointsFilterInput interface { + pulumi.Input + + ToGetEndPointsFilterOutput() GetEndPointsFilterOutput + ToGetEndPointsFilterOutputWithContext(context.Context) GetEndPointsFilterOutput +} + +type GetEndPointsFilterArgs struct { + // Parameter name. + Name pulumi.StringInput `pulumi:"name"` + // Array of parameter values. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetEndPointsFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetEndPointsFilter)(nil)).Elem() +} + +func (i GetEndPointsFilterArgs) ToGetEndPointsFilterOutput() GetEndPointsFilterOutput { + return i.ToGetEndPointsFilterOutputWithContext(context.Background()) +} + +func (i GetEndPointsFilterArgs) ToGetEndPointsFilterOutputWithContext(ctx context.Context) GetEndPointsFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetEndPointsFilterOutput) +} + +// GetEndPointsFilterArrayInput is an input type that accepts GetEndPointsFilterArray and GetEndPointsFilterArrayOutput values. +// You can construct a concrete instance of `GetEndPointsFilterArrayInput` via: +// +// GetEndPointsFilterArray{ GetEndPointsFilterArgs{...} } +type GetEndPointsFilterArrayInput interface { + pulumi.Input + + ToGetEndPointsFilterArrayOutput() GetEndPointsFilterArrayOutput + ToGetEndPointsFilterArrayOutputWithContext(context.Context) GetEndPointsFilterArrayOutput +} + +type GetEndPointsFilterArray []GetEndPointsFilterInput + +func (GetEndPointsFilterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetEndPointsFilter)(nil)).Elem() +} + +func (i GetEndPointsFilterArray) ToGetEndPointsFilterArrayOutput() GetEndPointsFilterArrayOutput { + return i.ToGetEndPointsFilterArrayOutputWithContext(context.Background()) +} + +func (i GetEndPointsFilterArray) ToGetEndPointsFilterArrayOutputWithContext(ctx context.Context) GetEndPointsFilterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetEndPointsFilterArrayOutput) +} + +type GetEndPointsFilterOutput struct{ *pulumi.OutputState } + +func (GetEndPointsFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetEndPointsFilter)(nil)).Elem() +} + +func (o GetEndPointsFilterOutput) ToGetEndPointsFilterOutput() GetEndPointsFilterOutput { + return o +} + +func (o GetEndPointsFilterOutput) ToGetEndPointsFilterOutputWithContext(ctx context.Context) GetEndPointsFilterOutput { + return o +} + +// Parameter name. +func (o GetEndPointsFilterOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetEndPointsFilter) string { return v.Name }).(pulumi.StringOutput) +} + +// Array of parameter values. +func (o GetEndPointsFilterOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetEndPointsFilter) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetEndPointsFilterArrayOutput struct{ *pulumi.OutputState } + +func (GetEndPointsFilterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetEndPointsFilter)(nil)).Elem() +} + +func (o GetEndPointsFilterArrayOutput) ToGetEndPointsFilterArrayOutput() GetEndPointsFilterArrayOutput { + return o +} + +func (o GetEndPointsFilterArrayOutput) ToGetEndPointsFilterArrayOutputWithContext(ctx context.Context) GetEndPointsFilterArrayOutput { + return o +} + +func (o GetEndPointsFilterArrayOutput) Index(i pulumi.IntInput) GetEndPointsFilterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetEndPointsFilter { + return vs[0].([]GetEndPointsFilter)[vs[1].(int)] + }).(GetEndPointsFilterOutput) +} + +type GetForwardRulesFilter struct { + // Parameter name. + Name string `pulumi:"name"` + // Array of parameter values. + Values []string `pulumi:"values"` +} + +// GetForwardRulesFilterInput is an input type that accepts GetForwardRulesFilterArgs and GetForwardRulesFilterOutput values. +// You can construct a concrete instance of `GetForwardRulesFilterInput` via: +// +// GetForwardRulesFilterArgs{...} +type GetForwardRulesFilterInput interface { + pulumi.Input + + ToGetForwardRulesFilterOutput() GetForwardRulesFilterOutput + ToGetForwardRulesFilterOutputWithContext(context.Context) GetForwardRulesFilterOutput +} + +type GetForwardRulesFilterArgs struct { + // Parameter name. + Name pulumi.StringInput `pulumi:"name"` + // Array of parameter values. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetForwardRulesFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetForwardRulesFilter)(nil)).Elem() +} + +func (i GetForwardRulesFilterArgs) ToGetForwardRulesFilterOutput() GetForwardRulesFilterOutput { + return i.ToGetForwardRulesFilterOutputWithContext(context.Background()) +} + +func (i GetForwardRulesFilterArgs) ToGetForwardRulesFilterOutputWithContext(ctx context.Context) GetForwardRulesFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetForwardRulesFilterOutput) +} + +// GetForwardRulesFilterArrayInput is an input type that accepts GetForwardRulesFilterArray and GetForwardRulesFilterArrayOutput values. +// You can construct a concrete instance of `GetForwardRulesFilterArrayInput` via: +// +// GetForwardRulesFilterArray{ GetForwardRulesFilterArgs{...} } +type GetForwardRulesFilterArrayInput interface { + pulumi.Input + + ToGetForwardRulesFilterArrayOutput() GetForwardRulesFilterArrayOutput + ToGetForwardRulesFilterArrayOutputWithContext(context.Context) GetForwardRulesFilterArrayOutput +} + +type GetForwardRulesFilterArray []GetForwardRulesFilterInput + +func (GetForwardRulesFilterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetForwardRulesFilter)(nil)).Elem() +} + +func (i GetForwardRulesFilterArray) ToGetForwardRulesFilterArrayOutput() GetForwardRulesFilterArrayOutput { + return i.ToGetForwardRulesFilterArrayOutputWithContext(context.Background()) +} + +func (i GetForwardRulesFilterArray) ToGetForwardRulesFilterArrayOutputWithContext(ctx context.Context) GetForwardRulesFilterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetForwardRulesFilterArrayOutput) +} + +type GetForwardRulesFilterOutput struct{ *pulumi.OutputState } + +func (GetForwardRulesFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetForwardRulesFilter)(nil)).Elem() +} + +func (o GetForwardRulesFilterOutput) ToGetForwardRulesFilterOutput() GetForwardRulesFilterOutput { + return o +} + +func (o GetForwardRulesFilterOutput) ToGetForwardRulesFilterOutputWithContext(ctx context.Context) GetForwardRulesFilterOutput { + return o +} + +// Parameter name. +func (o GetForwardRulesFilterOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetForwardRulesFilter) string { return v.Name }).(pulumi.StringOutput) +} + +// Array of parameter values. +func (o GetForwardRulesFilterOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetForwardRulesFilter) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetForwardRulesFilterArrayOutput struct{ *pulumi.OutputState } + +func (GetForwardRulesFilterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetForwardRulesFilter)(nil)).Elem() +} + +func (o GetForwardRulesFilterArrayOutput) ToGetForwardRulesFilterArrayOutput() GetForwardRulesFilterArrayOutput { + return o +} + +func (o GetForwardRulesFilterArrayOutput) ToGetForwardRulesFilterArrayOutputWithContext(ctx context.Context) GetForwardRulesFilterArrayOutput { + return o +} + +func (o GetForwardRulesFilterArrayOutput) Index(i pulumi.IntInput) GetForwardRulesFilterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetForwardRulesFilter { + return vs[0].([]GetForwardRulesFilter)[vs[1].(int)] + }).(GetForwardRulesFilterOutput) +} + +type GetForwardRulesForwardRuleSet struct { + // Creation time. + CreatedAt string `pulumi:"createdAt"` + // Private domain name. + Domain string `pulumi:"domain"` + // Endpoint ID. + EndPointId string `pulumi:"endPointId"` + // Endpoint name. + EndPointName string `pulumi:"endPointName"` + // Forwarding address. + ForwardAddresses []string `pulumi:"forwardAddresses"` + // Rule ID. + RuleId string `pulumi:"ruleId"` + // Forwarding rule name. + RuleName string `pulumi:"ruleName"` + // Forwarding rule type. DOWN: From cloud to off-cloud; UP: From off-cloud to cloud. + RuleType string `pulumi:"ruleType"` + // Tag. + // Note: This field may return null, indicating that no valid values can be obtained. + Tags []GetForwardRulesForwardRuleSetTag `pulumi:"tags"` + // Update time. + UpdatedAt string `pulumi:"updatedAt"` + // List of VPCs bound to the private domain. + // Note: This field may return null, indicating that no valid values can be obtained. + VpcSets []GetForwardRulesForwardRuleSetVpcSet `pulumi:"vpcSets"` + // ID of the bound private domain. + ZoneId string `pulumi:"zoneId"` +} + +// GetForwardRulesForwardRuleSetInput is an input type that accepts GetForwardRulesForwardRuleSetArgs and GetForwardRulesForwardRuleSetOutput values. +// You can construct a concrete instance of `GetForwardRulesForwardRuleSetInput` via: +// +// GetForwardRulesForwardRuleSetArgs{...} +type GetForwardRulesForwardRuleSetInput interface { + pulumi.Input + + ToGetForwardRulesForwardRuleSetOutput() GetForwardRulesForwardRuleSetOutput + ToGetForwardRulesForwardRuleSetOutputWithContext(context.Context) GetForwardRulesForwardRuleSetOutput +} + +type GetForwardRulesForwardRuleSetArgs struct { + // Creation time. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // Private domain name. + Domain pulumi.StringInput `pulumi:"domain"` + // Endpoint ID. + EndPointId pulumi.StringInput `pulumi:"endPointId"` + // Endpoint name. + EndPointName pulumi.StringInput `pulumi:"endPointName"` + // Forwarding address. + ForwardAddresses pulumi.StringArrayInput `pulumi:"forwardAddresses"` + // Rule ID. + RuleId pulumi.StringInput `pulumi:"ruleId"` + // Forwarding rule name. + RuleName pulumi.StringInput `pulumi:"ruleName"` + // Forwarding rule type. DOWN: From cloud to off-cloud; UP: From off-cloud to cloud. + RuleType pulumi.StringInput `pulumi:"ruleType"` + // Tag. + // Note: This field may return null, indicating that no valid values can be obtained. + Tags GetForwardRulesForwardRuleSetTagArrayInput `pulumi:"tags"` + // Update time. + UpdatedAt pulumi.StringInput `pulumi:"updatedAt"` + // List of VPCs bound to the private domain. + // Note: This field may return null, indicating that no valid values can be obtained. + VpcSets GetForwardRulesForwardRuleSetVpcSetArrayInput `pulumi:"vpcSets"` + // ID of the bound private domain. + ZoneId pulumi.StringInput `pulumi:"zoneId"` +} + +func (GetForwardRulesForwardRuleSetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetForwardRulesForwardRuleSet)(nil)).Elem() +} + +func (i GetForwardRulesForwardRuleSetArgs) ToGetForwardRulesForwardRuleSetOutput() GetForwardRulesForwardRuleSetOutput { + return i.ToGetForwardRulesForwardRuleSetOutputWithContext(context.Background()) +} + +func (i GetForwardRulesForwardRuleSetArgs) ToGetForwardRulesForwardRuleSetOutputWithContext(ctx context.Context) GetForwardRulesForwardRuleSetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetForwardRulesForwardRuleSetOutput) +} + +// GetForwardRulesForwardRuleSetArrayInput is an input type that accepts GetForwardRulesForwardRuleSetArray and GetForwardRulesForwardRuleSetArrayOutput values. +// You can construct a concrete instance of `GetForwardRulesForwardRuleSetArrayInput` via: +// +// GetForwardRulesForwardRuleSetArray{ GetForwardRulesForwardRuleSetArgs{...} } +type GetForwardRulesForwardRuleSetArrayInput interface { + pulumi.Input + + ToGetForwardRulesForwardRuleSetArrayOutput() GetForwardRulesForwardRuleSetArrayOutput + ToGetForwardRulesForwardRuleSetArrayOutputWithContext(context.Context) GetForwardRulesForwardRuleSetArrayOutput +} + +type GetForwardRulesForwardRuleSetArray []GetForwardRulesForwardRuleSetInput + +func (GetForwardRulesForwardRuleSetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetForwardRulesForwardRuleSet)(nil)).Elem() +} + +func (i GetForwardRulesForwardRuleSetArray) ToGetForwardRulesForwardRuleSetArrayOutput() GetForwardRulesForwardRuleSetArrayOutput { + return i.ToGetForwardRulesForwardRuleSetArrayOutputWithContext(context.Background()) +} + +func (i GetForwardRulesForwardRuleSetArray) ToGetForwardRulesForwardRuleSetArrayOutputWithContext(ctx context.Context) GetForwardRulesForwardRuleSetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetForwardRulesForwardRuleSetArrayOutput) +} + +type GetForwardRulesForwardRuleSetOutput struct{ *pulumi.OutputState } + +func (GetForwardRulesForwardRuleSetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetForwardRulesForwardRuleSet)(nil)).Elem() +} + +func (o GetForwardRulesForwardRuleSetOutput) ToGetForwardRulesForwardRuleSetOutput() GetForwardRulesForwardRuleSetOutput { + return o +} + +func (o GetForwardRulesForwardRuleSetOutput) ToGetForwardRulesForwardRuleSetOutputWithContext(ctx context.Context) GetForwardRulesForwardRuleSetOutput { + return o +} + +// Creation time. +func (o GetForwardRulesForwardRuleSetOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetForwardRulesForwardRuleSet) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// Private domain name. +func (o GetForwardRulesForwardRuleSetOutput) Domain() pulumi.StringOutput { + return o.ApplyT(func(v GetForwardRulesForwardRuleSet) string { return v.Domain }).(pulumi.StringOutput) +} + +// Endpoint ID. +func (o GetForwardRulesForwardRuleSetOutput) EndPointId() pulumi.StringOutput { + return o.ApplyT(func(v GetForwardRulesForwardRuleSet) string { return v.EndPointId }).(pulumi.StringOutput) +} + +// Endpoint name. +func (o GetForwardRulesForwardRuleSetOutput) EndPointName() pulumi.StringOutput { + return o.ApplyT(func(v GetForwardRulesForwardRuleSet) string { return v.EndPointName }).(pulumi.StringOutput) +} + +// Forwarding address. +func (o GetForwardRulesForwardRuleSetOutput) ForwardAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetForwardRulesForwardRuleSet) []string { return v.ForwardAddresses }).(pulumi.StringArrayOutput) +} + +// Rule ID. +func (o GetForwardRulesForwardRuleSetOutput) RuleId() pulumi.StringOutput { + return o.ApplyT(func(v GetForwardRulesForwardRuleSet) string { return v.RuleId }).(pulumi.StringOutput) +} + +// Forwarding rule name. +func (o GetForwardRulesForwardRuleSetOutput) RuleName() pulumi.StringOutput { + return o.ApplyT(func(v GetForwardRulesForwardRuleSet) string { return v.RuleName }).(pulumi.StringOutput) +} + +// Forwarding rule type. DOWN: From cloud to off-cloud; UP: From off-cloud to cloud. +func (o GetForwardRulesForwardRuleSetOutput) RuleType() pulumi.StringOutput { + return o.ApplyT(func(v GetForwardRulesForwardRuleSet) string { return v.RuleType }).(pulumi.StringOutput) +} + +// Tag. +// Note: This field may return null, indicating that no valid values can be obtained. +func (o GetForwardRulesForwardRuleSetOutput) Tags() GetForwardRulesForwardRuleSetTagArrayOutput { + return o.ApplyT(func(v GetForwardRulesForwardRuleSet) []GetForwardRulesForwardRuleSetTag { return v.Tags }).(GetForwardRulesForwardRuleSetTagArrayOutput) +} + +// Update time. +func (o GetForwardRulesForwardRuleSetOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetForwardRulesForwardRuleSet) string { return v.UpdatedAt }).(pulumi.StringOutput) +} + +// List of VPCs bound to the private domain. +// Note: This field may return null, indicating that no valid values can be obtained. +func (o GetForwardRulesForwardRuleSetOutput) VpcSets() GetForwardRulesForwardRuleSetVpcSetArrayOutput { + return o.ApplyT(func(v GetForwardRulesForwardRuleSet) []GetForwardRulesForwardRuleSetVpcSet { return v.VpcSets }).(GetForwardRulesForwardRuleSetVpcSetArrayOutput) +} + +// ID of the bound private domain. +func (o GetForwardRulesForwardRuleSetOutput) ZoneId() pulumi.StringOutput { + return o.ApplyT(func(v GetForwardRulesForwardRuleSet) string { return v.ZoneId }).(pulumi.StringOutput) +} + +type GetForwardRulesForwardRuleSetArrayOutput struct{ *pulumi.OutputState } + +func (GetForwardRulesForwardRuleSetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetForwardRulesForwardRuleSet)(nil)).Elem() +} + +func (o GetForwardRulesForwardRuleSetArrayOutput) ToGetForwardRulesForwardRuleSetArrayOutput() GetForwardRulesForwardRuleSetArrayOutput { + return o +} + +func (o GetForwardRulesForwardRuleSetArrayOutput) ToGetForwardRulesForwardRuleSetArrayOutputWithContext(ctx context.Context) GetForwardRulesForwardRuleSetArrayOutput { + return o +} + +func (o GetForwardRulesForwardRuleSetArrayOutput) Index(i pulumi.IntInput) GetForwardRulesForwardRuleSetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetForwardRulesForwardRuleSet { + return vs[0].([]GetForwardRulesForwardRuleSet)[vs[1].(int)] + }).(GetForwardRulesForwardRuleSetOutput) +} + +type GetForwardRulesForwardRuleSetTag struct { + // Tag key. + TagKey string `pulumi:"tagKey"` + // Tag value. + TagValue string `pulumi:"tagValue"` +} + +// GetForwardRulesForwardRuleSetTagInput is an input type that accepts GetForwardRulesForwardRuleSetTagArgs and GetForwardRulesForwardRuleSetTagOutput values. +// You can construct a concrete instance of `GetForwardRulesForwardRuleSetTagInput` via: +// +// GetForwardRulesForwardRuleSetTagArgs{...} +type GetForwardRulesForwardRuleSetTagInput interface { + pulumi.Input + + ToGetForwardRulesForwardRuleSetTagOutput() GetForwardRulesForwardRuleSetTagOutput + ToGetForwardRulesForwardRuleSetTagOutputWithContext(context.Context) GetForwardRulesForwardRuleSetTagOutput +} + +type GetForwardRulesForwardRuleSetTagArgs struct { + // Tag key. + TagKey pulumi.StringInput `pulumi:"tagKey"` + // Tag value. + TagValue pulumi.StringInput `pulumi:"tagValue"` +} + +func (GetForwardRulesForwardRuleSetTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetForwardRulesForwardRuleSetTag)(nil)).Elem() +} + +func (i GetForwardRulesForwardRuleSetTagArgs) ToGetForwardRulesForwardRuleSetTagOutput() GetForwardRulesForwardRuleSetTagOutput { + return i.ToGetForwardRulesForwardRuleSetTagOutputWithContext(context.Background()) +} + +func (i GetForwardRulesForwardRuleSetTagArgs) ToGetForwardRulesForwardRuleSetTagOutputWithContext(ctx context.Context) GetForwardRulesForwardRuleSetTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetForwardRulesForwardRuleSetTagOutput) +} + +// GetForwardRulesForwardRuleSetTagArrayInput is an input type that accepts GetForwardRulesForwardRuleSetTagArray and GetForwardRulesForwardRuleSetTagArrayOutput values. +// You can construct a concrete instance of `GetForwardRulesForwardRuleSetTagArrayInput` via: +// +// GetForwardRulesForwardRuleSetTagArray{ GetForwardRulesForwardRuleSetTagArgs{...} } +type GetForwardRulesForwardRuleSetTagArrayInput interface { + pulumi.Input + + ToGetForwardRulesForwardRuleSetTagArrayOutput() GetForwardRulesForwardRuleSetTagArrayOutput + ToGetForwardRulesForwardRuleSetTagArrayOutputWithContext(context.Context) GetForwardRulesForwardRuleSetTagArrayOutput +} + +type GetForwardRulesForwardRuleSetTagArray []GetForwardRulesForwardRuleSetTagInput + +func (GetForwardRulesForwardRuleSetTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetForwardRulesForwardRuleSetTag)(nil)).Elem() +} + +func (i GetForwardRulesForwardRuleSetTagArray) ToGetForwardRulesForwardRuleSetTagArrayOutput() GetForwardRulesForwardRuleSetTagArrayOutput { + return i.ToGetForwardRulesForwardRuleSetTagArrayOutputWithContext(context.Background()) +} + +func (i GetForwardRulesForwardRuleSetTagArray) ToGetForwardRulesForwardRuleSetTagArrayOutputWithContext(ctx context.Context) GetForwardRulesForwardRuleSetTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetForwardRulesForwardRuleSetTagArrayOutput) +} + +type GetForwardRulesForwardRuleSetTagOutput struct{ *pulumi.OutputState } + +func (GetForwardRulesForwardRuleSetTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetForwardRulesForwardRuleSetTag)(nil)).Elem() +} + +func (o GetForwardRulesForwardRuleSetTagOutput) ToGetForwardRulesForwardRuleSetTagOutput() GetForwardRulesForwardRuleSetTagOutput { + return o +} + +func (o GetForwardRulesForwardRuleSetTagOutput) ToGetForwardRulesForwardRuleSetTagOutputWithContext(ctx context.Context) GetForwardRulesForwardRuleSetTagOutput { + return o +} + +// Tag key. +func (o GetForwardRulesForwardRuleSetTagOutput) TagKey() pulumi.StringOutput { + return o.ApplyT(func(v GetForwardRulesForwardRuleSetTag) string { return v.TagKey }).(pulumi.StringOutput) +} + +// Tag value. +func (o GetForwardRulesForwardRuleSetTagOutput) TagValue() pulumi.StringOutput { + return o.ApplyT(func(v GetForwardRulesForwardRuleSetTag) string { return v.TagValue }).(pulumi.StringOutput) +} + +type GetForwardRulesForwardRuleSetTagArrayOutput struct{ *pulumi.OutputState } + +func (GetForwardRulesForwardRuleSetTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetForwardRulesForwardRuleSetTag)(nil)).Elem() +} + +func (o GetForwardRulesForwardRuleSetTagArrayOutput) ToGetForwardRulesForwardRuleSetTagArrayOutput() GetForwardRulesForwardRuleSetTagArrayOutput { + return o +} + +func (o GetForwardRulesForwardRuleSetTagArrayOutput) ToGetForwardRulesForwardRuleSetTagArrayOutputWithContext(ctx context.Context) GetForwardRulesForwardRuleSetTagArrayOutput { + return o +} + +func (o GetForwardRulesForwardRuleSetTagArrayOutput) Index(i pulumi.IntInput) GetForwardRulesForwardRuleSetTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetForwardRulesForwardRuleSetTag { + return vs[0].([]GetForwardRulesForwardRuleSetTag)[vs[1].(int)] + }).(GetForwardRulesForwardRuleSetTagOutput) +} + +type GetForwardRulesForwardRuleSetVpcSet struct { + // VPC region: ap-guangzhou, ap-shanghai. + Region string `pulumi:"region"` + // VpcId: vpc-xadsafsdasd. + UniqVpcId string `pulumi:"uniqVpcId"` +} + +// GetForwardRulesForwardRuleSetVpcSetInput is an input type that accepts GetForwardRulesForwardRuleSetVpcSetArgs and GetForwardRulesForwardRuleSetVpcSetOutput values. +// You can construct a concrete instance of `GetForwardRulesForwardRuleSetVpcSetInput` via: +// +// GetForwardRulesForwardRuleSetVpcSetArgs{...} +type GetForwardRulesForwardRuleSetVpcSetInput interface { + pulumi.Input + + ToGetForwardRulesForwardRuleSetVpcSetOutput() GetForwardRulesForwardRuleSetVpcSetOutput + ToGetForwardRulesForwardRuleSetVpcSetOutputWithContext(context.Context) GetForwardRulesForwardRuleSetVpcSetOutput +} + +type GetForwardRulesForwardRuleSetVpcSetArgs struct { + // VPC region: ap-guangzhou, ap-shanghai. + Region pulumi.StringInput `pulumi:"region"` + // VpcId: vpc-xadsafsdasd. + UniqVpcId pulumi.StringInput `pulumi:"uniqVpcId"` +} + +func (GetForwardRulesForwardRuleSetVpcSetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetForwardRulesForwardRuleSetVpcSet)(nil)).Elem() +} + +func (i GetForwardRulesForwardRuleSetVpcSetArgs) ToGetForwardRulesForwardRuleSetVpcSetOutput() GetForwardRulesForwardRuleSetVpcSetOutput { + return i.ToGetForwardRulesForwardRuleSetVpcSetOutputWithContext(context.Background()) +} + +func (i GetForwardRulesForwardRuleSetVpcSetArgs) ToGetForwardRulesForwardRuleSetVpcSetOutputWithContext(ctx context.Context) GetForwardRulesForwardRuleSetVpcSetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetForwardRulesForwardRuleSetVpcSetOutput) +} + +// GetForwardRulesForwardRuleSetVpcSetArrayInput is an input type that accepts GetForwardRulesForwardRuleSetVpcSetArray and GetForwardRulesForwardRuleSetVpcSetArrayOutput values. +// You can construct a concrete instance of `GetForwardRulesForwardRuleSetVpcSetArrayInput` via: +// +// GetForwardRulesForwardRuleSetVpcSetArray{ GetForwardRulesForwardRuleSetVpcSetArgs{...} } +type GetForwardRulesForwardRuleSetVpcSetArrayInput interface { + pulumi.Input + + ToGetForwardRulesForwardRuleSetVpcSetArrayOutput() GetForwardRulesForwardRuleSetVpcSetArrayOutput + ToGetForwardRulesForwardRuleSetVpcSetArrayOutputWithContext(context.Context) GetForwardRulesForwardRuleSetVpcSetArrayOutput +} + +type GetForwardRulesForwardRuleSetVpcSetArray []GetForwardRulesForwardRuleSetVpcSetInput + +func (GetForwardRulesForwardRuleSetVpcSetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetForwardRulesForwardRuleSetVpcSet)(nil)).Elem() +} + +func (i GetForwardRulesForwardRuleSetVpcSetArray) ToGetForwardRulesForwardRuleSetVpcSetArrayOutput() GetForwardRulesForwardRuleSetVpcSetArrayOutput { + return i.ToGetForwardRulesForwardRuleSetVpcSetArrayOutputWithContext(context.Background()) +} + +func (i GetForwardRulesForwardRuleSetVpcSetArray) ToGetForwardRulesForwardRuleSetVpcSetArrayOutputWithContext(ctx context.Context) GetForwardRulesForwardRuleSetVpcSetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetForwardRulesForwardRuleSetVpcSetArrayOutput) +} + +type GetForwardRulesForwardRuleSetVpcSetOutput struct{ *pulumi.OutputState } + +func (GetForwardRulesForwardRuleSetVpcSetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetForwardRulesForwardRuleSetVpcSet)(nil)).Elem() +} + +func (o GetForwardRulesForwardRuleSetVpcSetOutput) ToGetForwardRulesForwardRuleSetVpcSetOutput() GetForwardRulesForwardRuleSetVpcSetOutput { + return o +} + +func (o GetForwardRulesForwardRuleSetVpcSetOutput) ToGetForwardRulesForwardRuleSetVpcSetOutputWithContext(ctx context.Context) GetForwardRulesForwardRuleSetVpcSetOutput { + return o +} + +// VPC region: ap-guangzhou, ap-shanghai. +func (o GetForwardRulesForwardRuleSetVpcSetOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v GetForwardRulesForwardRuleSetVpcSet) string { return v.Region }).(pulumi.StringOutput) +} + +// VpcId: vpc-xadsafsdasd. +func (o GetForwardRulesForwardRuleSetVpcSetOutput) UniqVpcId() pulumi.StringOutput { + return o.ApplyT(func(v GetForwardRulesForwardRuleSetVpcSet) string { return v.UniqVpcId }).(pulumi.StringOutput) +} + +type GetForwardRulesForwardRuleSetVpcSetArrayOutput struct{ *pulumi.OutputState } + +func (GetForwardRulesForwardRuleSetVpcSetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetForwardRulesForwardRuleSetVpcSet)(nil)).Elem() +} + +func (o GetForwardRulesForwardRuleSetVpcSetArrayOutput) ToGetForwardRulesForwardRuleSetVpcSetArrayOutput() GetForwardRulesForwardRuleSetVpcSetArrayOutput { + return o +} + +func (o GetForwardRulesForwardRuleSetVpcSetArrayOutput) ToGetForwardRulesForwardRuleSetVpcSetArrayOutputWithContext(ctx context.Context) GetForwardRulesForwardRuleSetVpcSetArrayOutput { + return o +} + +func (o GetForwardRulesForwardRuleSetVpcSetArrayOutput) Index(i pulumi.IntInput) GetForwardRulesForwardRuleSetVpcSetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetForwardRulesForwardRuleSetVpcSet { + return vs[0].([]GetForwardRulesForwardRuleSetVpcSet)[vs[1].(int)] + }).(GetForwardRulesForwardRuleSetVpcSetOutput) +} + type GetPrivateZoneListFilter struct { // name. Name string `pulumi:"name"` @@ -1804,6 +2684,20 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ZoneVpcAttachmentVpcSetPtrInput)(nil)).Elem(), ZoneVpcAttachmentVpcSetArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ZoneVpcSetInput)(nil)).Elem(), ZoneVpcSetArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ZoneVpcSetArrayInput)(nil)).Elem(), ZoneVpcSetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetEndPointsEndPointSetInput)(nil)).Elem(), GetEndPointsEndPointSetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetEndPointsEndPointSetArrayInput)(nil)).Elem(), GetEndPointsEndPointSetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetEndPointsEndPointSetTagInput)(nil)).Elem(), GetEndPointsEndPointSetTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetEndPointsEndPointSetTagArrayInput)(nil)).Elem(), GetEndPointsEndPointSetTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetEndPointsFilterInput)(nil)).Elem(), GetEndPointsFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetEndPointsFilterArrayInput)(nil)).Elem(), GetEndPointsFilterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetForwardRulesFilterInput)(nil)).Elem(), GetForwardRulesFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetForwardRulesFilterArrayInput)(nil)).Elem(), GetForwardRulesFilterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetForwardRulesForwardRuleSetInput)(nil)).Elem(), GetForwardRulesForwardRuleSetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetForwardRulesForwardRuleSetArrayInput)(nil)).Elem(), GetForwardRulesForwardRuleSetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetForwardRulesForwardRuleSetTagInput)(nil)).Elem(), GetForwardRulesForwardRuleSetTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetForwardRulesForwardRuleSetTagArrayInput)(nil)).Elem(), GetForwardRulesForwardRuleSetTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetForwardRulesForwardRuleSetVpcSetInput)(nil)).Elem(), GetForwardRulesForwardRuleSetVpcSetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetForwardRulesForwardRuleSetVpcSetArrayInput)(nil)).Elem(), GetForwardRulesForwardRuleSetVpcSetArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetPrivateZoneListFilterInput)(nil)).Elem(), GetPrivateZoneListFilterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetPrivateZoneListFilterArrayInput)(nil)).Elem(), GetPrivateZoneListFilterArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetPrivateZoneListPrivateZoneSetInput)(nil)).Elem(), GetPrivateZoneListPrivateZoneSetArgs{}) @@ -1830,6 +2724,20 @@ func init() { pulumi.RegisterOutputType(ZoneVpcAttachmentVpcSetPtrOutput{}) pulumi.RegisterOutputType(ZoneVpcSetOutput{}) pulumi.RegisterOutputType(ZoneVpcSetArrayOutput{}) + pulumi.RegisterOutputType(GetEndPointsEndPointSetOutput{}) + pulumi.RegisterOutputType(GetEndPointsEndPointSetArrayOutput{}) + pulumi.RegisterOutputType(GetEndPointsEndPointSetTagOutput{}) + pulumi.RegisterOutputType(GetEndPointsEndPointSetTagArrayOutput{}) + pulumi.RegisterOutputType(GetEndPointsFilterOutput{}) + pulumi.RegisterOutputType(GetEndPointsFilterArrayOutput{}) + pulumi.RegisterOutputType(GetForwardRulesFilterOutput{}) + pulumi.RegisterOutputType(GetForwardRulesFilterArrayOutput{}) + pulumi.RegisterOutputType(GetForwardRulesForwardRuleSetOutput{}) + pulumi.RegisterOutputType(GetForwardRulesForwardRuleSetArrayOutput{}) + pulumi.RegisterOutputType(GetForwardRulesForwardRuleSetTagOutput{}) + pulumi.RegisterOutputType(GetForwardRulesForwardRuleSetTagArrayOutput{}) + pulumi.RegisterOutputType(GetForwardRulesForwardRuleSetVpcSetOutput{}) + pulumi.RegisterOutputType(GetForwardRulesForwardRuleSetVpcSetArrayOutput{}) pulumi.RegisterOutputType(GetPrivateZoneListFilterOutput{}) pulumi.RegisterOutputType(GetPrivateZoneListFilterArrayOutput{}) pulumi.RegisterOutputType(GetPrivateZoneListPrivateZoneSetOutput{}) 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/privatedns/zone.go b/sdk/go/tencentcloud/privatedns/zone.go index 016ceae37..0816153a9 100644 --- a/sdk/go/tencentcloud/privatedns/zone.go +++ b/sdk/go/tencentcloud/privatedns/zone.go @@ -14,6 +14,8 @@ import ( // Provide a resource to create a Private Dns Zone. // +// > **NOTE:** If you want to unbind all VPCs bound to the current private dns zone, simply clearing the declaration will not take effect; you need to set the `region` and `uniqVpcId` in `vpcSet` to an empty string. +// // ## Example Usage // // ### Create a basic Private Dns Zone 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..3e15b9d06 100644 --- a/sdk/go/tencentcloud/pulumiTypes.go +++ b/sdk/go/tencentcloud/pulumiTypes.go @@ -14,6 +14,8 @@ import ( var _ = internal.GetEnvOrDefault type ProviderAssumeRole struct { + // External role ID, which can be obtained by clicking the role name in the CAM console. It can contain 2-128 letters, digits, and symbols (=,.@:/-). Regex: [\w+=,.@:/-]*. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_EXTERNAL_ID`. + ExternalId *string `pulumi:"externalId"` // A more restrictive policy when making the AssumeRole call. Its content must not contains `principal` elements. Notice: more syntax references, please refer to: [policies syntax logic](https://intl.cloud.tencent.com/document/product/598/10603). Policy *string `pulumi:"policy"` // The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`. @@ -36,6 +38,8 @@ type ProviderAssumeRoleInput interface { } type ProviderAssumeRoleArgs struct { + // External role ID, which can be obtained by clicking the role name in the CAM console. It can contain 2-128 letters, digits, and symbols (=,.@:/-). Regex: [\w+=,.@:/-]*. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_EXTERNAL_ID`. + ExternalId pulumi.StringPtrInput `pulumi:"externalId"` // A more restrictive policy when making the AssumeRole call. Its content must not contains `principal` elements. Notice: more syntax references, please refer to: [policies syntax logic](https://intl.cloud.tencent.com/document/product/598/10603). Policy pulumi.StringPtrInput `pulumi:"policy"` // The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`. @@ -123,6 +127,11 @@ func (o ProviderAssumeRoleOutput) ToProviderAssumeRolePtrOutputWithContext(ctx c }).(ProviderAssumeRolePtrOutput) } +// External role ID, which can be obtained by clicking the role name in the CAM console. It can contain 2-128 letters, digits, and symbols (=,.@:/-). Regex: [\w+=,.@:/-]*. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_EXTERNAL_ID`. +func (o ProviderAssumeRoleOutput) ExternalId() pulumi.StringPtrOutput { + return o.ApplyT(func(v ProviderAssumeRole) *string { return v.ExternalId }).(pulumi.StringPtrOutput) +} + // A more restrictive policy when making the AssumeRole call. Its content must not contains `principal` elements. Notice: more syntax references, please refer to: [policies syntax logic](https://intl.cloud.tencent.com/document/product/598/10603). func (o ProviderAssumeRoleOutput) Policy() pulumi.StringPtrOutput { return o.ApplyT(func(v ProviderAssumeRole) *string { return v.Policy }).(pulumi.StringPtrOutput) @@ -167,6 +176,16 @@ func (o ProviderAssumeRolePtrOutput) Elem() ProviderAssumeRoleOutput { }).(ProviderAssumeRoleOutput) } +// External role ID, which can be obtained by clicking the role name in the CAM console. It can contain 2-128 letters, digits, and symbols (=,.@:/-). Regex: [\w+=,.@:/-]*. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_EXTERNAL_ID`. +func (o ProviderAssumeRolePtrOutput) ExternalId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProviderAssumeRole) *string { + if v == nil { + return nil + } + return v.ExternalId + }).(pulumi.StringPtrOutput) +} + // A more restrictive policy when making the AssumeRole call. Its content must not contains `principal` elements. Notice: more syntax references, please refer to: [policies syntax logic](https://intl.cloud.tencent.com/document/product/598/10603). func (o ProviderAssumeRolePtrOutput) Policy() pulumi.StringPtrOutput { return o.ApplyT(func(v *ProviderAssumeRole) *string { @@ -207,9 +226,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..d7b70d2b4 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,7 +161,9 @@ type Instance struct { ChargeType pulumi.StringPtrOutput `pulumi:"chargeType"` // The time when the instance was created. CreateTime pulumi.StringOutput `pulumi:"createTime"` - // 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. + // 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. ForceDelete pulumi.BoolPtrOutput `pulumi:"forceDelete"` // IP address of an instance. When the `operationNetwork` is `changeVip`, this parameter needs to be configured. Ip pulumi.StringOutput `pulumi:"ip"` @@ -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,7 +272,9 @@ type instanceState struct { ChargeType *string `pulumi:"chargeType"` // The time when the instance was created. CreateTime *string `pulumi:"createTime"` - // 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. + // 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. ForceDelete *bool `pulumi:"forceDelete"` // IP address of an instance. When the `operationNetwork` is `changeVip`, this parameter needs to be configured. Ip *string `pulumi:"ip"` @@ -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,7 +341,9 @@ type InstanceState struct { ChargeType pulumi.StringPtrInput // The time when the instance was created. CreateTime 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. + // 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. ForceDelete pulumi.BoolPtrInput // IP address of an instance. When the `operationNetwork` is `changeVip`, this parameter needs to be configured. Ip pulumi.StringPtrInput @@ -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`]. @@ -329,7 +412,7 @@ type instanceArgs struct { AvailabilityZone string `pulumi:"availabilityZone"` // 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. ChargeType *string `pulumi:"chargeType"` - // 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. + // 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. ForceDelete *bool `pulumi:"forceDelete"` // IP address of an instance. When the `operationNetwork` is `changeVip`, this parameter needs to be configured. Ip *string `pulumi:"ip"` @@ -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`]. @@ -387,7 +474,7 @@ type InstanceArgs struct { AvailabilityZone pulumi.StringInput // 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. ChargeType 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. + // 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. ForceDelete pulumi.BoolPtrInput // IP address of an instance. When the `operationNetwork` is `changeVip`, this parameter needs to be configured. Ip pulumi.StringPtrInput @@ -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,7 +635,12 @@ func (o InstanceOutput) CreateTime() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.CreateTime }).(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. +// 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. 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/reserve/init.go b/sdk/go/tencentcloud/reserve/init.go new file mode 100644 index 000000000..61731ee77 --- /dev/null +++ b/sdk/go/tencentcloud/reserve/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 reserve + +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:Reserve/ipAddress:IpAddress": + r = &IpAddress{} + 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", + "Reserve/ipAddress", + &module{version}, + ) +} diff --git a/sdk/go/tencentcloud/reserve/ipAddress.go b/sdk/go/tencentcloud/reserve/ipAddress.go new file mode 100644 index 000000000..9bbf1e13f --- /dev/null +++ b/sdk/go/tencentcloud/reserve/ipAddress.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 reserve + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" +) + +type IpAddress struct { + pulumi.CustomResourceState + + // Created time. + CreatedTime pulumi.StringOutput `pulumi:"createdTime"` + // The IP description is retained on the intranet. + Description pulumi.StringPtrOutput `pulumi:"description"` + // Specify the reserved IP address of the intranet for which the IP application is requested. + IpAddress pulumi.StringOutput `pulumi:"ipAddress"` + // Ip type for product application. + IpType pulumi.IntOutput `pulumi:"ipType"` + // The IP name is reserved for the intranet. + Name pulumi.StringOutput `pulumi:"name"` + // Reserve ip ID. + ReserveIpId pulumi.StringOutput `pulumi:"reserveIpId"` + // The intranet retains the resource instance ID bound to the IPs. + ResourceId pulumi.StringOutput `pulumi:"resourceId"` + // Binding status. + State pulumi.StringOutput `pulumi:"state"` + // Subnet ID. + SubnetId pulumi.StringPtrOutput `pulumi:"subnetId"` + // Tags. + Tags pulumi.MapOutput `pulumi:"tags"` + // VPC unique ID. + VpcId pulumi.StringOutput `pulumi:"vpcId"` +} + +// NewIpAddress registers a new resource with the given unique name, arguments, and options. +func NewIpAddress(ctx *pulumi.Context, + name string, args *IpAddressArgs, opts ...pulumi.ResourceOption) (*IpAddress, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.VpcId == nil { + return nil, errors.New("invalid value for required argument 'VpcId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IpAddress + err := ctx.RegisterResource("tencentcloud:Reserve/ipAddress:IpAddress", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIpAddress gets an existing IpAddress 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 GetIpAddress(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IpAddressState, opts ...pulumi.ResourceOption) (*IpAddress, error) { + var resource IpAddress + err := ctx.ReadResource("tencentcloud:Reserve/ipAddress:IpAddress", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IpAddress resources. +type ipAddressState struct { + // Created time. + CreatedTime *string `pulumi:"createdTime"` + // The IP description is retained on the intranet. + Description *string `pulumi:"description"` + // Specify the reserved IP address of the intranet for which the IP application is requested. + IpAddress *string `pulumi:"ipAddress"` + // Ip type for product application. + IpType *int `pulumi:"ipType"` + // The IP name is reserved for the intranet. + Name *string `pulumi:"name"` + // Reserve ip ID. + ReserveIpId *string `pulumi:"reserveIpId"` + // The intranet retains the resource instance ID bound to the IPs. + ResourceId *string `pulumi:"resourceId"` + // Binding status. + State *string `pulumi:"state"` + // Subnet ID. + SubnetId *string `pulumi:"subnetId"` + // Tags. + Tags map[string]interface{} `pulumi:"tags"` + // VPC unique ID. + VpcId *string `pulumi:"vpcId"` +} + +type IpAddressState struct { + // Created time. + CreatedTime pulumi.StringPtrInput + // The IP description is retained on the intranet. + Description pulumi.StringPtrInput + // Specify the reserved IP address of the intranet for which the IP application is requested. + IpAddress pulumi.StringPtrInput + // Ip type for product application. + IpType pulumi.IntPtrInput + // The IP name is reserved for the intranet. + Name pulumi.StringPtrInput + // Reserve ip ID. + ReserveIpId pulumi.StringPtrInput + // The intranet retains the resource instance ID bound to the IPs. + ResourceId pulumi.StringPtrInput + // Binding status. + State pulumi.StringPtrInput + // Subnet ID. + SubnetId pulumi.StringPtrInput + // Tags. + Tags pulumi.MapInput + // VPC unique ID. + VpcId pulumi.StringPtrInput +} + +func (IpAddressState) ElementType() reflect.Type { + return reflect.TypeOf((*ipAddressState)(nil)).Elem() +} + +type ipAddressArgs struct { + // The IP description is retained on the intranet. + Description *string `pulumi:"description"` + // Specify the reserved IP address of the intranet for which the IP application is requested. + IpAddress *string `pulumi:"ipAddress"` + // The IP name is reserved for the intranet. + Name *string `pulumi:"name"` + // Subnet ID. + SubnetId *string `pulumi:"subnetId"` + // Tags. + Tags map[string]interface{} `pulumi:"tags"` + // VPC unique ID. + VpcId string `pulumi:"vpcId"` +} + +// The set of arguments for constructing a IpAddress resource. +type IpAddressArgs struct { + // The IP description is retained on the intranet. + Description pulumi.StringPtrInput + // Specify the reserved IP address of the intranet for which the IP application is requested. + IpAddress pulumi.StringPtrInput + // The IP name is reserved for the intranet. + Name pulumi.StringPtrInput + // Subnet ID. + SubnetId pulumi.StringPtrInput + // Tags. + Tags pulumi.MapInput + // VPC unique ID. + VpcId pulumi.StringInput +} + +func (IpAddressArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ipAddressArgs)(nil)).Elem() +} + +type IpAddressInput interface { + pulumi.Input + + ToIpAddressOutput() IpAddressOutput + ToIpAddressOutputWithContext(ctx context.Context) IpAddressOutput +} + +func (*IpAddress) ElementType() reflect.Type { + return reflect.TypeOf((**IpAddress)(nil)).Elem() +} + +func (i *IpAddress) ToIpAddressOutput() IpAddressOutput { + return i.ToIpAddressOutputWithContext(context.Background()) +} + +func (i *IpAddress) ToIpAddressOutputWithContext(ctx context.Context) IpAddressOutput { + return pulumi.ToOutputWithContext(ctx, i).(IpAddressOutput) +} + +// IpAddressArrayInput is an input type that accepts IpAddressArray and IpAddressArrayOutput values. +// You can construct a concrete instance of `IpAddressArrayInput` via: +// +// IpAddressArray{ IpAddressArgs{...} } +type IpAddressArrayInput interface { + pulumi.Input + + ToIpAddressArrayOutput() IpAddressArrayOutput + ToIpAddressArrayOutputWithContext(context.Context) IpAddressArrayOutput +} + +type IpAddressArray []IpAddressInput + +func (IpAddressArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*IpAddress)(nil)).Elem() +} + +func (i IpAddressArray) ToIpAddressArrayOutput() IpAddressArrayOutput { + return i.ToIpAddressArrayOutputWithContext(context.Background()) +} + +func (i IpAddressArray) ToIpAddressArrayOutputWithContext(ctx context.Context) IpAddressArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IpAddressArrayOutput) +} + +// IpAddressMapInput is an input type that accepts IpAddressMap and IpAddressMapOutput values. +// You can construct a concrete instance of `IpAddressMapInput` via: +// +// IpAddressMap{ "key": IpAddressArgs{...} } +type IpAddressMapInput interface { + pulumi.Input + + ToIpAddressMapOutput() IpAddressMapOutput + ToIpAddressMapOutputWithContext(context.Context) IpAddressMapOutput +} + +type IpAddressMap map[string]IpAddressInput + +func (IpAddressMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*IpAddress)(nil)).Elem() +} + +func (i IpAddressMap) ToIpAddressMapOutput() IpAddressMapOutput { + return i.ToIpAddressMapOutputWithContext(context.Background()) +} + +func (i IpAddressMap) ToIpAddressMapOutputWithContext(ctx context.Context) IpAddressMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(IpAddressMapOutput) +} + +type IpAddressOutput struct{ *pulumi.OutputState } + +func (IpAddressOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IpAddress)(nil)).Elem() +} + +func (o IpAddressOutput) ToIpAddressOutput() IpAddressOutput { + return o +} + +func (o IpAddressOutput) ToIpAddressOutputWithContext(ctx context.Context) IpAddressOutput { + return o +} + +// Created time. +func (o IpAddressOutput) CreatedTime() pulumi.StringOutput { + return o.ApplyT(func(v *IpAddress) pulumi.StringOutput { return v.CreatedTime }).(pulumi.StringOutput) +} + +// The IP description is retained on the intranet. +func (o IpAddressOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IpAddress) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Specify the reserved IP address of the intranet for which the IP application is requested. +func (o IpAddressOutput) IpAddress() pulumi.StringOutput { + return o.ApplyT(func(v *IpAddress) pulumi.StringOutput { return v.IpAddress }).(pulumi.StringOutput) +} + +// Ip type for product application. +func (o IpAddressOutput) IpType() pulumi.IntOutput { + return o.ApplyT(func(v *IpAddress) pulumi.IntOutput { return v.IpType }).(pulumi.IntOutput) +} + +// The IP name is reserved for the intranet. +func (o IpAddressOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *IpAddress) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Reserve ip ID. +func (o IpAddressOutput) ReserveIpId() pulumi.StringOutput { + return o.ApplyT(func(v *IpAddress) pulumi.StringOutput { return v.ReserveIpId }).(pulumi.StringOutput) +} + +// The intranet retains the resource instance ID bound to the IPs. +func (o IpAddressOutput) ResourceId() pulumi.StringOutput { + return o.ApplyT(func(v *IpAddress) pulumi.StringOutput { return v.ResourceId }).(pulumi.StringOutput) +} + +// Binding status. +func (o IpAddressOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v *IpAddress) pulumi.StringOutput { return v.State }).(pulumi.StringOutput) +} + +// Subnet ID. +func (o IpAddressOutput) SubnetId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IpAddress) pulumi.StringPtrOutput { return v.SubnetId }).(pulumi.StringPtrOutput) +} + +// Tags. +func (o IpAddressOutput) Tags() pulumi.MapOutput { + return o.ApplyT(func(v *IpAddress) pulumi.MapOutput { return v.Tags }).(pulumi.MapOutput) +} + +// VPC unique ID. +func (o IpAddressOutput) VpcId() pulumi.StringOutput { + return o.ApplyT(func(v *IpAddress) pulumi.StringOutput { return v.VpcId }).(pulumi.StringOutput) +} + +type IpAddressArrayOutput struct{ *pulumi.OutputState } + +func (IpAddressArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*IpAddress)(nil)).Elem() +} + +func (o IpAddressArrayOutput) ToIpAddressArrayOutput() IpAddressArrayOutput { + return o +} + +func (o IpAddressArrayOutput) ToIpAddressArrayOutputWithContext(ctx context.Context) IpAddressArrayOutput { + return o +} + +func (o IpAddressArrayOutput) Index(i pulumi.IntInput) IpAddressOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *IpAddress { + return vs[0].([]*IpAddress)[vs[1].(int)] + }).(IpAddressOutput) +} + +type IpAddressMapOutput struct{ *pulumi.OutputState } + +func (IpAddressMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*IpAddress)(nil)).Elem() +} + +func (o IpAddressMapOutput) ToIpAddressMapOutput() IpAddressMapOutput { + return o +} + +func (o IpAddressMapOutput) ToIpAddressMapOutputWithContext(ctx context.Context) IpAddressMapOutput { + return o +} + +func (o IpAddressMapOutput) MapIndex(k pulumi.StringInput) IpAddressOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *IpAddress { + return vs[0].(map[string]*IpAddress)[vs[1].(string)] + }).(IpAddressOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IpAddressInput)(nil)).Elem(), &IpAddress{}) + pulumi.RegisterInputType(reflect.TypeOf((*IpAddressArrayInput)(nil)).Elem(), IpAddressArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IpAddressMapInput)(nil)).Elem(), IpAddressMap{}) + pulumi.RegisterOutputType(IpAddressOutput{}) + pulumi.RegisterOutputType(IpAddressArrayOutput{}) + pulumi.RegisterOutputType(IpAddressMapOutput{}) +} 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/scf/function.go b/sdk/go/tencentcloud/scf/function.go index 884251c3a..6b82afbdb 100644 --- a/sdk/go/tencentcloud/scf/function.go +++ b/sdk/go/tencentcloud/scf/function.go @@ -132,6 +132,8 @@ import ( // // import ( // +// "encoding/json" +// // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Scf" // @@ -139,24 +141,40 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Scf.NewFunction(ctx, "foo", &Scf.FunctionArgs{ -// EnablePublicNet: pulumi.Bool(true), +// tmpJSON0, err := json.Marshal(map[string]interface{}{ +// "AuthType": "NONE", +// "NetConfig": map[string]interface{}{ +// "EnableIntranet": true, +// "EnableExtranet": false, +// }, +// }) +// if err != nil { +// return err +// } +// json0 := string(tmpJSON0) +// _, err = Scf.NewFunction(ctx, "foo", &Scf.FunctionArgs{ // Handler: pulumi.String("first.do_it_first"), // Runtime: pulumi.String("Python3.6"), +// EnablePublicNet: pulumi.Bool(true), +// ZipFile: pulumi.String("/scf/first.zip"), // Triggers: scf.FunctionTriggerArray{ // &scf.FunctionTriggerArgs{ // Name: pulumi.String("tf-test-fn-trigger"), -// TriggerDesc: pulumi.String("*/5 * * * * * *"), // Type: pulumi.String("timer"), +// TriggerDesc: pulumi.String("*/5 * * * * * *"), // }, // &scf.FunctionTriggerArgs{ -// CosRegion: pulumi.String("ap-guangzhou"), // Name: pulumi.String("scf-bucket-1308919341.cos.ap-guangzhou.myqcloud.com"), -// TriggerDesc: pulumi.String("{\"event\":\"cos:ObjectCreated:Put\",\"filter\":{\"Prefix\":\"\",\"Suffix\":\"\"}}"), +// CosRegion: pulumi.String("ap-guangzhou"), // Type: pulumi.String("cos"), +// TriggerDesc: pulumi.String("{\"event\":\"cos:ObjectCreated:Put\",\"filter\":{\"Prefix\":\"\",\"Suffix\":\"\"}}"), +// }, +// &scf.FunctionTriggerArgs{ +// Name: pulumi.String("tf-test-fn-trigger"), +// Type: pulumi.String("http"), +// TriggerDesc: pulumi.String(json0), // }, // }, -// ZipFile: pulumi.String("/scf/first.zip"), // }) // if err != nil { // return err diff --git a/sdk/go/tencentcloud/scf/pulumiTypes.go b/sdk/go/tencentcloud/scf/pulumiTypes.go index fd44b65d3..7eb5c1b95 100644 --- a/sdk/go/tencentcloud/scf/pulumiTypes.go +++ b/sdk/go/tencentcloud/scf/pulumiTypes.go @@ -1256,7 +1256,7 @@ type FunctionTrigger struct { Name string `pulumi:"name"` // TriggerDesc of the SCF function trigger, parameter format of `timer` is linux cron expression; parameter of `cos` type is json string `{"bucketUrl":".cos..myqcloud.com","event":"cos:ObjectCreated:*","filter":{"Prefix":"","Suffix":""}}`, where `bucketUrl` is cos bucket (optional), `event` is the cos event trigger, `Prefix` is the corresponding file prefix filter condition, `Suffix` is the suffix filter condition, if not need filter condition can not pass; `cmq` type does not pass this parameter; `ckafka` type parameter format is json string `{"maxMsgNum":"1","offset":"latest"}`; `apigw` type parameter format is json string `{"api":{"authRequired":"FALSE","requestConfig":{"method":"ANY"},"isIntegratedResponse":"FALSE"},"service":{"serviceId":"service-dqzh68sg"},"release":{"environmentName":"test"}}`. TriggerDesc string `pulumi:"triggerDesc"` - // Type of the SCF function trigger, support `cos`, `cmq`, `timer`, `ckafka`, `apigw`. + // Type of the SCF function trigger, support `cos`, `cls`, `timer`, `ckafka`, `http`, `apigw`, `cmq`. Type string `pulumi:"type"` } @@ -1278,7 +1278,7 @@ type FunctionTriggerArgs struct { Name pulumi.StringInput `pulumi:"name"` // TriggerDesc of the SCF function trigger, parameter format of `timer` is linux cron expression; parameter of `cos` type is json string `{"bucketUrl":".cos..myqcloud.com","event":"cos:ObjectCreated:*","filter":{"Prefix":"","Suffix":""}}`, where `bucketUrl` is cos bucket (optional), `event` is the cos event trigger, `Prefix` is the corresponding file prefix filter condition, `Suffix` is the suffix filter condition, if not need filter condition can not pass; `cmq` type does not pass this parameter; `ckafka` type parameter format is json string `{"maxMsgNum":"1","offset":"latest"}`; `apigw` type parameter format is json string `{"api":{"authRequired":"FALSE","requestConfig":{"method":"ANY"},"isIntegratedResponse":"FALSE"},"service":{"serviceId":"service-dqzh68sg"},"release":{"environmentName":"test"}}`. TriggerDesc pulumi.StringInput `pulumi:"triggerDesc"` - // Type of the SCF function trigger, support `cos`, `cmq`, `timer`, `ckafka`, `apigw`. + // Type of the SCF function trigger, support `cos`, `cls`, `timer`, `ckafka`, `http`, `apigw`, `cmq`. Type pulumi.StringInput `pulumi:"type"` } @@ -1348,7 +1348,7 @@ func (o FunctionTriggerOutput) TriggerDesc() pulumi.StringOutput { return o.ApplyT(func(v FunctionTrigger) string { return v.TriggerDesc }).(pulumi.StringOutput) } -// Type of the SCF function trigger, support `cos`, `cmq`, `timer`, `ckafka`, `apigw`. +// Type of the SCF function trigger, support `cos`, `cls`, `timer`, `ckafka`, `http`, `apigw`, `cmq`. func (o FunctionTriggerOutput) Type() pulumi.StringOutput { return o.ApplyT(func(v FunctionTrigger) string { return v.Type }).(pulumi.StringOutput) } @@ -1386,7 +1386,7 @@ type FunctionTriggerInfo struct { Name *string `pulumi:"name"` // TriggerDesc of the SCF function trigger, parameter format of `timer` is linux cron expression; parameter of `cos` type is json string `{"bucketUrl":".cos..myqcloud.com","event":"cos:ObjectCreated:*","filter":{"Prefix":"","Suffix":""}}`, where `bucketUrl` is cos bucket (optional), `event` is the cos event trigger, `Prefix` is the corresponding file prefix filter condition, `Suffix` is the suffix filter condition, if not need filter condition can not pass; `cmq` type does not pass this parameter; `ckafka` type parameter format is json string `{"maxMsgNum":"1","offset":"latest"}`; `apigw` type parameter format is json string `{"api":{"authRequired":"FALSE","requestConfig":{"method":"ANY"},"isIntegratedResponse":"FALSE"},"service":{"serviceId":"service-dqzh68sg"},"release":{"environmentName":"test"}}`. TriggerDesc *string `pulumi:"triggerDesc"` - // Type of the SCF function trigger, support `cos`, `cmq`, `timer`, `ckafka`, `apigw`. + // Type of the SCF function trigger, support `cos`, `cls`, `timer`, `ckafka`, `http`, `apigw`, `cmq`. Type *string `pulumi:"type"` } @@ -1414,7 +1414,7 @@ type FunctionTriggerInfoArgs struct { Name pulumi.StringPtrInput `pulumi:"name"` // TriggerDesc of the SCF function trigger, parameter format of `timer` is linux cron expression; parameter of `cos` type is json string `{"bucketUrl":".cos..myqcloud.com","event":"cos:ObjectCreated:*","filter":{"Prefix":"","Suffix":""}}`, where `bucketUrl` is cos bucket (optional), `event` is the cos event trigger, `Prefix` is the corresponding file prefix filter condition, `Suffix` is the suffix filter condition, if not need filter condition can not pass; `cmq` type does not pass this parameter; `ckafka` type parameter format is json string `{"maxMsgNum":"1","offset":"latest"}`; `apigw` type parameter format is json string `{"api":{"authRequired":"FALSE","requestConfig":{"method":"ANY"},"isIntegratedResponse":"FALSE"},"service":{"serviceId":"service-dqzh68sg"},"release":{"environmentName":"test"}}`. TriggerDesc pulumi.StringPtrInput `pulumi:"triggerDesc"` - // Type of the SCF function trigger, support `cos`, `cmq`, `timer`, `ckafka`, `apigw`. + // Type of the SCF function trigger, support `cos`, `cls`, `timer`, `ckafka`, `http`, `apigw`, `cmq`. Type pulumi.StringPtrInput `pulumi:"type"` } @@ -1499,7 +1499,7 @@ func (o FunctionTriggerInfoOutput) TriggerDesc() pulumi.StringPtrOutput { return o.ApplyT(func(v FunctionTriggerInfo) *string { return v.TriggerDesc }).(pulumi.StringPtrOutput) } -// Type of the SCF function trigger, support `cos`, `cmq`, `timer`, `ckafka`, `apigw`. +// Type of the SCF function trigger, support `cos`, `cls`, `timer`, `ckafka`, `http`, `apigw`, `cmq`. func (o FunctionTriggerInfoOutput) Type() pulumi.StringPtrOutput { return o.ApplyT(func(v FunctionTriggerInfo) *string { return v.Type }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/tencentcloud/security/pulumiTypes.go b/sdk/go/tencentcloud/security/pulumiTypes.go index ba5666a89..5c07ff6a6 100644 --- a/sdk/go/tencentcloud/security/pulumiTypes.go +++ b/sdk/go/tencentcloud/security/pulumiTypes.go @@ -16,27 +16,27 @@ var _ = internal.GetEnvOrDefault type GroupRuleSetEgress struct { // Rule policy of security group. Valid values: `ACCEPT` and `DROP`. Action string `pulumi:"action"` - // Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. + // Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. AddressTemplateGroup *string `pulumi:"addressTemplateGroup"` - // Specify Address template ID like `ipm-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. + // Specify Address template ID like `ipm-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. AddressTemplateId *string `pulumi:"addressTemplateId"` - // An IP address network or CIDR segment. NOTE: `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` are exclusive and cannot be set in the same time. + // An IP address network or CIDR segment. NOTE: `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` are exclusive and cannot be set in the same time; One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. CidrBlock *string `pulumi:"cidrBlock"` // Description of the security group rule. Description *string `pulumi:"description"` - // An IPV6 address network or CIDR segment, and conflict with `sourceSecurityId` and `address_template_*`. + // An IPV6 address network or CIDR segment, and conflict with `sourceSecurityId` and `address_template_*`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. Ipv6CidrBlock *string `pulumi:"ipv6CidrBlock"` // The security group rule index number, whose value dynamically changes with changes in security group rules. PolicyIndex *int `pulumi:"policyIndex"` // Range of the port. The available value can be one, multiple or one segment. E.g. `80`, `80,90` and `80-90`. Default to all ports, and conflicts with `service_template_*`. Port *string `pulumi:"port"` - // Type of IP protocol. Valid values: `TCP`, `UDP` and `ICMP`. Default to all types protocol, and conflicts with `service_template_*`. + // Type of IP protocol. Valid values: `TCP`, `UDP`, `ICMP`, `ICMPv6` and `ALL`. Default to all types protocol, and conflicts with `service_template_*`. Protocol *string `pulumi:"protocol"` // Specify Group ID of Protocol template ID like `ppmg-xxxxxxxx`, conflict with `cidrBlock` and `port`. ServiceTemplateGroup *string `pulumi:"serviceTemplateGroup"` // Specify Protocol template ID like `ppm-xxxxxxxx`, conflict with `cidrBlock` and `port`. ServiceTemplateId *string `pulumi:"serviceTemplateId"` - // ID of the nested security group, and conflicts with `cidrBlock` and `address_template_*`. + // ID of the nested security group, and conflicts with `cidrBlock` and `address_template_*`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. SourceSecurityId *string `pulumi:"sourceSecurityId"` } @@ -54,27 +54,27 @@ type GroupRuleSetEgressInput interface { type GroupRuleSetEgressArgs struct { // Rule policy of security group. Valid values: `ACCEPT` and `DROP`. Action pulumi.StringInput `pulumi:"action"` - // Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. + // Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. AddressTemplateGroup pulumi.StringPtrInput `pulumi:"addressTemplateGroup"` - // Specify Address template ID like `ipm-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. + // Specify Address template ID like `ipm-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. AddressTemplateId pulumi.StringPtrInput `pulumi:"addressTemplateId"` - // An IP address network or CIDR segment. NOTE: `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` are exclusive and cannot be set in the same time. + // An IP address network or CIDR segment. NOTE: `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` are exclusive and cannot be set in the same time; One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. CidrBlock pulumi.StringPtrInput `pulumi:"cidrBlock"` // Description of the security group rule. Description pulumi.StringPtrInput `pulumi:"description"` - // An IPV6 address network or CIDR segment, and conflict with `sourceSecurityId` and `address_template_*`. + // An IPV6 address network or CIDR segment, and conflict with `sourceSecurityId` and `address_template_*`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. Ipv6CidrBlock pulumi.StringPtrInput `pulumi:"ipv6CidrBlock"` // The security group rule index number, whose value dynamically changes with changes in security group rules. PolicyIndex pulumi.IntPtrInput `pulumi:"policyIndex"` // Range of the port. The available value can be one, multiple or one segment. E.g. `80`, `80,90` and `80-90`. Default to all ports, and conflicts with `service_template_*`. Port pulumi.StringPtrInput `pulumi:"port"` - // Type of IP protocol. Valid values: `TCP`, `UDP` and `ICMP`. Default to all types protocol, and conflicts with `service_template_*`. + // Type of IP protocol. Valid values: `TCP`, `UDP`, `ICMP`, `ICMPv6` and `ALL`. Default to all types protocol, and conflicts with `service_template_*`. Protocol pulumi.StringPtrInput `pulumi:"protocol"` // Specify Group ID of Protocol template ID like `ppmg-xxxxxxxx`, conflict with `cidrBlock` and `port`. ServiceTemplateGroup pulumi.StringPtrInput `pulumi:"serviceTemplateGroup"` // Specify Protocol template ID like `ppm-xxxxxxxx`, conflict with `cidrBlock` and `port`. ServiceTemplateId pulumi.StringPtrInput `pulumi:"serviceTemplateId"` - // ID of the nested security group, and conflicts with `cidrBlock` and `address_template_*`. + // ID of the nested security group, and conflicts with `cidrBlock` and `address_template_*`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. SourceSecurityId pulumi.StringPtrInput `pulumi:"sourceSecurityId"` } @@ -134,17 +134,17 @@ func (o GroupRuleSetEgressOutput) Action() pulumi.StringOutput { return o.ApplyT(func(v GroupRuleSetEgress) string { return v.Action }).(pulumi.StringOutput) } -// Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. +// Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. func (o GroupRuleSetEgressOutput) AddressTemplateGroup() pulumi.StringPtrOutput { return o.ApplyT(func(v GroupRuleSetEgress) *string { return v.AddressTemplateGroup }).(pulumi.StringPtrOutput) } -// Specify Address template ID like `ipm-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. +// Specify Address template ID like `ipm-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. func (o GroupRuleSetEgressOutput) AddressTemplateId() pulumi.StringPtrOutput { return o.ApplyT(func(v GroupRuleSetEgress) *string { return v.AddressTemplateId }).(pulumi.StringPtrOutput) } -// An IP address network or CIDR segment. NOTE: `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` are exclusive and cannot be set in the same time. +// An IP address network or CIDR segment. NOTE: `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` are exclusive and cannot be set in the same time; One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. func (o GroupRuleSetEgressOutput) CidrBlock() pulumi.StringPtrOutput { return o.ApplyT(func(v GroupRuleSetEgress) *string { return v.CidrBlock }).(pulumi.StringPtrOutput) } @@ -154,7 +154,7 @@ func (o GroupRuleSetEgressOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v GroupRuleSetEgress) *string { return v.Description }).(pulumi.StringPtrOutput) } -// An IPV6 address network or CIDR segment, and conflict with `sourceSecurityId` and `address_template_*`. +// An IPV6 address network or CIDR segment, and conflict with `sourceSecurityId` and `address_template_*`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. func (o GroupRuleSetEgressOutput) Ipv6CidrBlock() pulumi.StringPtrOutput { return o.ApplyT(func(v GroupRuleSetEgress) *string { return v.Ipv6CidrBlock }).(pulumi.StringPtrOutput) } @@ -169,7 +169,7 @@ func (o GroupRuleSetEgressOutput) Port() pulumi.StringPtrOutput { return o.ApplyT(func(v GroupRuleSetEgress) *string { return v.Port }).(pulumi.StringPtrOutput) } -// Type of IP protocol. Valid values: `TCP`, `UDP` and `ICMP`. Default to all types protocol, and conflicts with `service_template_*`. +// Type of IP protocol. Valid values: `TCP`, `UDP`, `ICMP`, `ICMPv6` and `ALL`. Default to all types protocol, and conflicts with `service_template_*`. func (o GroupRuleSetEgressOutput) Protocol() pulumi.StringPtrOutput { return o.ApplyT(func(v GroupRuleSetEgress) *string { return v.Protocol }).(pulumi.StringPtrOutput) } @@ -184,7 +184,7 @@ func (o GroupRuleSetEgressOutput) ServiceTemplateId() pulumi.StringPtrOutput { return o.ApplyT(func(v GroupRuleSetEgress) *string { return v.ServiceTemplateId }).(pulumi.StringPtrOutput) } -// ID of the nested security group, and conflicts with `cidrBlock` and `address_template_*`. +// ID of the nested security group, and conflicts with `cidrBlock` and `address_template_*`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. func (o GroupRuleSetEgressOutput) SourceSecurityId() pulumi.StringPtrOutput { return o.ApplyT(func(v GroupRuleSetEgress) *string { return v.SourceSecurityId }).(pulumi.StringPtrOutput) } @@ -212,27 +212,27 @@ func (o GroupRuleSetEgressArrayOutput) Index(i pulumi.IntInput) GroupRuleSetEgre type GroupRuleSetIngress struct { // Rule policy of security group. Valid values: `ACCEPT` and `DROP`. Action string `pulumi:"action"` - // Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. + // Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. AddressTemplateGroup *string `pulumi:"addressTemplateGroup"` - // Specify Address template ID like `ipm-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. + // Specify Address template ID like `ipm-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. AddressTemplateId *string `pulumi:"addressTemplateId"` - // An IP address network or CIDR segment. NOTE: `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` are exclusive and cannot be set in the same time. + // An IP address network or CIDR segment. NOTE: `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` are exclusive and cannot be set in the same time; One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. CidrBlock *string `pulumi:"cidrBlock"` // Description of the security group rule. Description *string `pulumi:"description"` - // An IPV6 address network or CIDR segment, and conflict with `sourceSecurityId` and `address_template_*`. + // An IPV6 address network or CIDR segment, and conflict with `sourceSecurityId` and `address_template_*`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. Ipv6CidrBlock *string `pulumi:"ipv6CidrBlock"` // The security group rule index number, whose value dynamically changes with changes in security group rules. PolicyIndex *int `pulumi:"policyIndex"` // Range of the port. The available value can be one, multiple or one segment. E.g. `80`, `80,90` and `80-90`. Default to all ports, and conflicts with `service_template_*`. Port *string `pulumi:"port"` - // Type of IP protocol. Valid values: `TCP`, `UDP` and `ICMP`. Default to all types protocol, and conflicts with `service_template_*`. + // Type of IP protocol. Valid values: `TCP`, `UDP`, `ICMP`, `ICMPv6` and `ALL`. Default to all types protocol, and conflicts with `service_template_*`. Protocol *string `pulumi:"protocol"` // Specify Group ID of Protocol template ID like `ppmg-xxxxxxxx`, conflict with `cidrBlock` and `port`. ServiceTemplateGroup *string `pulumi:"serviceTemplateGroup"` // Specify Protocol template ID like `ppm-xxxxxxxx`, conflict with `cidrBlock` and `port`. ServiceTemplateId *string `pulumi:"serviceTemplateId"` - // ID of the nested security group, and conflicts with `cidrBlock` and `address_template_*`. + // ID of the nested security group, and conflicts with `cidrBlock` and `address_template_*`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. SourceSecurityId *string `pulumi:"sourceSecurityId"` } @@ -250,27 +250,27 @@ type GroupRuleSetIngressInput interface { type GroupRuleSetIngressArgs struct { // Rule policy of security group. Valid values: `ACCEPT` and `DROP`. Action pulumi.StringInput `pulumi:"action"` - // Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. + // Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. AddressTemplateGroup pulumi.StringPtrInput `pulumi:"addressTemplateGroup"` - // Specify Address template ID like `ipm-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. + // Specify Address template ID like `ipm-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. AddressTemplateId pulumi.StringPtrInput `pulumi:"addressTemplateId"` - // An IP address network or CIDR segment. NOTE: `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` are exclusive and cannot be set in the same time. + // An IP address network or CIDR segment. NOTE: `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` are exclusive and cannot be set in the same time; One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. CidrBlock pulumi.StringPtrInput `pulumi:"cidrBlock"` // Description of the security group rule. Description pulumi.StringPtrInput `pulumi:"description"` - // An IPV6 address network or CIDR segment, and conflict with `sourceSecurityId` and `address_template_*`. + // An IPV6 address network or CIDR segment, and conflict with `sourceSecurityId` and `address_template_*`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. Ipv6CidrBlock pulumi.StringPtrInput `pulumi:"ipv6CidrBlock"` // The security group rule index number, whose value dynamically changes with changes in security group rules. PolicyIndex pulumi.IntPtrInput `pulumi:"policyIndex"` // Range of the port. The available value can be one, multiple or one segment. E.g. `80`, `80,90` and `80-90`. Default to all ports, and conflicts with `service_template_*`. Port pulumi.StringPtrInput `pulumi:"port"` - // Type of IP protocol. Valid values: `TCP`, `UDP` and `ICMP`. Default to all types protocol, and conflicts with `service_template_*`. + // Type of IP protocol. Valid values: `TCP`, `UDP`, `ICMP`, `ICMPv6` and `ALL`. Default to all types protocol, and conflicts with `service_template_*`. Protocol pulumi.StringPtrInput `pulumi:"protocol"` // Specify Group ID of Protocol template ID like `ppmg-xxxxxxxx`, conflict with `cidrBlock` and `port`. ServiceTemplateGroup pulumi.StringPtrInput `pulumi:"serviceTemplateGroup"` // Specify Protocol template ID like `ppm-xxxxxxxx`, conflict with `cidrBlock` and `port`. ServiceTemplateId pulumi.StringPtrInput `pulumi:"serviceTemplateId"` - // ID of the nested security group, and conflicts with `cidrBlock` and `address_template_*`. + // ID of the nested security group, and conflicts with `cidrBlock` and `address_template_*`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. SourceSecurityId pulumi.StringPtrInput `pulumi:"sourceSecurityId"` } @@ -330,17 +330,17 @@ func (o GroupRuleSetIngressOutput) Action() pulumi.StringOutput { return o.ApplyT(func(v GroupRuleSetIngress) string { return v.Action }).(pulumi.StringOutput) } -// Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. +// Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. func (o GroupRuleSetIngressOutput) AddressTemplateGroup() pulumi.StringPtrOutput { return o.ApplyT(func(v GroupRuleSetIngress) *string { return v.AddressTemplateGroup }).(pulumi.StringPtrOutput) } -// Specify Address template ID like `ipm-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. +// Specify Address template ID like `ipm-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. func (o GroupRuleSetIngressOutput) AddressTemplateId() pulumi.StringPtrOutput { return o.ApplyT(func(v GroupRuleSetIngress) *string { return v.AddressTemplateId }).(pulumi.StringPtrOutput) } -// An IP address network or CIDR segment. NOTE: `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` are exclusive and cannot be set in the same time. +// An IP address network or CIDR segment. NOTE: `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` are exclusive and cannot be set in the same time; One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. func (o GroupRuleSetIngressOutput) CidrBlock() pulumi.StringPtrOutput { return o.ApplyT(func(v GroupRuleSetIngress) *string { return v.CidrBlock }).(pulumi.StringPtrOutput) } @@ -350,7 +350,7 @@ func (o GroupRuleSetIngressOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v GroupRuleSetIngress) *string { return v.Description }).(pulumi.StringPtrOutput) } -// An IPV6 address network or CIDR segment, and conflict with `sourceSecurityId` and `address_template_*`. +// An IPV6 address network or CIDR segment, and conflict with `sourceSecurityId` and `address_template_*`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. func (o GroupRuleSetIngressOutput) Ipv6CidrBlock() pulumi.StringPtrOutput { return o.ApplyT(func(v GroupRuleSetIngress) *string { return v.Ipv6CidrBlock }).(pulumi.StringPtrOutput) } @@ -365,7 +365,7 @@ func (o GroupRuleSetIngressOutput) Port() pulumi.StringPtrOutput { return o.ApplyT(func(v GroupRuleSetIngress) *string { return v.Port }).(pulumi.StringPtrOutput) } -// Type of IP protocol. Valid values: `TCP`, `UDP` and `ICMP`. Default to all types protocol, and conflicts with `service_template_*`. +// Type of IP protocol. Valid values: `TCP`, `UDP`, `ICMP`, `ICMPv6` and `ALL`. Default to all types protocol, and conflicts with `service_template_*`. func (o GroupRuleSetIngressOutput) Protocol() pulumi.StringPtrOutput { return o.ApplyT(func(v GroupRuleSetIngress) *string { return v.Protocol }).(pulumi.StringPtrOutput) } @@ -380,7 +380,7 @@ func (o GroupRuleSetIngressOutput) ServiceTemplateId() pulumi.StringPtrOutput { return o.ApplyT(func(v GroupRuleSetIngress) *string { return v.ServiceTemplateId }).(pulumi.StringPtrOutput) } -// ID of the nested security group, and conflicts with `cidrBlock` and `address_template_*`. +// ID of the nested security group, and conflicts with `cidrBlock` and `address_template_*`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. func (o GroupRuleSetIngressOutput) SourceSecurityId() pulumi.StringPtrOutput { return o.ApplyT(func(v GroupRuleSetIngress) *string { return v.SourceSecurityId }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/tencentcloud/ses/emailAddress.go b/sdk/go/tencentcloud/ses/emailAddress.go index feb965356..1b08d954e 100644 --- a/sdk/go/tencentcloud/ses/emailAddress.go +++ b/sdk/go/tencentcloud/ses/emailAddress.go @@ -12,10 +12,12 @@ import ( "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" ) -// Provides a resource to create a ses emailAddress +// Provides a resource to create a ses email address // // ## Example Usage // +// ### Create ses email address +// // // ```go // package main @@ -29,9 +31,39 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Ses.NewEmailAddress(ctx, "emailAddress", &Ses.EmailAddressArgs{ -// EmailAddress: pulumi.String("aaa@iac-tf.cloud"), -// EmailSenderName: pulumi.String("aaa"), +// _, err := Ses.NewEmailAddress(ctx, "example", &Ses.EmailAddressArgs{ +// EmailAddress: pulumi.String("demo@iac-terraform.cloud"), +// EmailSenderName: pulumi.String("root"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ### Set smtp password +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Ses" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Ses.NewEmailAddress(ctx, "example", &Ses.EmailAddressArgs{ +// EmailAddress: pulumi.String("demo@iac-terraform.cloud"), +// EmailSenderName: pulumi.String("root"), +// SmtpPassword: pulumi.String("Password@123"), // }) // if err != nil { // return err @@ -48,15 +80,17 @@ import ( // ses email_address can be imported using the id, e.g. // // ```sh -// $ pulumi import tencentcloud:Ses/emailAddress:EmailAddress email_address aaa@iac-tf.cloud +// $ pulumi import tencentcloud:Ses/emailAddress:EmailAddress example demo@iac-terraform.cloud // ``` type EmailAddress struct { pulumi.CustomResourceState - // Your sender address. (You can create up to 10 sender addresses for each domain.). + // Your sender address(You can create up to 10 sender addresses for each domain). EmailAddress pulumi.StringOutput `pulumi:"emailAddress"` // Sender name. EmailSenderName pulumi.StringPtrOutput `pulumi:"emailSenderName"` + // Password for SMTP, Length limit 64. + SmtpPassword pulumi.StringPtrOutput `pulumi:"smtpPassword"` } // NewEmailAddress registers a new resource with the given unique name, arguments, and options. @@ -69,6 +103,13 @@ func NewEmailAddress(ctx *pulumi.Context, if args.EmailAddress == nil { return nil, errors.New("invalid value for required argument 'EmailAddress'") } + if args.SmtpPassword != nil { + args.SmtpPassword = pulumi.ToSecret(args.SmtpPassword).(pulumi.StringPtrInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "smtpPassword", + }) + opts = append(opts, secrets) opts = internal.PkgResourceDefaultOpts(opts) var resource EmailAddress err := ctx.RegisterResource("tencentcloud:Ses/emailAddress:EmailAddress", name, args, &resource, opts...) @@ -92,17 +133,21 @@ func GetEmailAddress(ctx *pulumi.Context, // Input properties used for looking up and filtering EmailAddress resources. type emailAddressState struct { - // Your sender address. (You can create up to 10 sender addresses for each domain.). + // Your sender address(You can create up to 10 sender addresses for each domain). EmailAddress *string `pulumi:"emailAddress"` // Sender name. EmailSenderName *string `pulumi:"emailSenderName"` + // Password for SMTP, Length limit 64. + SmtpPassword *string `pulumi:"smtpPassword"` } type EmailAddressState struct { - // Your sender address. (You can create up to 10 sender addresses for each domain.). + // Your sender address(You can create up to 10 sender addresses for each domain). EmailAddress pulumi.StringPtrInput // Sender name. EmailSenderName pulumi.StringPtrInput + // Password for SMTP, Length limit 64. + SmtpPassword pulumi.StringPtrInput } func (EmailAddressState) ElementType() reflect.Type { @@ -110,18 +155,22 @@ func (EmailAddressState) ElementType() reflect.Type { } type emailAddressArgs struct { - // Your sender address. (You can create up to 10 sender addresses for each domain.). + // Your sender address(You can create up to 10 sender addresses for each domain). EmailAddress string `pulumi:"emailAddress"` // Sender name. EmailSenderName *string `pulumi:"emailSenderName"` + // Password for SMTP, Length limit 64. + SmtpPassword *string `pulumi:"smtpPassword"` } // The set of arguments for constructing a EmailAddress resource. type EmailAddressArgs struct { - // Your sender address. (You can create up to 10 sender addresses for each domain.). + // Your sender address(You can create up to 10 sender addresses for each domain). EmailAddress pulumi.StringInput // Sender name. EmailSenderName pulumi.StringPtrInput + // Password for SMTP, Length limit 64. + SmtpPassword pulumi.StringPtrInput } func (EmailAddressArgs) ElementType() reflect.Type { @@ -211,7 +260,7 @@ func (o EmailAddressOutput) ToEmailAddressOutputWithContext(ctx context.Context) return o } -// Your sender address. (You can create up to 10 sender addresses for each domain.). +// Your sender address(You can create up to 10 sender addresses for each domain). func (o EmailAddressOutput) EmailAddress() pulumi.StringOutput { return o.ApplyT(func(v *EmailAddress) pulumi.StringOutput { return v.EmailAddress }).(pulumi.StringOutput) } @@ -221,6 +270,11 @@ func (o EmailAddressOutput) EmailSenderName() pulumi.StringPtrOutput { return o.ApplyT(func(v *EmailAddress) pulumi.StringPtrOutput { return v.EmailSenderName }).(pulumi.StringPtrOutput) } +// Password for SMTP, Length limit 64. +func (o EmailAddressOutput) SmtpPassword() pulumi.StringPtrOutput { + return o.ApplyT(func(v *EmailAddress) pulumi.StringPtrOutput { return v.SmtpPassword }).(pulumi.StringPtrOutput) +} + type EmailAddressArrayOutput struct{ *pulumi.OutputState } func (EmailAddressArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/tencentcloud/sg/init.go b/sdk/go/tencentcloud/sg/init.go new file mode 100644 index 000000000..12a36ec12 --- /dev/null +++ b/sdk/go/tencentcloud/sg/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 sg + +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:Sg/rule:Rule": + r = &Rule{} + 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", + "Sg/rule", + &module{version}, + ) +} diff --git a/sdk/go/tencentcloud/sg/pulumiTypes.go b/sdk/go/tencentcloud/sg/pulumiTypes.go new file mode 100644 index 000000000..4d4adf0ac --- /dev/null +++ b/sdk/go/tencentcloud/sg/pulumiTypes.go @@ -0,0 +1,329 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package sg + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" +) + +var _ = internal.GetEnvOrDefault + +type RuleData struct { + // Description. + Description string `pulumi:"description"` + // Destination example: `net`: IP/CIDR (192.168.0.2); `template`: parameter template (ipm-dyodhpby); `instance`: asset instance (ins-123456); `resourcegroup`: asset group (/all groups/group 1/subgroup 1); `tag`: resource tag ({"Key":"tag key","Value":"tag value"}); `region`: region (ap-gaungzhou). + DestContent string `pulumi:"destContent"` + // Access destination type. Valid values: net|template|instance|resourcegroup|tag|region. + DestType string `pulumi:"destType"` + // Rule priority. + OrderIndex *string `pulumi:"orderIndex"` + // The port to apply access control rules. Valid values: `-1/-1`: all ports, `80`: port 80. + Port *string `pulumi:"port"` + // Protocol. TCP/UDP/ICMP/ANY. + Protocol *string `pulumi:"protocol"` + // The action that Cloud Firewall performs on the traffic. Valid values: `accept`: allow, `drop`: deny. + RuleAction string `pulumi:"ruleAction"` + // Parameter template ID of port and protocol type; mutually exclusive with Protocol and Port. + ServiceTemplateId *string `pulumi:"serviceTemplateId"` + // Source example: `net`: IP/CIDR (192.168.0.2); `template`: parameter template (ipm-dyodhpby); `instance`: asset instance (ins-123456); `resourcegroup`: asset group (/all groups/group 1/subgroup 1); `tag`: resource tag ({"Key":"tag key","Value":"tag value"}); `region`: region (ap-gaungzhou). + SourceContent string `pulumi:"sourceContent"` + // Access source type. Valid values: net|template|instance|resourcegroup|tag|region. + SourceType string `pulumi:"sourceType"` +} + +// RuleDataInput is an input type that accepts RuleDataArgs and RuleDataOutput values. +// You can construct a concrete instance of `RuleDataInput` via: +// +// RuleDataArgs{...} +type RuleDataInput interface { + pulumi.Input + + ToRuleDataOutput() RuleDataOutput + ToRuleDataOutputWithContext(context.Context) RuleDataOutput +} + +type RuleDataArgs struct { + // Description. + Description pulumi.StringInput `pulumi:"description"` + // Destination example: `net`: IP/CIDR (192.168.0.2); `template`: parameter template (ipm-dyodhpby); `instance`: asset instance (ins-123456); `resourcegroup`: asset group (/all groups/group 1/subgroup 1); `tag`: resource tag ({"Key":"tag key","Value":"tag value"}); `region`: region (ap-gaungzhou). + DestContent pulumi.StringInput `pulumi:"destContent"` + // Access destination type. Valid values: net|template|instance|resourcegroup|tag|region. + DestType pulumi.StringInput `pulumi:"destType"` + // Rule priority. + OrderIndex pulumi.StringPtrInput `pulumi:"orderIndex"` + // The port to apply access control rules. Valid values: `-1/-1`: all ports, `80`: port 80. + Port pulumi.StringPtrInput `pulumi:"port"` + // Protocol. TCP/UDP/ICMP/ANY. + Protocol pulumi.StringPtrInput `pulumi:"protocol"` + // The action that Cloud Firewall performs on the traffic. Valid values: `accept`: allow, `drop`: deny. + RuleAction pulumi.StringInput `pulumi:"ruleAction"` + // Parameter template ID of port and protocol type; mutually exclusive with Protocol and Port. + ServiceTemplateId pulumi.StringPtrInput `pulumi:"serviceTemplateId"` + // Source example: `net`: IP/CIDR (192.168.0.2); `template`: parameter template (ipm-dyodhpby); `instance`: asset instance (ins-123456); `resourcegroup`: asset group (/all groups/group 1/subgroup 1); `tag`: resource tag ({"Key":"tag key","Value":"tag value"}); `region`: region (ap-gaungzhou). + SourceContent pulumi.StringInput `pulumi:"sourceContent"` + // Access source type. Valid values: net|template|instance|resourcegroup|tag|region. + SourceType pulumi.StringInput `pulumi:"sourceType"` +} + +func (RuleDataArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RuleData)(nil)).Elem() +} + +func (i RuleDataArgs) ToRuleDataOutput() RuleDataOutput { + return i.ToRuleDataOutputWithContext(context.Background()) +} + +func (i RuleDataArgs) ToRuleDataOutputWithContext(ctx context.Context) RuleDataOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleDataOutput) +} + +func (i RuleDataArgs) ToRuleDataPtrOutput() RuleDataPtrOutput { + return i.ToRuleDataPtrOutputWithContext(context.Background()) +} + +func (i RuleDataArgs) ToRuleDataPtrOutputWithContext(ctx context.Context) RuleDataPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleDataOutput).ToRuleDataPtrOutputWithContext(ctx) +} + +// RuleDataPtrInput is an input type that accepts RuleDataArgs, RuleDataPtr and RuleDataPtrOutput values. +// You can construct a concrete instance of `RuleDataPtrInput` via: +// +// RuleDataArgs{...} +// +// or: +// +// nil +type RuleDataPtrInput interface { + pulumi.Input + + ToRuleDataPtrOutput() RuleDataPtrOutput + ToRuleDataPtrOutputWithContext(context.Context) RuleDataPtrOutput +} + +type ruleDataPtrType RuleDataArgs + +func RuleDataPtr(v *RuleDataArgs) RuleDataPtrInput { + return (*ruleDataPtrType)(v) +} + +func (*ruleDataPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RuleData)(nil)).Elem() +} + +func (i *ruleDataPtrType) ToRuleDataPtrOutput() RuleDataPtrOutput { + return i.ToRuleDataPtrOutputWithContext(context.Background()) +} + +func (i *ruleDataPtrType) ToRuleDataPtrOutputWithContext(ctx context.Context) RuleDataPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleDataPtrOutput) +} + +type RuleDataOutput struct{ *pulumi.OutputState } + +func (RuleDataOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RuleData)(nil)).Elem() +} + +func (o RuleDataOutput) ToRuleDataOutput() RuleDataOutput { + return o +} + +func (o RuleDataOutput) ToRuleDataOutputWithContext(ctx context.Context) RuleDataOutput { + return o +} + +func (o RuleDataOutput) ToRuleDataPtrOutput() RuleDataPtrOutput { + return o.ToRuleDataPtrOutputWithContext(context.Background()) +} + +func (o RuleDataOutput) ToRuleDataPtrOutputWithContext(ctx context.Context) RuleDataPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RuleData) *RuleData { + return &v + }).(RuleDataPtrOutput) +} + +// Description. +func (o RuleDataOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v RuleData) string { return v.Description }).(pulumi.StringOutput) +} + +// Destination example: `net`: IP/CIDR (192.168.0.2); `template`: parameter template (ipm-dyodhpby); `instance`: asset instance (ins-123456); `resourcegroup`: asset group (/all groups/group 1/subgroup 1); `tag`: resource tag ({"Key":"tag key","Value":"tag value"}); `region`: region (ap-gaungzhou). +func (o RuleDataOutput) DestContent() pulumi.StringOutput { + return o.ApplyT(func(v RuleData) string { return v.DestContent }).(pulumi.StringOutput) +} + +// Access destination type. Valid values: net|template|instance|resourcegroup|tag|region. +func (o RuleDataOutput) DestType() pulumi.StringOutput { + return o.ApplyT(func(v RuleData) string { return v.DestType }).(pulumi.StringOutput) +} + +// Rule priority. +func (o RuleDataOutput) OrderIndex() pulumi.StringPtrOutput { + return o.ApplyT(func(v RuleData) *string { return v.OrderIndex }).(pulumi.StringPtrOutput) +} + +// The port to apply access control rules. Valid values: `-1/-1`: all ports, `80`: port 80. +func (o RuleDataOutput) Port() pulumi.StringPtrOutput { + return o.ApplyT(func(v RuleData) *string { return v.Port }).(pulumi.StringPtrOutput) +} + +// Protocol. TCP/UDP/ICMP/ANY. +func (o RuleDataOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v RuleData) *string { return v.Protocol }).(pulumi.StringPtrOutput) +} + +// The action that Cloud Firewall performs on the traffic. Valid values: `accept`: allow, `drop`: deny. +func (o RuleDataOutput) RuleAction() pulumi.StringOutput { + return o.ApplyT(func(v RuleData) string { return v.RuleAction }).(pulumi.StringOutput) +} + +// Parameter template ID of port and protocol type; mutually exclusive with Protocol and Port. +func (o RuleDataOutput) ServiceTemplateId() pulumi.StringPtrOutput { + return o.ApplyT(func(v RuleData) *string { return v.ServiceTemplateId }).(pulumi.StringPtrOutput) +} + +// Source example: `net`: IP/CIDR (192.168.0.2); `template`: parameter template (ipm-dyodhpby); `instance`: asset instance (ins-123456); `resourcegroup`: asset group (/all groups/group 1/subgroup 1); `tag`: resource tag ({"Key":"tag key","Value":"tag value"}); `region`: region (ap-gaungzhou). +func (o RuleDataOutput) SourceContent() pulumi.StringOutput { + return o.ApplyT(func(v RuleData) string { return v.SourceContent }).(pulumi.StringOutput) +} + +// Access source type. Valid values: net|template|instance|resourcegroup|tag|region. +func (o RuleDataOutput) SourceType() pulumi.StringOutput { + return o.ApplyT(func(v RuleData) string { return v.SourceType }).(pulumi.StringOutput) +} + +type RuleDataPtrOutput struct{ *pulumi.OutputState } + +func (RuleDataPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RuleData)(nil)).Elem() +} + +func (o RuleDataPtrOutput) ToRuleDataPtrOutput() RuleDataPtrOutput { + return o +} + +func (o RuleDataPtrOutput) ToRuleDataPtrOutputWithContext(ctx context.Context) RuleDataPtrOutput { + return o +} + +func (o RuleDataPtrOutput) Elem() RuleDataOutput { + return o.ApplyT(func(v *RuleData) RuleData { + if v != nil { + return *v + } + var ret RuleData + return ret + }).(RuleDataOutput) +} + +// Description. +func (o RuleDataPtrOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RuleData) *string { + if v == nil { + return nil + } + return &v.Description + }).(pulumi.StringPtrOutput) +} + +// Destination example: `net`: IP/CIDR (192.168.0.2); `template`: parameter template (ipm-dyodhpby); `instance`: asset instance (ins-123456); `resourcegroup`: asset group (/all groups/group 1/subgroup 1); `tag`: resource tag ({"Key":"tag key","Value":"tag value"}); `region`: region (ap-gaungzhou). +func (o RuleDataPtrOutput) DestContent() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RuleData) *string { + if v == nil { + return nil + } + return &v.DestContent + }).(pulumi.StringPtrOutput) +} + +// Access destination type. Valid values: net|template|instance|resourcegroup|tag|region. +func (o RuleDataPtrOutput) DestType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RuleData) *string { + if v == nil { + return nil + } + return &v.DestType + }).(pulumi.StringPtrOutput) +} + +// Rule priority. +func (o RuleDataPtrOutput) OrderIndex() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RuleData) *string { + if v == nil { + return nil + } + return v.OrderIndex + }).(pulumi.StringPtrOutput) +} + +// The port to apply access control rules. Valid values: `-1/-1`: all ports, `80`: port 80. +func (o RuleDataPtrOutput) Port() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RuleData) *string { + if v == nil { + return nil + } + return v.Port + }).(pulumi.StringPtrOutput) +} + +// Protocol. TCP/UDP/ICMP/ANY. +func (o RuleDataPtrOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RuleData) *string { + if v == nil { + return nil + } + return v.Protocol + }).(pulumi.StringPtrOutput) +} + +// The action that Cloud Firewall performs on the traffic. Valid values: `accept`: allow, `drop`: deny. +func (o RuleDataPtrOutput) RuleAction() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RuleData) *string { + if v == nil { + return nil + } + return &v.RuleAction + }).(pulumi.StringPtrOutput) +} + +// Parameter template ID of port and protocol type; mutually exclusive with Protocol and Port. +func (o RuleDataPtrOutput) ServiceTemplateId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RuleData) *string { + if v == nil { + return nil + } + return v.ServiceTemplateId + }).(pulumi.StringPtrOutput) +} + +// Source example: `net`: IP/CIDR (192.168.0.2); `template`: parameter template (ipm-dyodhpby); `instance`: asset instance (ins-123456); `resourcegroup`: asset group (/all groups/group 1/subgroup 1); `tag`: resource tag ({"Key":"tag key","Value":"tag value"}); `region`: region (ap-gaungzhou). +func (o RuleDataPtrOutput) SourceContent() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RuleData) *string { + if v == nil { + return nil + } + return &v.SourceContent + }).(pulumi.StringPtrOutput) +} + +// Access source type. Valid values: net|template|instance|resourcegroup|tag|region. +func (o RuleDataPtrOutput) SourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RuleData) *string { + if v == nil { + return nil + } + return &v.SourceType + }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*RuleDataInput)(nil)).Elem(), RuleDataArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleDataPtrInput)(nil)).Elem(), RuleDataArgs{}) + pulumi.RegisterOutputType(RuleDataOutput{}) + pulumi.RegisterOutputType(RuleDataPtrOutput{}) +} diff --git a/sdk/go/tencentcloud/sg/rule.go b/sdk/go/tencentcloud/sg/rule.go new file mode 100644 index 000000000..1405a4293 --- /dev/null +++ b/sdk/go/tencentcloud/sg/rule.go @@ -0,0 +1,281 @@ +// 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 sg + +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 cfw sgRule +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Sg" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Sg.NewRule(ctx, "sgRule", &Sg.RuleArgs{ +// Data: &sg.RuleDataArgs{ +// Description: pulumi.String("1111112"), +// DestContent: pulumi.String("0.0.0.0/0"), +// DestType: pulumi.String("net"), +// Port: pulumi.String("-1/-1"), +// Protocol: pulumi.String("ANY"), +// RuleAction: pulumi.String("accept"), +// ServiceTemplateId: pulumi.String("ppm-l9u5pf1y"), +// SourceContent: pulumi.String("0.0.0.0/0"), +// SourceType: pulumi.String("net"), +// }, +// Enable: pulumi.Int(1), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// cfw sg_rule can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Sg/rule:Rule sg_rule rule_id +// ``` +type Rule struct { + pulumi.CustomResourceState + + // Creates rule data. + Data RuleDataOutput `pulumi:"data"` + // Rule status. `0` is off, `1` is on. This parameter is not required or is 1 when creating. + Enable pulumi.IntOutput `pulumi:"enable"` +} + +// NewRule registers a new resource with the given unique name, arguments, and options. +func NewRule(ctx *pulumi.Context, + name string, args *RuleArgs, opts ...pulumi.ResourceOption) (*Rule, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Data == nil { + return nil, errors.New("invalid value for required argument 'Data'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource Rule + err := ctx.RegisterResource("tencentcloud:Sg/rule:Rule", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetRule gets an existing Rule 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 GetRule(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *RuleState, opts ...pulumi.ResourceOption) (*Rule, error) { + var resource Rule + err := ctx.ReadResource("tencentcloud:Sg/rule:Rule", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Rule resources. +type ruleState struct { + // Creates rule data. + Data *RuleData `pulumi:"data"` + // Rule status. `0` is off, `1` is on. This parameter is not required or is 1 when creating. + Enable *int `pulumi:"enable"` +} + +type RuleState struct { + // Creates rule data. + Data RuleDataPtrInput + // Rule status. `0` is off, `1` is on. This parameter is not required or is 1 when creating. + Enable pulumi.IntPtrInput +} + +func (RuleState) ElementType() reflect.Type { + return reflect.TypeOf((*ruleState)(nil)).Elem() +} + +type ruleArgs struct { + // Creates rule data. + Data RuleData `pulumi:"data"` + // Rule status. `0` is off, `1` is on. This parameter is not required or is 1 when creating. + Enable *int `pulumi:"enable"` +} + +// The set of arguments for constructing a Rule resource. +type RuleArgs struct { + // Creates rule data. + Data RuleDataInput + // Rule status. `0` is off, `1` is on. This parameter is not required or is 1 when creating. + Enable pulumi.IntPtrInput +} + +func (RuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ruleArgs)(nil)).Elem() +} + +type RuleInput interface { + pulumi.Input + + ToRuleOutput() RuleOutput + ToRuleOutputWithContext(ctx context.Context) RuleOutput +} + +func (*Rule) ElementType() reflect.Type { + return reflect.TypeOf((**Rule)(nil)).Elem() +} + +func (i *Rule) ToRuleOutput() RuleOutput { + return i.ToRuleOutputWithContext(context.Background()) +} + +func (i *Rule) ToRuleOutputWithContext(ctx context.Context) RuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleOutput) +} + +// RuleArrayInput is an input type that accepts RuleArray and RuleArrayOutput values. +// You can construct a concrete instance of `RuleArrayInput` via: +// +// RuleArray{ RuleArgs{...} } +type RuleArrayInput interface { + pulumi.Input + + ToRuleArrayOutput() RuleArrayOutput + ToRuleArrayOutputWithContext(context.Context) RuleArrayOutput +} + +type RuleArray []RuleInput + +func (RuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Rule)(nil)).Elem() +} + +func (i RuleArray) ToRuleArrayOutput() RuleArrayOutput { + return i.ToRuleArrayOutputWithContext(context.Background()) +} + +func (i RuleArray) ToRuleArrayOutputWithContext(ctx context.Context) RuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleArrayOutput) +} + +// RuleMapInput is an input type that accepts RuleMap and RuleMapOutput values. +// You can construct a concrete instance of `RuleMapInput` via: +// +// RuleMap{ "key": RuleArgs{...} } +type RuleMapInput interface { + pulumi.Input + + ToRuleMapOutput() RuleMapOutput + ToRuleMapOutputWithContext(context.Context) RuleMapOutput +} + +type RuleMap map[string]RuleInput + +func (RuleMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Rule)(nil)).Elem() +} + +func (i RuleMap) ToRuleMapOutput() RuleMapOutput { + return i.ToRuleMapOutputWithContext(context.Background()) +} + +func (i RuleMap) ToRuleMapOutputWithContext(ctx context.Context) RuleMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleMapOutput) +} + +type RuleOutput struct{ *pulumi.OutputState } + +func (RuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Rule)(nil)).Elem() +} + +func (o RuleOutput) ToRuleOutput() RuleOutput { + return o +} + +func (o RuleOutput) ToRuleOutputWithContext(ctx context.Context) RuleOutput { + return o +} + +// Creates rule data. +func (o RuleOutput) Data() RuleDataOutput { + return o.ApplyT(func(v *Rule) RuleDataOutput { return v.Data }).(RuleDataOutput) +} + +// Rule status. `0` is off, `1` is on. This parameter is not required or is 1 when creating. +func (o RuleOutput) Enable() pulumi.IntOutput { + return o.ApplyT(func(v *Rule) pulumi.IntOutput { return v.Enable }).(pulumi.IntOutput) +} + +type RuleArrayOutput struct{ *pulumi.OutputState } + +func (RuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Rule)(nil)).Elem() +} + +func (o RuleArrayOutput) ToRuleArrayOutput() RuleArrayOutput { + return o +} + +func (o RuleArrayOutput) ToRuleArrayOutputWithContext(ctx context.Context) RuleArrayOutput { + return o +} + +func (o RuleArrayOutput) Index(i pulumi.IntInput) RuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Rule { + return vs[0].([]*Rule)[vs[1].(int)] + }).(RuleOutput) +} + +type RuleMapOutput struct{ *pulumi.OutputState } + +func (RuleMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Rule)(nil)).Elem() +} + +func (o RuleMapOutput) ToRuleMapOutput() RuleMapOutput { + return o +} + +func (o RuleMapOutput) ToRuleMapOutputWithContext(ctx context.Context) RuleMapOutput { + return o +} + +func (o RuleMapOutput) MapIndex(k pulumi.StringInput) RuleOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Rule { + return vs[0].(map[string]*Rule)[vs[1].(string)] + }).(RuleOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*RuleInput)(nil)).Elem(), &Rule{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleArrayInput)(nil)).Elem(), RuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleMapInput)(nil)).Elem(), RuleMap{}) + pulumi.RegisterOutputType(RuleOutput{}) + pulumi.RegisterOutputType(RuleArrayOutput{}) + pulumi.RegisterOutputType(RuleMapOutput{}) +} diff --git a/sdk/go/tencentcloud/sqlserver/instance.go b/sdk/go/tencentcloud/sqlserver/instance.go index b0b366b81..63e01a9f0 100644 --- a/sdk/go/tencentcloud/sqlserver/instance.go +++ b/sdk/go/tencentcloud/sqlserver/instance.go @@ -94,7 +94,9 @@ type Instance struct { CreateTime pulumi.StringOutput `pulumi:"createTime"` // Version of the SQL Server database engine. Allowed values are `2008R2`(SQL Server 2008 Enterprise), `2012SP3`(SQL Server 2012 Enterprise), `2016SP1` (SQL Server 2016 Enterprise), `201602`(SQL Server 2016 Standard) and `2017`(SQL Server 2017 Enterprise). Default is `2008R2`. EngineVersion pulumi.StringPtrOutput `pulumi:"engineVersion"` - // Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. + // It has been deprecated from version 1.81.136. Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. + // + // Deprecated: It has been deprecated from version 1.81.136. HaType pulumi.StringPtrOutput `pulumi:"haType"` // Start time of the maintenance in one day, format like `HH:mm`. MaintenanceStartTime pulumi.StringOutput `pulumi:"maintenanceStartTime"` @@ -105,7 +107,7 @@ type Instance struct { // Memory size (in GB). Allowed value must be larger than `memory` that data source `tencentcloudSqlserverSpecinfos` provides. Memory pulumi.IntOutput `pulumi:"memory"` // Indicate whether to deploy across availability zones. - MultiZones pulumi.BoolPtrOutput `pulumi:"multiZones"` + MultiZones pulumi.BoolOutput `pulumi:"multiZones"` // Name of the SQL Server instance. Name pulumi.StringOutput `pulumi:"name"` // Purchase instance period in month. The value does not exceed 48. @@ -186,7 +188,9 @@ type instanceState struct { CreateTime *string `pulumi:"createTime"` // Version of the SQL Server database engine. Allowed values are `2008R2`(SQL Server 2008 Enterprise), `2012SP3`(SQL Server 2012 Enterprise), `2016SP1` (SQL Server 2016 Enterprise), `201602`(SQL Server 2016 Standard) and `2017`(SQL Server 2017 Enterprise). Default is `2008R2`. EngineVersion *string `pulumi:"engineVersion"` - // Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. + // It has been deprecated from version 1.81.136. Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. + // + // Deprecated: It has been deprecated from version 1.81.136. HaType *string `pulumi:"haType"` // Start time of the maintenance in one day, format like `HH:mm`. MaintenanceStartTime *string `pulumi:"maintenanceStartTime"` @@ -243,7 +247,9 @@ type InstanceState struct { CreateTime pulumi.StringPtrInput // Version of the SQL Server database engine. Allowed values are `2008R2`(SQL Server 2008 Enterprise), `2012SP3`(SQL Server 2012 Enterprise), `2016SP1` (SQL Server 2016 Enterprise), `201602`(SQL Server 2016 Standard) and `2017`(SQL Server 2017 Enterprise). Default is `2008R2`. EngineVersion pulumi.StringPtrInput - // Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. + // It has been deprecated from version 1.81.136. Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. + // + // Deprecated: It has been deprecated from version 1.81.136. HaType pulumi.StringPtrInput // Start time of the maintenance in one day, format like `HH:mm`. MaintenanceStartTime pulumi.StringPtrInput @@ -302,7 +308,9 @@ type instanceArgs struct { ChargeType *string `pulumi:"chargeType"` // Version of the SQL Server database engine. Allowed values are `2008R2`(SQL Server 2008 Enterprise), `2012SP3`(SQL Server 2012 Enterprise), `2016SP1` (SQL Server 2016 Enterprise), `201602`(SQL Server 2016 Standard) and `2017`(SQL Server 2017 Enterprise). Default is `2008R2`. EngineVersion *string `pulumi:"engineVersion"` - // Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. + // It has been deprecated from version 1.81.136. Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. + // + // Deprecated: It has been deprecated from version 1.81.136. HaType *string `pulumi:"haType"` // Start time of the maintenance in one day, format like `HH:mm`. MaintenanceStartTime *string `pulumi:"maintenanceStartTime"` @@ -350,7 +358,9 @@ type InstanceArgs struct { ChargeType pulumi.StringPtrInput // Version of the SQL Server database engine. Allowed values are `2008R2`(SQL Server 2008 Enterprise), `2012SP3`(SQL Server 2012 Enterprise), `2016SP1` (SQL Server 2016 Enterprise), `201602`(SQL Server 2016 Standard) and `2017`(SQL Server 2017 Enterprise). Default is `2008R2`. EngineVersion pulumi.StringPtrInput - // Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. + // It has been deprecated from version 1.81.136. Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. + // + // Deprecated: It has been deprecated from version 1.81.136. HaType pulumi.StringPtrInput // Start time of the maintenance in one day, format like `HH:mm`. MaintenanceStartTime pulumi.StringPtrInput @@ -503,7 +513,9 @@ func (o InstanceOutput) EngineVersion() pulumi.StringPtrOutput { return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.EngineVersion }).(pulumi.StringPtrOutput) } -// Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. +// It has been deprecated from version 1.81.136. Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. +// +// Deprecated: It has been deprecated from version 1.81.136. func (o InstanceOutput) HaType() pulumi.StringPtrOutput { return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.HaType }).(pulumi.StringPtrOutput) } @@ -529,8 +541,8 @@ func (o InstanceOutput) Memory() pulumi.IntOutput { } // Indicate whether to deploy across availability zones. -func (o InstanceOutput) MultiZones() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.MultiZones }).(pulumi.BoolPtrOutput) +func (o InstanceOutput) MultiZones() pulumi.BoolOutput { + return o.ApplyT(func(v *Instance) pulumi.BoolOutput { return v.MultiZones }).(pulumi.BoolOutput) } // Name of the SQL Server instance. diff --git a/sdk/go/tencentcloud/ssl/checkCertificateDomainVerificationOperation.go b/sdk/go/tencentcloud/ssl/checkCertificateDomainVerificationOperation.go new file mode 100644 index 000000000..944cd4799 --- /dev/null +++ b/sdk/go/tencentcloud/ssl/checkCertificateDomainVerificationOperation.go @@ -0,0 +1,292 @@ +// 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 ssl + +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 ssl Check Certificate Domain Verification +// +// > **NOTE:** You can customize the maximum timeout time by setting parameter `timeouts`, which defaults to 15 minutes. +// +// ## Example Usage +// +// ### Check certificate domain +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Ssl" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Ssl.NewCheckCertificateDomainVerificationOperation(ctx, "example", &Ssl.CheckCertificateDomainVerificationOperationArgs{ +// CertificateId: pulumi.String("6BE701Jx"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ### Check certificate domain and set the maximum timeout period +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Ssl" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Ssl.NewCheckCertificateDomainVerificationOperation(ctx, "example", &Ssl.CheckCertificateDomainVerificationOperationArgs{ +// CertificateId: pulumi.String("6BE701Jx"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +type CheckCertificateDomainVerificationOperation struct { + pulumi.CustomResourceState + + // The certificate ID. + CertificateId pulumi.StringOutput `pulumi:"certificateId"` + // Domain name verification results. + VerificationResults CheckCertificateDomainVerificationOperationVerificationResultArrayOutput `pulumi:"verificationResults"` +} + +// NewCheckCertificateDomainVerificationOperation registers a new resource with the given unique name, arguments, and options. +func NewCheckCertificateDomainVerificationOperation(ctx *pulumi.Context, + name string, args *CheckCertificateDomainVerificationOperationArgs, opts ...pulumi.ResourceOption) (*CheckCertificateDomainVerificationOperation, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.CertificateId == nil { + return nil, errors.New("invalid value for required argument 'CertificateId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource CheckCertificateDomainVerificationOperation + err := ctx.RegisterResource("tencentcloud:Ssl/checkCertificateDomainVerificationOperation:CheckCertificateDomainVerificationOperation", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCheckCertificateDomainVerificationOperation gets an existing CheckCertificateDomainVerificationOperation 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 GetCheckCertificateDomainVerificationOperation(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CheckCertificateDomainVerificationOperationState, opts ...pulumi.ResourceOption) (*CheckCertificateDomainVerificationOperation, error) { + var resource CheckCertificateDomainVerificationOperation + err := ctx.ReadResource("tencentcloud:Ssl/checkCertificateDomainVerificationOperation:CheckCertificateDomainVerificationOperation", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering CheckCertificateDomainVerificationOperation resources. +type checkCertificateDomainVerificationOperationState struct { + // The certificate ID. + CertificateId *string `pulumi:"certificateId"` + // Domain name verification results. + VerificationResults []CheckCertificateDomainVerificationOperationVerificationResult `pulumi:"verificationResults"` +} + +type CheckCertificateDomainVerificationOperationState struct { + // The certificate ID. + CertificateId pulumi.StringPtrInput + // Domain name verification results. + VerificationResults CheckCertificateDomainVerificationOperationVerificationResultArrayInput +} + +func (CheckCertificateDomainVerificationOperationState) ElementType() reflect.Type { + return reflect.TypeOf((*checkCertificateDomainVerificationOperationState)(nil)).Elem() +} + +type checkCertificateDomainVerificationOperationArgs struct { + // The certificate ID. + CertificateId string `pulumi:"certificateId"` +} + +// The set of arguments for constructing a CheckCertificateDomainVerificationOperation resource. +type CheckCertificateDomainVerificationOperationArgs struct { + // The certificate ID. + CertificateId pulumi.StringInput +} + +func (CheckCertificateDomainVerificationOperationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*checkCertificateDomainVerificationOperationArgs)(nil)).Elem() +} + +type CheckCertificateDomainVerificationOperationInput interface { + pulumi.Input + + ToCheckCertificateDomainVerificationOperationOutput() CheckCertificateDomainVerificationOperationOutput + ToCheckCertificateDomainVerificationOperationOutputWithContext(ctx context.Context) CheckCertificateDomainVerificationOperationOutput +} + +func (*CheckCertificateDomainVerificationOperation) ElementType() reflect.Type { + return reflect.TypeOf((**CheckCertificateDomainVerificationOperation)(nil)).Elem() +} + +func (i *CheckCertificateDomainVerificationOperation) ToCheckCertificateDomainVerificationOperationOutput() CheckCertificateDomainVerificationOperationOutput { + return i.ToCheckCertificateDomainVerificationOperationOutputWithContext(context.Background()) +} + +func (i *CheckCertificateDomainVerificationOperation) ToCheckCertificateDomainVerificationOperationOutputWithContext(ctx context.Context) CheckCertificateDomainVerificationOperationOutput { + return pulumi.ToOutputWithContext(ctx, i).(CheckCertificateDomainVerificationOperationOutput) +} + +// CheckCertificateDomainVerificationOperationArrayInput is an input type that accepts CheckCertificateDomainVerificationOperationArray and CheckCertificateDomainVerificationOperationArrayOutput values. +// You can construct a concrete instance of `CheckCertificateDomainVerificationOperationArrayInput` via: +// +// CheckCertificateDomainVerificationOperationArray{ CheckCertificateDomainVerificationOperationArgs{...} } +type CheckCertificateDomainVerificationOperationArrayInput interface { + pulumi.Input + + ToCheckCertificateDomainVerificationOperationArrayOutput() CheckCertificateDomainVerificationOperationArrayOutput + ToCheckCertificateDomainVerificationOperationArrayOutputWithContext(context.Context) CheckCertificateDomainVerificationOperationArrayOutput +} + +type CheckCertificateDomainVerificationOperationArray []CheckCertificateDomainVerificationOperationInput + +func (CheckCertificateDomainVerificationOperationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CheckCertificateDomainVerificationOperation)(nil)).Elem() +} + +func (i CheckCertificateDomainVerificationOperationArray) ToCheckCertificateDomainVerificationOperationArrayOutput() CheckCertificateDomainVerificationOperationArrayOutput { + return i.ToCheckCertificateDomainVerificationOperationArrayOutputWithContext(context.Background()) +} + +func (i CheckCertificateDomainVerificationOperationArray) ToCheckCertificateDomainVerificationOperationArrayOutputWithContext(ctx context.Context) CheckCertificateDomainVerificationOperationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CheckCertificateDomainVerificationOperationArrayOutput) +} + +// CheckCertificateDomainVerificationOperationMapInput is an input type that accepts CheckCertificateDomainVerificationOperationMap and CheckCertificateDomainVerificationOperationMapOutput values. +// You can construct a concrete instance of `CheckCertificateDomainVerificationOperationMapInput` via: +// +// CheckCertificateDomainVerificationOperationMap{ "key": CheckCertificateDomainVerificationOperationArgs{...} } +type CheckCertificateDomainVerificationOperationMapInput interface { + pulumi.Input + + ToCheckCertificateDomainVerificationOperationMapOutput() CheckCertificateDomainVerificationOperationMapOutput + ToCheckCertificateDomainVerificationOperationMapOutputWithContext(context.Context) CheckCertificateDomainVerificationOperationMapOutput +} + +type CheckCertificateDomainVerificationOperationMap map[string]CheckCertificateDomainVerificationOperationInput + +func (CheckCertificateDomainVerificationOperationMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CheckCertificateDomainVerificationOperation)(nil)).Elem() +} + +func (i CheckCertificateDomainVerificationOperationMap) ToCheckCertificateDomainVerificationOperationMapOutput() CheckCertificateDomainVerificationOperationMapOutput { + return i.ToCheckCertificateDomainVerificationOperationMapOutputWithContext(context.Background()) +} + +func (i CheckCertificateDomainVerificationOperationMap) ToCheckCertificateDomainVerificationOperationMapOutputWithContext(ctx context.Context) CheckCertificateDomainVerificationOperationMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(CheckCertificateDomainVerificationOperationMapOutput) +} + +type CheckCertificateDomainVerificationOperationOutput struct{ *pulumi.OutputState } + +func (CheckCertificateDomainVerificationOperationOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CheckCertificateDomainVerificationOperation)(nil)).Elem() +} + +func (o CheckCertificateDomainVerificationOperationOutput) ToCheckCertificateDomainVerificationOperationOutput() CheckCertificateDomainVerificationOperationOutput { + return o +} + +func (o CheckCertificateDomainVerificationOperationOutput) ToCheckCertificateDomainVerificationOperationOutputWithContext(ctx context.Context) CheckCertificateDomainVerificationOperationOutput { + return o +} + +// The certificate ID. +func (o CheckCertificateDomainVerificationOperationOutput) CertificateId() pulumi.StringOutput { + return o.ApplyT(func(v *CheckCertificateDomainVerificationOperation) pulumi.StringOutput { return v.CertificateId }).(pulumi.StringOutput) +} + +// Domain name verification results. +func (o CheckCertificateDomainVerificationOperationOutput) VerificationResults() CheckCertificateDomainVerificationOperationVerificationResultArrayOutput { + return o.ApplyT(func(v *CheckCertificateDomainVerificationOperation) CheckCertificateDomainVerificationOperationVerificationResultArrayOutput { + return v.VerificationResults + }).(CheckCertificateDomainVerificationOperationVerificationResultArrayOutput) +} + +type CheckCertificateDomainVerificationOperationArrayOutput struct{ *pulumi.OutputState } + +func (CheckCertificateDomainVerificationOperationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CheckCertificateDomainVerificationOperation)(nil)).Elem() +} + +func (o CheckCertificateDomainVerificationOperationArrayOutput) ToCheckCertificateDomainVerificationOperationArrayOutput() CheckCertificateDomainVerificationOperationArrayOutput { + return o +} + +func (o CheckCertificateDomainVerificationOperationArrayOutput) ToCheckCertificateDomainVerificationOperationArrayOutputWithContext(ctx context.Context) CheckCertificateDomainVerificationOperationArrayOutput { + return o +} + +func (o CheckCertificateDomainVerificationOperationArrayOutput) Index(i pulumi.IntInput) CheckCertificateDomainVerificationOperationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *CheckCertificateDomainVerificationOperation { + return vs[0].([]*CheckCertificateDomainVerificationOperation)[vs[1].(int)] + }).(CheckCertificateDomainVerificationOperationOutput) +} + +type CheckCertificateDomainVerificationOperationMapOutput struct{ *pulumi.OutputState } + +func (CheckCertificateDomainVerificationOperationMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CheckCertificateDomainVerificationOperation)(nil)).Elem() +} + +func (o CheckCertificateDomainVerificationOperationMapOutput) ToCheckCertificateDomainVerificationOperationMapOutput() CheckCertificateDomainVerificationOperationMapOutput { + return o +} + +func (o CheckCertificateDomainVerificationOperationMapOutput) ToCheckCertificateDomainVerificationOperationMapOutputWithContext(ctx context.Context) CheckCertificateDomainVerificationOperationMapOutput { + return o +} + +func (o CheckCertificateDomainVerificationOperationMapOutput) MapIndex(k pulumi.StringInput) CheckCertificateDomainVerificationOperationOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *CheckCertificateDomainVerificationOperation { + return vs[0].(map[string]*CheckCertificateDomainVerificationOperation)[vs[1].(string)] + }).(CheckCertificateDomainVerificationOperationOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CheckCertificateDomainVerificationOperationInput)(nil)).Elem(), &CheckCertificateDomainVerificationOperation{}) + pulumi.RegisterInputType(reflect.TypeOf((*CheckCertificateDomainVerificationOperationArrayInput)(nil)).Elem(), CheckCertificateDomainVerificationOperationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CheckCertificateDomainVerificationOperationMapInput)(nil)).Elem(), CheckCertificateDomainVerificationOperationMap{}) + pulumi.RegisterOutputType(CheckCertificateDomainVerificationOperationOutput{}) + pulumi.RegisterOutputType(CheckCertificateDomainVerificationOperationArrayOutput{}) + pulumi.RegisterOutputType(CheckCertificateDomainVerificationOperationMapOutput{}) +} diff --git a/sdk/go/tencentcloud/ssl/init.go b/sdk/go/tencentcloud/ssl/init.go index 31c734027..d9ea4e55a 100644 --- a/sdk/go/tencentcloud/ssl/init.go +++ b/sdk/go/tencentcloud/ssl/init.go @@ -25,6 +25,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &Certificate{} case "tencentcloud:Ssl/checkCertificateChainOperation:CheckCertificateChainOperation": r = &CheckCertificateChainOperation{} + case "tencentcloud:Ssl/checkCertificateDomainVerificationOperation:CheckCertificateDomainVerificationOperation": + r = &CheckCertificateDomainVerificationOperation{} case "tencentcloud:Ssl/completeCertificateOperation:CompleteCertificateOperation": r = &CompleteCertificateOperation{} case "tencentcloud:Ssl/deployCertificateInstanceOperation:DeployCertificateInstanceOperation": @@ -74,6 +76,11 @@ func init() { "Ssl/checkCertificateChainOperation", &module{version}, ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Ssl/checkCertificateDomainVerificationOperation", + &module{version}, + ) pulumi.RegisterResourceModule( "tencentcloud", "Ssl/completeCertificateOperation", diff --git a/sdk/go/tencentcloud/ssl/pulumiTypes.go b/sdk/go/tencentcloud/ssl/pulumiTypes.go index 0e0e08375..f9b265c56 100644 --- a/sdk/go/tencentcloud/ssl/pulumiTypes.go +++ b/sdk/go/tencentcloud/ssl/pulumiTypes.go @@ -13,6 +13,168 @@ import ( var _ = internal.GetEnvOrDefault +type CheckCertificateDomainVerificationOperationVerificationResult struct { + // CA inspection results. + CaCheck *int `pulumi:"caCheck"` + // Detected values. + CheckValues []string `pulumi:"checkValues"` + // Domain name. + Domain *string `pulumi:"domain"` + // Whether frequent requests. + Frequently *bool `pulumi:"frequently"` + // Whether issued. + Issued *bool `pulumi:"issued"` + // Local inspection results. + LocalCheck *int `pulumi:"localCheck"` + // Check the reason for the failure. + LocalCheckFailReason *string `pulumi:"localCheckFailReason"` + // Domain Verify Type. + VerifyType *string `pulumi:"verifyType"` +} + +// CheckCertificateDomainVerificationOperationVerificationResultInput is an input type that accepts CheckCertificateDomainVerificationOperationVerificationResultArgs and CheckCertificateDomainVerificationOperationVerificationResultOutput values. +// You can construct a concrete instance of `CheckCertificateDomainVerificationOperationVerificationResultInput` via: +// +// CheckCertificateDomainVerificationOperationVerificationResultArgs{...} +type CheckCertificateDomainVerificationOperationVerificationResultInput interface { + pulumi.Input + + ToCheckCertificateDomainVerificationOperationVerificationResultOutput() CheckCertificateDomainVerificationOperationVerificationResultOutput + ToCheckCertificateDomainVerificationOperationVerificationResultOutputWithContext(context.Context) CheckCertificateDomainVerificationOperationVerificationResultOutput +} + +type CheckCertificateDomainVerificationOperationVerificationResultArgs struct { + // CA inspection results. + CaCheck pulumi.IntPtrInput `pulumi:"caCheck"` + // Detected values. + CheckValues pulumi.StringArrayInput `pulumi:"checkValues"` + // Domain name. + Domain pulumi.StringPtrInput `pulumi:"domain"` + // Whether frequent requests. + Frequently pulumi.BoolPtrInput `pulumi:"frequently"` + // Whether issued. + Issued pulumi.BoolPtrInput `pulumi:"issued"` + // Local inspection results. + LocalCheck pulumi.IntPtrInput `pulumi:"localCheck"` + // Check the reason for the failure. + LocalCheckFailReason pulumi.StringPtrInput `pulumi:"localCheckFailReason"` + // Domain Verify Type. + VerifyType pulumi.StringPtrInput `pulumi:"verifyType"` +} + +func (CheckCertificateDomainVerificationOperationVerificationResultArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CheckCertificateDomainVerificationOperationVerificationResult)(nil)).Elem() +} + +func (i CheckCertificateDomainVerificationOperationVerificationResultArgs) ToCheckCertificateDomainVerificationOperationVerificationResultOutput() CheckCertificateDomainVerificationOperationVerificationResultOutput { + return i.ToCheckCertificateDomainVerificationOperationVerificationResultOutputWithContext(context.Background()) +} + +func (i CheckCertificateDomainVerificationOperationVerificationResultArgs) ToCheckCertificateDomainVerificationOperationVerificationResultOutputWithContext(ctx context.Context) CheckCertificateDomainVerificationOperationVerificationResultOutput { + return pulumi.ToOutputWithContext(ctx, i).(CheckCertificateDomainVerificationOperationVerificationResultOutput) +} + +// CheckCertificateDomainVerificationOperationVerificationResultArrayInput is an input type that accepts CheckCertificateDomainVerificationOperationVerificationResultArray and CheckCertificateDomainVerificationOperationVerificationResultArrayOutput values. +// You can construct a concrete instance of `CheckCertificateDomainVerificationOperationVerificationResultArrayInput` via: +// +// CheckCertificateDomainVerificationOperationVerificationResultArray{ CheckCertificateDomainVerificationOperationVerificationResultArgs{...} } +type CheckCertificateDomainVerificationOperationVerificationResultArrayInput interface { + pulumi.Input + + ToCheckCertificateDomainVerificationOperationVerificationResultArrayOutput() CheckCertificateDomainVerificationOperationVerificationResultArrayOutput + ToCheckCertificateDomainVerificationOperationVerificationResultArrayOutputWithContext(context.Context) CheckCertificateDomainVerificationOperationVerificationResultArrayOutput +} + +type CheckCertificateDomainVerificationOperationVerificationResultArray []CheckCertificateDomainVerificationOperationVerificationResultInput + +func (CheckCertificateDomainVerificationOperationVerificationResultArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]CheckCertificateDomainVerificationOperationVerificationResult)(nil)).Elem() +} + +func (i CheckCertificateDomainVerificationOperationVerificationResultArray) ToCheckCertificateDomainVerificationOperationVerificationResultArrayOutput() CheckCertificateDomainVerificationOperationVerificationResultArrayOutput { + return i.ToCheckCertificateDomainVerificationOperationVerificationResultArrayOutputWithContext(context.Background()) +} + +func (i CheckCertificateDomainVerificationOperationVerificationResultArray) ToCheckCertificateDomainVerificationOperationVerificationResultArrayOutputWithContext(ctx context.Context) CheckCertificateDomainVerificationOperationVerificationResultArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CheckCertificateDomainVerificationOperationVerificationResultArrayOutput) +} + +type CheckCertificateDomainVerificationOperationVerificationResultOutput struct{ *pulumi.OutputState } + +func (CheckCertificateDomainVerificationOperationVerificationResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CheckCertificateDomainVerificationOperationVerificationResult)(nil)).Elem() +} + +func (o CheckCertificateDomainVerificationOperationVerificationResultOutput) ToCheckCertificateDomainVerificationOperationVerificationResultOutput() CheckCertificateDomainVerificationOperationVerificationResultOutput { + return o +} + +func (o CheckCertificateDomainVerificationOperationVerificationResultOutput) ToCheckCertificateDomainVerificationOperationVerificationResultOutputWithContext(ctx context.Context) CheckCertificateDomainVerificationOperationVerificationResultOutput { + return o +} + +// CA inspection results. +func (o CheckCertificateDomainVerificationOperationVerificationResultOutput) CaCheck() pulumi.IntPtrOutput { + return o.ApplyT(func(v CheckCertificateDomainVerificationOperationVerificationResult) *int { return v.CaCheck }).(pulumi.IntPtrOutput) +} + +// Detected values. +func (o CheckCertificateDomainVerificationOperationVerificationResultOutput) CheckValues() pulumi.StringArrayOutput { + return o.ApplyT(func(v CheckCertificateDomainVerificationOperationVerificationResult) []string { return v.CheckValues }).(pulumi.StringArrayOutput) +} + +// Domain name. +func (o CheckCertificateDomainVerificationOperationVerificationResultOutput) Domain() pulumi.StringPtrOutput { + return o.ApplyT(func(v CheckCertificateDomainVerificationOperationVerificationResult) *string { return v.Domain }).(pulumi.StringPtrOutput) +} + +// Whether frequent requests. +func (o CheckCertificateDomainVerificationOperationVerificationResultOutput) Frequently() pulumi.BoolPtrOutput { + return o.ApplyT(func(v CheckCertificateDomainVerificationOperationVerificationResult) *bool { return v.Frequently }).(pulumi.BoolPtrOutput) +} + +// Whether issued. +func (o CheckCertificateDomainVerificationOperationVerificationResultOutput) Issued() pulumi.BoolPtrOutput { + return o.ApplyT(func(v CheckCertificateDomainVerificationOperationVerificationResult) *bool { return v.Issued }).(pulumi.BoolPtrOutput) +} + +// Local inspection results. +func (o CheckCertificateDomainVerificationOperationVerificationResultOutput) LocalCheck() pulumi.IntPtrOutput { + return o.ApplyT(func(v CheckCertificateDomainVerificationOperationVerificationResult) *int { return v.LocalCheck }).(pulumi.IntPtrOutput) +} + +// Check the reason for the failure. +func (o CheckCertificateDomainVerificationOperationVerificationResultOutput) LocalCheckFailReason() pulumi.StringPtrOutput { + return o.ApplyT(func(v CheckCertificateDomainVerificationOperationVerificationResult) *string { + return v.LocalCheckFailReason + }).(pulumi.StringPtrOutput) +} + +// Domain Verify Type. +func (o CheckCertificateDomainVerificationOperationVerificationResultOutput) VerifyType() pulumi.StringPtrOutput { + return o.ApplyT(func(v CheckCertificateDomainVerificationOperationVerificationResult) *string { return v.VerifyType }).(pulumi.StringPtrOutput) +} + +type CheckCertificateDomainVerificationOperationVerificationResultArrayOutput struct{ *pulumi.OutputState } + +func (CheckCertificateDomainVerificationOperationVerificationResultArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]CheckCertificateDomainVerificationOperationVerificationResult)(nil)).Elem() +} + +func (o CheckCertificateDomainVerificationOperationVerificationResultArrayOutput) ToCheckCertificateDomainVerificationOperationVerificationResultArrayOutput() CheckCertificateDomainVerificationOperationVerificationResultArrayOutput { + return o +} + +func (o CheckCertificateDomainVerificationOperationVerificationResultArrayOutput) ToCheckCertificateDomainVerificationOperationVerificationResultArrayOutputWithContext(ctx context.Context) CheckCertificateDomainVerificationOperationVerificationResultArrayOutput { + return o +} + +func (o CheckCertificateDomainVerificationOperationVerificationResultArrayOutput) Index(i pulumi.IntInput) CheckCertificateDomainVerificationOperationVerificationResultOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) CheckCertificateDomainVerificationOperationVerificationResult { + return vs[0].([]CheckCertificateDomainVerificationOperationVerificationResult)[vs[1].(int)] + }).(CheckCertificateDomainVerificationOperationVerificationResultOutput) +} + type FreeCertificateDvAuth struct { // DV authentication key. DvAuthKey *string `pulumi:"dvAuthKey"` @@ -963,6 +1125,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 +1137,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 +1173,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 +1185,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 +1290,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 +1320,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 { @@ -7538,6 +7718,8 @@ func (o GetDescribeManagersManagerArrayOutput) Index(i pulumi.IntInput) GetDescr } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CheckCertificateDomainVerificationOperationVerificationResultInput)(nil)).Elem(), CheckCertificateDomainVerificationOperationVerificationResultArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CheckCertificateDomainVerificationOperationVerificationResultArrayInput)(nil)).Elem(), CheckCertificateDomainVerificationOperationVerificationResultArray{}) pulumi.RegisterInputType(reflect.TypeOf((*FreeCertificateDvAuthInput)(nil)).Elem(), FreeCertificateDvAuthArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FreeCertificateDvAuthArrayInput)(nil)).Elem(), FreeCertificateDvAuthArray{}) pulumi.RegisterInputType(reflect.TypeOf((*PayCertificateDvAuthInput)(nil)).Elem(), PayCertificateDvAuthArgs{}) @@ -7636,6 +7818,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetDescribeManagerDetailCompanyInfoArrayInput)(nil)).Elem(), GetDescribeManagerDetailCompanyInfoArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetDescribeManagersManagerInput)(nil)).Elem(), GetDescribeManagersManagerArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetDescribeManagersManagerArrayInput)(nil)).Elem(), GetDescribeManagersManagerArray{}) + pulumi.RegisterOutputType(CheckCertificateDomainVerificationOperationVerificationResultOutput{}) + pulumi.RegisterOutputType(CheckCertificateDomainVerificationOperationVerificationResultArrayOutput{}) pulumi.RegisterOutputType(FreeCertificateDvAuthOutput{}) pulumi.RegisterOutputType(FreeCertificateDvAuthArrayOutput{}) pulumi.RegisterOutputType(PayCertificateDvAuthOutput{}) 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/subscribe/init.go b/sdk/go/tencentcloud/subscribe/init.go new file mode 100644 index 000000000..3bf94b0e7 --- /dev/null +++ b/sdk/go/tencentcloud/subscribe/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 subscribe + +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:Subscribe/privateZoneService:PrivateZoneService": + r = &PrivateZoneService{} + 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", + "Subscribe/privateZoneService", + &module{version}, + ) +} diff --git a/sdk/go/tencentcloud/subscribe/privateZoneService.go b/sdk/go/tencentcloud/subscribe/privateZoneService.go new file mode 100644 index 000000000..b255a9e62 --- /dev/null +++ b/sdk/go/tencentcloud/subscribe/privateZoneService.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 subscribe + +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 privatedns subscribe private zone service +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subscribe" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Subscribe.NewPrivateZoneService(ctx, "example", nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +type PrivateZoneService struct { + pulumi.CustomResourceState + + // Private domain resolution service activation status. + ServiceStatus pulumi.StringOutput `pulumi:"serviceStatus"` +} + +// NewPrivateZoneService registers a new resource with the given unique name, arguments, and options. +func NewPrivateZoneService(ctx *pulumi.Context, + name string, args *PrivateZoneServiceArgs, opts ...pulumi.ResourceOption) (*PrivateZoneService, error) { + if args == nil { + args = &PrivateZoneServiceArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource PrivateZoneService + err := ctx.RegisterResource("tencentcloud:Subscribe/privateZoneService:PrivateZoneService", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPrivateZoneService gets an existing PrivateZoneService 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 GetPrivateZoneService(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PrivateZoneServiceState, opts ...pulumi.ResourceOption) (*PrivateZoneService, error) { + var resource PrivateZoneService + err := ctx.ReadResource("tencentcloud:Subscribe/privateZoneService:PrivateZoneService", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PrivateZoneService resources. +type privateZoneServiceState struct { + // Private domain resolution service activation status. + ServiceStatus *string `pulumi:"serviceStatus"` +} + +type PrivateZoneServiceState struct { + // Private domain resolution service activation status. + ServiceStatus pulumi.StringPtrInput +} + +func (PrivateZoneServiceState) ElementType() reflect.Type { + return reflect.TypeOf((*privateZoneServiceState)(nil)).Elem() +} + +type privateZoneServiceArgs struct { +} + +// The set of arguments for constructing a PrivateZoneService resource. +type PrivateZoneServiceArgs struct { +} + +func (PrivateZoneServiceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*privateZoneServiceArgs)(nil)).Elem() +} + +type PrivateZoneServiceInput interface { + pulumi.Input + + ToPrivateZoneServiceOutput() PrivateZoneServiceOutput + ToPrivateZoneServiceOutputWithContext(ctx context.Context) PrivateZoneServiceOutput +} + +func (*PrivateZoneService) ElementType() reflect.Type { + return reflect.TypeOf((**PrivateZoneService)(nil)).Elem() +} + +func (i *PrivateZoneService) ToPrivateZoneServiceOutput() PrivateZoneServiceOutput { + return i.ToPrivateZoneServiceOutputWithContext(context.Background()) +} + +func (i *PrivateZoneService) ToPrivateZoneServiceOutputWithContext(ctx context.Context) PrivateZoneServiceOutput { + return pulumi.ToOutputWithContext(ctx, i).(PrivateZoneServiceOutput) +} + +// PrivateZoneServiceArrayInput is an input type that accepts PrivateZoneServiceArray and PrivateZoneServiceArrayOutput values. +// You can construct a concrete instance of `PrivateZoneServiceArrayInput` via: +// +// PrivateZoneServiceArray{ PrivateZoneServiceArgs{...} } +type PrivateZoneServiceArrayInput interface { + pulumi.Input + + ToPrivateZoneServiceArrayOutput() PrivateZoneServiceArrayOutput + ToPrivateZoneServiceArrayOutputWithContext(context.Context) PrivateZoneServiceArrayOutput +} + +type PrivateZoneServiceArray []PrivateZoneServiceInput + +func (PrivateZoneServiceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*PrivateZoneService)(nil)).Elem() +} + +func (i PrivateZoneServiceArray) ToPrivateZoneServiceArrayOutput() PrivateZoneServiceArrayOutput { + return i.ToPrivateZoneServiceArrayOutputWithContext(context.Background()) +} + +func (i PrivateZoneServiceArray) ToPrivateZoneServiceArrayOutputWithContext(ctx context.Context) PrivateZoneServiceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PrivateZoneServiceArrayOutput) +} + +// PrivateZoneServiceMapInput is an input type that accepts PrivateZoneServiceMap and PrivateZoneServiceMapOutput values. +// You can construct a concrete instance of `PrivateZoneServiceMapInput` via: +// +// PrivateZoneServiceMap{ "key": PrivateZoneServiceArgs{...} } +type PrivateZoneServiceMapInput interface { + pulumi.Input + + ToPrivateZoneServiceMapOutput() PrivateZoneServiceMapOutput + ToPrivateZoneServiceMapOutputWithContext(context.Context) PrivateZoneServiceMapOutput +} + +type PrivateZoneServiceMap map[string]PrivateZoneServiceInput + +func (PrivateZoneServiceMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*PrivateZoneService)(nil)).Elem() +} + +func (i PrivateZoneServiceMap) ToPrivateZoneServiceMapOutput() PrivateZoneServiceMapOutput { + return i.ToPrivateZoneServiceMapOutputWithContext(context.Background()) +} + +func (i PrivateZoneServiceMap) ToPrivateZoneServiceMapOutputWithContext(ctx context.Context) PrivateZoneServiceMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(PrivateZoneServiceMapOutput) +} + +type PrivateZoneServiceOutput struct{ *pulumi.OutputState } + +func (PrivateZoneServiceOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PrivateZoneService)(nil)).Elem() +} + +func (o PrivateZoneServiceOutput) ToPrivateZoneServiceOutput() PrivateZoneServiceOutput { + return o +} + +func (o PrivateZoneServiceOutput) ToPrivateZoneServiceOutputWithContext(ctx context.Context) PrivateZoneServiceOutput { + return o +} + +// Private domain resolution service activation status. +func (o PrivateZoneServiceOutput) ServiceStatus() pulumi.StringOutput { + return o.ApplyT(func(v *PrivateZoneService) pulumi.StringOutput { return v.ServiceStatus }).(pulumi.StringOutput) +} + +type PrivateZoneServiceArrayOutput struct{ *pulumi.OutputState } + +func (PrivateZoneServiceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*PrivateZoneService)(nil)).Elem() +} + +func (o PrivateZoneServiceArrayOutput) ToPrivateZoneServiceArrayOutput() PrivateZoneServiceArrayOutput { + return o +} + +func (o PrivateZoneServiceArrayOutput) ToPrivateZoneServiceArrayOutputWithContext(ctx context.Context) PrivateZoneServiceArrayOutput { + return o +} + +func (o PrivateZoneServiceArrayOutput) Index(i pulumi.IntInput) PrivateZoneServiceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *PrivateZoneService { + return vs[0].([]*PrivateZoneService)[vs[1].(int)] + }).(PrivateZoneServiceOutput) +} + +type PrivateZoneServiceMapOutput struct{ *pulumi.OutputState } + +func (PrivateZoneServiceMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*PrivateZoneService)(nil)).Elem() +} + +func (o PrivateZoneServiceMapOutput) ToPrivateZoneServiceMapOutput() PrivateZoneServiceMapOutput { + return o +} + +func (o PrivateZoneServiceMapOutput) ToPrivateZoneServiceMapOutputWithContext(ctx context.Context) PrivateZoneServiceMapOutput { + return o +} + +func (o PrivateZoneServiceMapOutput) MapIndex(k pulumi.StringInput) PrivateZoneServiceOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *PrivateZoneService { + return vs[0].(map[string]*PrivateZoneService)[vs[1].(string)] + }).(PrivateZoneServiceOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PrivateZoneServiceInput)(nil)).Elem(), &PrivateZoneService{}) + pulumi.RegisterInputType(reflect.TypeOf((*PrivateZoneServiceArrayInput)(nil)).Elem(), PrivateZoneServiceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PrivateZoneServiceMapInput)(nil)).Elem(), PrivateZoneServiceMap{}) + pulumi.RegisterOutputType(PrivateZoneServiceOutput{}) + pulumi.RegisterOutputType(PrivateZoneServiceArrayOutput{}) + pulumi.RegisterOutputType(PrivateZoneServiceMapOutput{}) +} diff --git a/sdk/go/tencentcloud/tcr/tagRetentionRule.go b/sdk/go/tencentcloud/tcr/tagRetentionRule.go index cec161f8b..50170bf8f 100644 --- a/sdk/go/tencentcloud/tcr/tagRetentionRule.go +++ b/sdk/go/tencentcloud/tcr/tagRetentionRule.go @@ -16,7 +16,7 @@ import ( // // ## Example Usage // -// ### Create a tcr tag retention rule instance +// ### Create and enable a tcr tag retention rule instance // // // ```go @@ -64,7 +64,6 @@ import ( // Value: pulumi.Int(2), // }, // CronSetting: pulumi.String("daily"), -// Disabled: pulumi.Bool(true), // }) // if err != nil { // return err diff --git a/sdk/go/tencentcloud/tcss/imageRegistry.go b/sdk/go/tencentcloud/tcss/imageRegistry.go new file mode 100644 index 000000000..0940f4fde --- /dev/null +++ b/sdk/go/tencentcloud/tcss/imageRegistry.go @@ -0,0 +1,455 @@ +// 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 tcss + +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 tcss image registry +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Tcss" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Tcss.NewImageRegistry(ctx, "example", &Tcss.ImageRegistryArgs{ +// ConnDetectConfigs: tcss.ImageRegistryConnDetectConfigArray{ +// &tcss.ImageRegistryConnDetectConfigArgs{ +// Quuid: pulumi.String("backend"), +// Uuid: pulumi.String("backend"), +// }, +// }, +// NeedScan: pulumi.Bool(true), +// NetType: pulumi.String("public"), +// Password: pulumi.String("Password@demo"), +// RegistryRegion: pulumi.String("default"), +// RegistryType: pulumi.String("harbor"), +// RegistryVersion: pulumi.String("V1"), +// Url: pulumi.String("https://example.com"), +// Username: pulumi.String("root"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +type ImageRegistry struct { + pulumi.CustomResourceState + + // Connectivity detection configuration. + ConnDetectConfigs ImageRegistryConnDetectConfigArrayOutput `pulumi:"connDetectConfigs"` + // Valid values: `0` (secure mode with certificate verification, which is the default value); `1` (unsecure mode that skips certificate verification). + Insecure pulumi.IntPtrOutput `pulumi:"insecure"` + // Repository name. + Name pulumi.StringOutput `pulumi:"name"` + // Whether to scan the latest image. + NeedScan pulumi.BoolPtrOutput `pulumi:"needScan"` + // Network type, which can be `public` (public network). + NetType pulumi.StringOutput `pulumi:"netType"` + // Password. + Password pulumi.StringOutput `pulumi:"password"` + // Region. Default value: `default`. + RegistryRegion pulumi.StringPtrOutput `pulumi:"registryRegion"` + // Repository type, which can be `harbor`. Valid values: harbor, quay, jfrog, aws, azure, other-tcr. + RegistryType pulumi.StringOutput `pulumi:"registryType"` + // Repository version. + RegistryVersion pulumi.StringPtrOutput `pulumi:"registryVersion"` + // Speed limit. + SpeedLimit pulumi.IntPtrOutput `pulumi:"speedLimit"` + // Sync status. + SyncStatus pulumi.StringOutput `pulumi:"syncStatus"` + // Repository URL. + Url pulumi.StringOutput `pulumi:"url"` + // Username. + Username pulumi.StringOutput `pulumi:"username"` +} + +// NewImageRegistry registers a new resource with the given unique name, arguments, and options. +func NewImageRegistry(ctx *pulumi.Context, + name string, args *ImageRegistryArgs, opts ...pulumi.ResourceOption) (*ImageRegistry, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.NetType == nil { + return nil, errors.New("invalid value for required argument 'NetType'") + } + if args.Password == nil { + return nil, errors.New("invalid value for required argument 'Password'") + } + if args.RegistryType == nil { + return nil, errors.New("invalid value for required argument 'RegistryType'") + } + if args.Url == nil { + return nil, errors.New("invalid value for required argument 'Url'") + } + 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 ImageRegistry + err := ctx.RegisterResource("tencentcloud:Tcss/imageRegistry:ImageRegistry", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetImageRegistry gets an existing ImageRegistry 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 GetImageRegistry(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ImageRegistryState, opts ...pulumi.ResourceOption) (*ImageRegistry, error) { + var resource ImageRegistry + err := ctx.ReadResource("tencentcloud:Tcss/imageRegistry:ImageRegistry", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ImageRegistry resources. +type imageRegistryState struct { + // Connectivity detection configuration. + ConnDetectConfigs []ImageRegistryConnDetectConfig `pulumi:"connDetectConfigs"` + // Valid values: `0` (secure mode with certificate verification, which is the default value); `1` (unsecure mode that skips certificate verification). + Insecure *int `pulumi:"insecure"` + // Repository name. + Name *string `pulumi:"name"` + // Whether to scan the latest image. + NeedScan *bool `pulumi:"needScan"` + // Network type, which can be `public` (public network). + NetType *string `pulumi:"netType"` + // Password. + Password *string `pulumi:"password"` + // Region. Default value: `default`. + RegistryRegion *string `pulumi:"registryRegion"` + // Repository type, which can be `harbor`. Valid values: harbor, quay, jfrog, aws, azure, other-tcr. + RegistryType *string `pulumi:"registryType"` + // Repository version. + RegistryVersion *string `pulumi:"registryVersion"` + // Speed limit. + SpeedLimit *int `pulumi:"speedLimit"` + // Sync status. + SyncStatus *string `pulumi:"syncStatus"` + // Repository URL. + Url *string `pulumi:"url"` + // Username. + Username *string `pulumi:"username"` +} + +type ImageRegistryState struct { + // Connectivity detection configuration. + ConnDetectConfigs ImageRegistryConnDetectConfigArrayInput + // Valid values: `0` (secure mode with certificate verification, which is the default value); `1` (unsecure mode that skips certificate verification). + Insecure pulumi.IntPtrInput + // Repository name. + Name pulumi.StringPtrInput + // Whether to scan the latest image. + NeedScan pulumi.BoolPtrInput + // Network type, which can be `public` (public network). + NetType pulumi.StringPtrInput + // Password. + Password pulumi.StringPtrInput + // Region. Default value: `default`. + RegistryRegion pulumi.StringPtrInput + // Repository type, which can be `harbor`. Valid values: harbor, quay, jfrog, aws, azure, other-tcr. + RegistryType pulumi.StringPtrInput + // Repository version. + RegistryVersion pulumi.StringPtrInput + // Speed limit. + SpeedLimit pulumi.IntPtrInput + // Sync status. + SyncStatus pulumi.StringPtrInput + // Repository URL. + Url pulumi.StringPtrInput + // Username. + Username pulumi.StringPtrInput +} + +func (ImageRegistryState) ElementType() reflect.Type { + return reflect.TypeOf((*imageRegistryState)(nil)).Elem() +} + +type imageRegistryArgs struct { + // Connectivity detection configuration. + ConnDetectConfigs []ImageRegistryConnDetectConfig `pulumi:"connDetectConfigs"` + // Valid values: `0` (secure mode with certificate verification, which is the default value); `1` (unsecure mode that skips certificate verification). + Insecure *int `pulumi:"insecure"` + // Repository name. + Name *string `pulumi:"name"` + // Whether to scan the latest image. + NeedScan *bool `pulumi:"needScan"` + // Network type, which can be `public` (public network). + NetType string `pulumi:"netType"` + // Password. + Password string `pulumi:"password"` + // Region. Default value: `default`. + RegistryRegion *string `pulumi:"registryRegion"` + // Repository type, which can be `harbor`. Valid values: harbor, quay, jfrog, aws, azure, other-tcr. + RegistryType string `pulumi:"registryType"` + // Repository version. + RegistryVersion *string `pulumi:"registryVersion"` + // Speed limit. + SpeedLimit *int `pulumi:"speedLimit"` + // Repository URL. + Url string `pulumi:"url"` + // Username. + Username string `pulumi:"username"` +} + +// The set of arguments for constructing a ImageRegistry resource. +type ImageRegistryArgs struct { + // Connectivity detection configuration. + ConnDetectConfigs ImageRegistryConnDetectConfigArrayInput + // Valid values: `0` (secure mode with certificate verification, which is the default value); `1` (unsecure mode that skips certificate verification). + Insecure pulumi.IntPtrInput + // Repository name. + Name pulumi.StringPtrInput + // Whether to scan the latest image. + NeedScan pulumi.BoolPtrInput + // Network type, which can be `public` (public network). + NetType pulumi.StringInput + // Password. + Password pulumi.StringInput + // Region. Default value: `default`. + RegistryRegion pulumi.StringPtrInput + // Repository type, which can be `harbor`. Valid values: harbor, quay, jfrog, aws, azure, other-tcr. + RegistryType pulumi.StringInput + // Repository version. + RegistryVersion pulumi.StringPtrInput + // Speed limit. + SpeedLimit pulumi.IntPtrInput + // Repository URL. + Url pulumi.StringInput + // Username. + Username pulumi.StringInput +} + +func (ImageRegistryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*imageRegistryArgs)(nil)).Elem() +} + +type ImageRegistryInput interface { + pulumi.Input + + ToImageRegistryOutput() ImageRegistryOutput + ToImageRegistryOutputWithContext(ctx context.Context) ImageRegistryOutput +} + +func (*ImageRegistry) ElementType() reflect.Type { + return reflect.TypeOf((**ImageRegistry)(nil)).Elem() +} + +func (i *ImageRegistry) ToImageRegistryOutput() ImageRegistryOutput { + return i.ToImageRegistryOutputWithContext(context.Background()) +} + +func (i *ImageRegistry) ToImageRegistryOutputWithContext(ctx context.Context) ImageRegistryOutput { + return pulumi.ToOutputWithContext(ctx, i).(ImageRegistryOutput) +} + +// ImageRegistryArrayInput is an input type that accepts ImageRegistryArray and ImageRegistryArrayOutput values. +// You can construct a concrete instance of `ImageRegistryArrayInput` via: +// +// ImageRegistryArray{ ImageRegistryArgs{...} } +type ImageRegistryArrayInput interface { + pulumi.Input + + ToImageRegistryArrayOutput() ImageRegistryArrayOutput + ToImageRegistryArrayOutputWithContext(context.Context) ImageRegistryArrayOutput +} + +type ImageRegistryArray []ImageRegistryInput + +func (ImageRegistryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ImageRegistry)(nil)).Elem() +} + +func (i ImageRegistryArray) ToImageRegistryArrayOutput() ImageRegistryArrayOutput { + return i.ToImageRegistryArrayOutputWithContext(context.Background()) +} + +func (i ImageRegistryArray) ToImageRegistryArrayOutputWithContext(ctx context.Context) ImageRegistryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ImageRegistryArrayOutput) +} + +// ImageRegistryMapInput is an input type that accepts ImageRegistryMap and ImageRegistryMapOutput values. +// You can construct a concrete instance of `ImageRegistryMapInput` via: +// +// ImageRegistryMap{ "key": ImageRegistryArgs{...} } +type ImageRegistryMapInput interface { + pulumi.Input + + ToImageRegistryMapOutput() ImageRegistryMapOutput + ToImageRegistryMapOutputWithContext(context.Context) ImageRegistryMapOutput +} + +type ImageRegistryMap map[string]ImageRegistryInput + +func (ImageRegistryMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ImageRegistry)(nil)).Elem() +} + +func (i ImageRegistryMap) ToImageRegistryMapOutput() ImageRegistryMapOutput { + return i.ToImageRegistryMapOutputWithContext(context.Background()) +} + +func (i ImageRegistryMap) ToImageRegistryMapOutputWithContext(ctx context.Context) ImageRegistryMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ImageRegistryMapOutput) +} + +type ImageRegistryOutput struct{ *pulumi.OutputState } + +func (ImageRegistryOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ImageRegistry)(nil)).Elem() +} + +func (o ImageRegistryOutput) ToImageRegistryOutput() ImageRegistryOutput { + return o +} + +func (o ImageRegistryOutput) ToImageRegistryOutputWithContext(ctx context.Context) ImageRegistryOutput { + return o +} + +// Connectivity detection configuration. +func (o ImageRegistryOutput) ConnDetectConfigs() ImageRegistryConnDetectConfigArrayOutput { + return o.ApplyT(func(v *ImageRegistry) ImageRegistryConnDetectConfigArrayOutput { return v.ConnDetectConfigs }).(ImageRegistryConnDetectConfigArrayOutput) +} + +// Valid values: `0` (secure mode with certificate verification, which is the default value); `1` (unsecure mode that skips certificate verification). +func (o ImageRegistryOutput) Insecure() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ImageRegistry) pulumi.IntPtrOutput { return v.Insecure }).(pulumi.IntPtrOutput) +} + +// Repository name. +func (o ImageRegistryOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *ImageRegistry) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Whether to scan the latest image. +func (o ImageRegistryOutput) NeedScan() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ImageRegistry) pulumi.BoolPtrOutput { return v.NeedScan }).(pulumi.BoolPtrOutput) +} + +// Network type, which can be `public` (public network). +func (o ImageRegistryOutput) NetType() pulumi.StringOutput { + return o.ApplyT(func(v *ImageRegistry) pulumi.StringOutput { return v.NetType }).(pulumi.StringOutput) +} + +// Password. +func (o ImageRegistryOutput) Password() pulumi.StringOutput { + return o.ApplyT(func(v *ImageRegistry) pulumi.StringOutput { return v.Password }).(pulumi.StringOutput) +} + +// Region. Default value: `default`. +func (o ImageRegistryOutput) RegistryRegion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ImageRegistry) pulumi.StringPtrOutput { return v.RegistryRegion }).(pulumi.StringPtrOutput) +} + +// Repository type, which can be `harbor`. Valid values: harbor, quay, jfrog, aws, azure, other-tcr. +func (o ImageRegistryOutput) RegistryType() pulumi.StringOutput { + return o.ApplyT(func(v *ImageRegistry) pulumi.StringOutput { return v.RegistryType }).(pulumi.StringOutput) +} + +// Repository version. +func (o ImageRegistryOutput) RegistryVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ImageRegistry) pulumi.StringPtrOutput { return v.RegistryVersion }).(pulumi.StringPtrOutput) +} + +// Speed limit. +func (o ImageRegistryOutput) SpeedLimit() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ImageRegistry) pulumi.IntPtrOutput { return v.SpeedLimit }).(pulumi.IntPtrOutput) +} + +// Sync status. +func (o ImageRegistryOutput) SyncStatus() pulumi.StringOutput { + return o.ApplyT(func(v *ImageRegistry) pulumi.StringOutput { return v.SyncStatus }).(pulumi.StringOutput) +} + +// Repository URL. +func (o ImageRegistryOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v *ImageRegistry) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) +} + +// Username. +func (o ImageRegistryOutput) Username() pulumi.StringOutput { + return o.ApplyT(func(v *ImageRegistry) pulumi.StringOutput { return v.Username }).(pulumi.StringOutput) +} + +type ImageRegistryArrayOutput struct{ *pulumi.OutputState } + +func (ImageRegistryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ImageRegistry)(nil)).Elem() +} + +func (o ImageRegistryArrayOutput) ToImageRegistryArrayOutput() ImageRegistryArrayOutput { + return o +} + +func (o ImageRegistryArrayOutput) ToImageRegistryArrayOutputWithContext(ctx context.Context) ImageRegistryArrayOutput { + return o +} + +func (o ImageRegistryArrayOutput) Index(i pulumi.IntInput) ImageRegistryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ImageRegistry { + return vs[0].([]*ImageRegistry)[vs[1].(int)] + }).(ImageRegistryOutput) +} + +type ImageRegistryMapOutput struct{ *pulumi.OutputState } + +func (ImageRegistryMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ImageRegistry)(nil)).Elem() +} + +func (o ImageRegistryMapOutput) ToImageRegistryMapOutput() ImageRegistryMapOutput { + return o +} + +func (o ImageRegistryMapOutput) ToImageRegistryMapOutputWithContext(ctx context.Context) ImageRegistryMapOutput { + return o +} + +func (o ImageRegistryMapOutput) MapIndex(k pulumi.StringInput) ImageRegistryOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ImageRegistry { + return vs[0].(map[string]*ImageRegistry)[vs[1].(string)] + }).(ImageRegistryOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ImageRegistryInput)(nil)).Elem(), &ImageRegistry{}) + pulumi.RegisterInputType(reflect.TypeOf((*ImageRegistryArrayInput)(nil)).Elem(), ImageRegistryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ImageRegistryMapInput)(nil)).Elem(), ImageRegistryMap{}) + pulumi.RegisterOutputType(ImageRegistryOutput{}) + pulumi.RegisterOutputType(ImageRegistryArrayOutput{}) + pulumi.RegisterOutputType(ImageRegistryMapOutput{}) +} diff --git a/sdk/go/tencentcloud/tcss/init.go b/sdk/go/tencentcloud/tcss/init.go new file mode 100644 index 000000000..a12cdeb41 --- /dev/null +++ b/sdk/go/tencentcloud/tcss/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 tcss + +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:Tcss/imageRegistry:ImageRegistry": + r = &ImageRegistry{} + 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", + "Tcss/imageRegistry", + &module{version}, + ) +} diff --git a/sdk/go/tencentcloud/tcss/pulumiTypes.go b/sdk/go/tencentcloud/tcss/pulumiTypes.go new file mode 100644 index 000000000..e316101da --- /dev/null +++ b/sdk/go/tencentcloud/tcss/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 tcss + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" +) + +var _ = internal.GetEnvOrDefault + +type ImageRegistryConnDetectConfig struct { + // Host Quuid. + Quuid *string `pulumi:"quuid"` + // Host uuid. + Uuid *string `pulumi:"uuid"` +} + +// ImageRegistryConnDetectConfigInput is an input type that accepts ImageRegistryConnDetectConfigArgs and ImageRegistryConnDetectConfigOutput values. +// You can construct a concrete instance of `ImageRegistryConnDetectConfigInput` via: +// +// ImageRegistryConnDetectConfigArgs{...} +type ImageRegistryConnDetectConfigInput interface { + pulumi.Input + + ToImageRegistryConnDetectConfigOutput() ImageRegistryConnDetectConfigOutput + ToImageRegistryConnDetectConfigOutputWithContext(context.Context) ImageRegistryConnDetectConfigOutput +} + +type ImageRegistryConnDetectConfigArgs struct { + // Host Quuid. + Quuid pulumi.StringPtrInput `pulumi:"quuid"` + // Host uuid. + Uuid pulumi.StringPtrInput `pulumi:"uuid"` +} + +func (ImageRegistryConnDetectConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ImageRegistryConnDetectConfig)(nil)).Elem() +} + +func (i ImageRegistryConnDetectConfigArgs) ToImageRegistryConnDetectConfigOutput() ImageRegistryConnDetectConfigOutput { + return i.ToImageRegistryConnDetectConfigOutputWithContext(context.Background()) +} + +func (i ImageRegistryConnDetectConfigArgs) ToImageRegistryConnDetectConfigOutputWithContext(ctx context.Context) ImageRegistryConnDetectConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(ImageRegistryConnDetectConfigOutput) +} + +// ImageRegistryConnDetectConfigArrayInput is an input type that accepts ImageRegistryConnDetectConfigArray and ImageRegistryConnDetectConfigArrayOutput values. +// You can construct a concrete instance of `ImageRegistryConnDetectConfigArrayInput` via: +// +// ImageRegistryConnDetectConfigArray{ ImageRegistryConnDetectConfigArgs{...} } +type ImageRegistryConnDetectConfigArrayInput interface { + pulumi.Input + + ToImageRegistryConnDetectConfigArrayOutput() ImageRegistryConnDetectConfigArrayOutput + ToImageRegistryConnDetectConfigArrayOutputWithContext(context.Context) ImageRegistryConnDetectConfigArrayOutput +} + +type ImageRegistryConnDetectConfigArray []ImageRegistryConnDetectConfigInput + +func (ImageRegistryConnDetectConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ImageRegistryConnDetectConfig)(nil)).Elem() +} + +func (i ImageRegistryConnDetectConfigArray) ToImageRegistryConnDetectConfigArrayOutput() ImageRegistryConnDetectConfigArrayOutput { + return i.ToImageRegistryConnDetectConfigArrayOutputWithContext(context.Background()) +} + +func (i ImageRegistryConnDetectConfigArray) ToImageRegistryConnDetectConfigArrayOutputWithContext(ctx context.Context) ImageRegistryConnDetectConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ImageRegistryConnDetectConfigArrayOutput) +} + +type ImageRegistryConnDetectConfigOutput struct{ *pulumi.OutputState } + +func (ImageRegistryConnDetectConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ImageRegistryConnDetectConfig)(nil)).Elem() +} + +func (o ImageRegistryConnDetectConfigOutput) ToImageRegistryConnDetectConfigOutput() ImageRegistryConnDetectConfigOutput { + return o +} + +func (o ImageRegistryConnDetectConfigOutput) ToImageRegistryConnDetectConfigOutputWithContext(ctx context.Context) ImageRegistryConnDetectConfigOutput { + return o +} + +// Host Quuid. +func (o ImageRegistryConnDetectConfigOutput) Quuid() pulumi.StringPtrOutput { + return o.ApplyT(func(v ImageRegistryConnDetectConfig) *string { return v.Quuid }).(pulumi.StringPtrOutput) +} + +// Host uuid. +func (o ImageRegistryConnDetectConfigOutput) Uuid() pulumi.StringPtrOutput { + return o.ApplyT(func(v ImageRegistryConnDetectConfig) *string { return v.Uuid }).(pulumi.StringPtrOutput) +} + +type ImageRegistryConnDetectConfigArrayOutput struct{ *pulumi.OutputState } + +func (ImageRegistryConnDetectConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ImageRegistryConnDetectConfig)(nil)).Elem() +} + +func (o ImageRegistryConnDetectConfigArrayOutput) ToImageRegistryConnDetectConfigArrayOutput() ImageRegistryConnDetectConfigArrayOutput { + return o +} + +func (o ImageRegistryConnDetectConfigArrayOutput) ToImageRegistryConnDetectConfigArrayOutputWithContext(ctx context.Context) ImageRegistryConnDetectConfigArrayOutput { + return o +} + +func (o ImageRegistryConnDetectConfigArrayOutput) Index(i pulumi.IntInput) ImageRegistryConnDetectConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ImageRegistryConnDetectConfig { + return vs[0].([]ImageRegistryConnDetectConfig)[vs[1].(int)] + }).(ImageRegistryConnDetectConfigOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ImageRegistryConnDetectConfigInput)(nil)).Elem(), ImageRegistryConnDetectConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ImageRegistryConnDetectConfigArrayInput)(nil)).Elem(), ImageRegistryConnDetectConfigArray{}) + pulumi.RegisterOutputType(ImageRegistryConnDetectConfigOutput{}) + pulumi.RegisterOutputType(ImageRegistryConnDetectConfigArrayOutput{}) +} 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/teo/function.go b/sdk/go/tencentcloud/teo/function.go new file mode 100644 index 000000000..3fb9e8bb1 --- /dev/null +++ b/sdk/go/tencentcloud/teo/function.go @@ -0,0 +1,355 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package teo + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" +) + +// Provides a resource to create a teo teoFunction +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Teo" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Teo.NewFunction(ctx, "teoFunction", &Teo.FunctionArgs{ +// Content: pulumi.String(` addEventListener('fetch', e => { +// const response = new Response('Hello World!!'); +// e.respondWith(response); +// }); +// +// `), +// +// Remark: pulumi.String("test"), +// ZoneId: pulumi.String("zone-2qtuhspy7cr6"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// teo teo_function can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Teo/function:Function teo_function zone_id#function_id +// ``` +type Function struct { + pulumi.CustomResourceState + + // Function content, currently only supports JavaScript code, with a maximum size of 5MB. + Content pulumi.StringOutput `pulumi:"content"` + // Creation time. The time is in Coordinated Universal Time (UTC) and follows the date and time format specified by the ISO 8601 standard. + CreateTime pulumi.StringOutput `pulumi:"createTime"` + // The default domain name for the function. + Domain pulumi.StringOutput `pulumi:"domain"` + // ID of the Function. + FunctionId pulumi.StringOutput `pulumi:"functionId"` + // Function name. It can only contain lowercase letters, numbers, hyphens, must start and end with a letter or number, and can have a maximum length of 30 characters. + Name pulumi.StringOutput `pulumi:"name"` + // Function description, maximum support of 60 characters. + Remark pulumi.StringPtrOutput `pulumi:"remark"` + // Modification time. The time is in Coordinated Universal Time (UTC) and follows the date and time format specified by the ISO 8601 standard. + UpdateTime pulumi.StringOutput `pulumi:"updateTime"` + // ID of the site. + ZoneId pulumi.StringOutput `pulumi:"zoneId"` +} + +// NewFunction registers a new resource with the given unique name, arguments, and options. +func NewFunction(ctx *pulumi.Context, + name string, args *FunctionArgs, opts ...pulumi.ResourceOption) (*Function, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Content == nil { + return nil, errors.New("invalid value for required argument 'Content'") + } + if args.ZoneId == nil { + return nil, errors.New("invalid value for required argument 'ZoneId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource Function + err := ctx.RegisterResource("tencentcloud:Teo/function:Function", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetFunction gets an existing Function 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 GetFunction(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *FunctionState, opts ...pulumi.ResourceOption) (*Function, error) { + var resource Function + err := ctx.ReadResource("tencentcloud:Teo/function:Function", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Function resources. +type functionState struct { + // Function content, currently only supports JavaScript code, with a maximum size of 5MB. + Content *string `pulumi:"content"` + // Creation time. The time is in Coordinated Universal Time (UTC) and follows the date and time format specified by the ISO 8601 standard. + CreateTime *string `pulumi:"createTime"` + // The default domain name for the function. + Domain *string `pulumi:"domain"` + // ID of the Function. + FunctionId *string `pulumi:"functionId"` + // Function name. It can only contain lowercase letters, numbers, hyphens, must start and end with a letter or number, and can have a maximum length of 30 characters. + Name *string `pulumi:"name"` + // Function description, maximum support of 60 characters. + Remark *string `pulumi:"remark"` + // Modification time. The time is in Coordinated Universal Time (UTC) and follows the date and time format specified by the ISO 8601 standard. + UpdateTime *string `pulumi:"updateTime"` + // ID of the site. + ZoneId *string `pulumi:"zoneId"` +} + +type FunctionState struct { + // Function content, currently only supports JavaScript code, with a maximum size of 5MB. + Content pulumi.StringPtrInput + // Creation time. The time is in Coordinated Universal Time (UTC) and follows the date and time format specified by the ISO 8601 standard. + CreateTime pulumi.StringPtrInput + // The default domain name for the function. + Domain pulumi.StringPtrInput + // ID of the Function. + FunctionId pulumi.StringPtrInput + // Function name. It can only contain lowercase letters, numbers, hyphens, must start and end with a letter or number, and can have a maximum length of 30 characters. + Name pulumi.StringPtrInput + // Function description, maximum support of 60 characters. + Remark pulumi.StringPtrInput + // Modification time. The time is in Coordinated Universal Time (UTC) and follows the date and time format specified by the ISO 8601 standard. + UpdateTime pulumi.StringPtrInput + // ID of the site. + ZoneId pulumi.StringPtrInput +} + +func (FunctionState) ElementType() reflect.Type { + return reflect.TypeOf((*functionState)(nil)).Elem() +} + +type functionArgs struct { + // Function content, currently only supports JavaScript code, with a maximum size of 5MB. + Content string `pulumi:"content"` + // Function name. It can only contain lowercase letters, numbers, hyphens, must start and end with a letter or number, and can have a maximum length of 30 characters. + Name *string `pulumi:"name"` + // Function description, maximum support of 60 characters. + Remark *string `pulumi:"remark"` + // ID of the site. + ZoneId string `pulumi:"zoneId"` +} + +// The set of arguments for constructing a Function resource. +type FunctionArgs struct { + // Function content, currently only supports JavaScript code, with a maximum size of 5MB. + Content pulumi.StringInput + // Function name. It can only contain lowercase letters, numbers, hyphens, must start and end with a letter or number, and can have a maximum length of 30 characters. + Name pulumi.StringPtrInput + // Function description, maximum support of 60 characters. + Remark pulumi.StringPtrInput + // ID of the site. + ZoneId pulumi.StringInput +} + +func (FunctionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*functionArgs)(nil)).Elem() +} + +type FunctionInput interface { + pulumi.Input + + ToFunctionOutput() FunctionOutput + ToFunctionOutputWithContext(ctx context.Context) FunctionOutput +} + +func (*Function) ElementType() reflect.Type { + return reflect.TypeOf((**Function)(nil)).Elem() +} + +func (i *Function) ToFunctionOutput() FunctionOutput { + return i.ToFunctionOutputWithContext(context.Background()) +} + +func (i *Function) ToFunctionOutputWithContext(ctx context.Context) FunctionOutput { + return pulumi.ToOutputWithContext(ctx, i).(FunctionOutput) +} + +// FunctionArrayInput is an input type that accepts FunctionArray and FunctionArrayOutput values. +// You can construct a concrete instance of `FunctionArrayInput` via: +// +// FunctionArray{ FunctionArgs{...} } +type FunctionArrayInput interface { + pulumi.Input + + ToFunctionArrayOutput() FunctionArrayOutput + ToFunctionArrayOutputWithContext(context.Context) FunctionArrayOutput +} + +type FunctionArray []FunctionInput + +func (FunctionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Function)(nil)).Elem() +} + +func (i FunctionArray) ToFunctionArrayOutput() FunctionArrayOutput { + return i.ToFunctionArrayOutputWithContext(context.Background()) +} + +func (i FunctionArray) ToFunctionArrayOutputWithContext(ctx context.Context) FunctionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(FunctionArrayOutput) +} + +// FunctionMapInput is an input type that accepts FunctionMap and FunctionMapOutput values. +// You can construct a concrete instance of `FunctionMapInput` via: +// +// FunctionMap{ "key": FunctionArgs{...} } +type FunctionMapInput interface { + pulumi.Input + + ToFunctionMapOutput() FunctionMapOutput + ToFunctionMapOutputWithContext(context.Context) FunctionMapOutput +} + +type FunctionMap map[string]FunctionInput + +func (FunctionMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Function)(nil)).Elem() +} + +func (i FunctionMap) ToFunctionMapOutput() FunctionMapOutput { + return i.ToFunctionMapOutputWithContext(context.Background()) +} + +func (i FunctionMap) ToFunctionMapOutputWithContext(ctx context.Context) FunctionMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(FunctionMapOutput) +} + +type FunctionOutput struct{ *pulumi.OutputState } + +func (FunctionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Function)(nil)).Elem() +} + +func (o FunctionOutput) ToFunctionOutput() FunctionOutput { + return o +} + +func (o FunctionOutput) ToFunctionOutputWithContext(ctx context.Context) FunctionOutput { + return o +} + +// Function content, currently only supports JavaScript code, with a maximum size of 5MB. +func (o FunctionOutput) Content() pulumi.StringOutput { + return o.ApplyT(func(v *Function) pulumi.StringOutput { return v.Content }).(pulumi.StringOutput) +} + +// Creation time. The time is in Coordinated Universal Time (UTC) and follows the date and time format specified by the ISO 8601 standard. +func (o FunctionOutput) CreateTime() pulumi.StringOutput { + return o.ApplyT(func(v *Function) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput) +} + +// The default domain name for the function. +func (o FunctionOutput) Domain() pulumi.StringOutput { + return o.ApplyT(func(v *Function) pulumi.StringOutput { return v.Domain }).(pulumi.StringOutput) +} + +// ID of the Function. +func (o FunctionOutput) FunctionId() pulumi.StringOutput { + return o.ApplyT(func(v *Function) pulumi.StringOutput { return v.FunctionId }).(pulumi.StringOutput) +} + +// Function name. It can only contain lowercase letters, numbers, hyphens, must start and end with a letter or number, and can have a maximum length of 30 characters. +func (o FunctionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *Function) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Function description, maximum support of 60 characters. +func (o FunctionOutput) Remark() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Function) pulumi.StringPtrOutput { return v.Remark }).(pulumi.StringPtrOutput) +} + +// Modification time. The time is in Coordinated Universal Time (UTC) and follows the date and time format specified by the ISO 8601 standard. +func (o FunctionOutput) UpdateTime() pulumi.StringOutput { + return o.ApplyT(func(v *Function) pulumi.StringOutput { return v.UpdateTime }).(pulumi.StringOutput) +} + +// ID of the site. +func (o FunctionOutput) ZoneId() pulumi.StringOutput { + return o.ApplyT(func(v *Function) pulumi.StringOutput { return v.ZoneId }).(pulumi.StringOutput) +} + +type FunctionArrayOutput struct{ *pulumi.OutputState } + +func (FunctionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Function)(nil)).Elem() +} + +func (o FunctionArrayOutput) ToFunctionArrayOutput() FunctionArrayOutput { + return o +} + +func (o FunctionArrayOutput) ToFunctionArrayOutputWithContext(ctx context.Context) FunctionArrayOutput { + return o +} + +func (o FunctionArrayOutput) Index(i pulumi.IntInput) FunctionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Function { + return vs[0].([]*Function)[vs[1].(int)] + }).(FunctionOutput) +} + +type FunctionMapOutput struct{ *pulumi.OutputState } + +func (FunctionMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Function)(nil)).Elem() +} + +func (o FunctionMapOutput) ToFunctionMapOutput() FunctionMapOutput { + return o +} + +func (o FunctionMapOutput) ToFunctionMapOutputWithContext(ctx context.Context) FunctionMapOutput { + return o +} + +func (o FunctionMapOutput) MapIndex(k pulumi.StringInput) FunctionOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Function { + return vs[0].(map[string]*Function)[vs[1].(string)] + }).(FunctionOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*FunctionInput)(nil)).Elem(), &Function{}) + pulumi.RegisterInputType(reflect.TypeOf((*FunctionArrayInput)(nil)).Elem(), FunctionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*FunctionMapInput)(nil)).Elem(), FunctionMap{}) + pulumi.RegisterOutputType(FunctionOutput{}) + pulumi.RegisterOutputType(FunctionArrayOutput{}) + pulumi.RegisterOutputType(FunctionMapOutput{}) +} diff --git a/sdk/go/tencentcloud/teo/functionRule.go b/sdk/go/tencentcloud/teo/functionRule.go new file mode 100644 index 000000000..a4c63d1e9 --- /dev/null +++ b/sdk/go/tencentcloud/teo/functionRule.go @@ -0,0 +1,387 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package teo + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" +) + +// Provides a resource to create a teo teoFunctionRule +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Teo" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Teo.NewFunctionRule(ctx, "teoFunctionRule", &Teo.FunctionRuleArgs{ +// FunctionId: pulumi.String("ef-txx7fnua"), +// Remark: pulumi.String("aaa"), +// ZoneId: pulumi.String("zone-2qtuhspy7cr6"), +// FunctionRuleConditions: teo.FunctionRuleFunctionRuleConditionArray{ +// &teo.FunctionRuleFunctionRuleConditionArgs{ +// RuleConditions: teo.FunctionRuleFunctionRuleConditionRuleConditionArray{ +// &teo.FunctionRuleFunctionRuleConditionRuleConditionArgs{ +// IgnoreCase: pulumi.Bool(false), +// Name: nil, +// Operator: pulumi.String("equal"), +// Target: pulumi.String("host"), +// Values: pulumi.StringArray{ +// pulumi.String("aaa.makn.cn"), +// }, +// }, +// &teo.FunctionRuleFunctionRuleConditionRuleConditionArgs{ +// IgnoreCase: pulumi.Bool(false), +// Name: nil, +// Operator: pulumi.String("equal"), +// Target: pulumi.String("extension"), +// Values: pulumi.StringArray{ +// pulumi.String(".txt"), +// }, +// }, +// }, +// }, +// &teo.FunctionRuleFunctionRuleConditionArgs{ +// RuleConditions: teo.FunctionRuleFunctionRuleConditionRuleConditionArray{ +// &teo.FunctionRuleFunctionRuleConditionRuleConditionArgs{ +// IgnoreCase: pulumi.Bool(false), +// Name: nil, +// Operator: pulumi.String("notequal"), +// Target: pulumi.String("host"), +// Values: pulumi.StringArray{ +// pulumi.String("aaa.makn.cn"), +// }, +// }, +// &teo.FunctionRuleFunctionRuleConditionRuleConditionArgs{ +// IgnoreCase: pulumi.Bool(false), +// Name: nil, +// Operator: pulumi.String("equal"), +// Target: pulumi.String("extension"), +// Values: pulumi.StringArray{ +// pulumi.String(".png"), +// }, +// }, +// }, +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// teo teo_function_rule can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Teo/functionRule:FunctionRule teo_function_rule zone_id#function_id#rule_id +// ``` +type FunctionRule struct { + pulumi.CustomResourceState + + // ID of the Function. + FunctionId pulumi.StringOutput `pulumi:"functionId"` + // The name of the function. + FunctionName pulumi.StringOutput `pulumi:"functionName"` + // The list of rule conditions, where the conditions are connected by an "OR" relationship. + FunctionRuleConditions FunctionRuleFunctionRuleConditionArrayOutput `pulumi:"functionRuleConditions"` + // The priority of the function trigger rule. A higher numerical value indicates a higher priority. + Priority pulumi.IntOutput `pulumi:"priority"` + // Rule description, maximum support of 60 characters. + Remark pulumi.StringPtrOutput `pulumi:"remark"` + // ID of the Function Rule. + RuleId pulumi.StringOutput `pulumi:"ruleId"` + // ID of the site. + ZoneId pulumi.StringOutput `pulumi:"zoneId"` +} + +// NewFunctionRule registers a new resource with the given unique name, arguments, and options. +func NewFunctionRule(ctx *pulumi.Context, + name string, args *FunctionRuleArgs, opts ...pulumi.ResourceOption) (*FunctionRule, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.FunctionId == nil { + return nil, errors.New("invalid value for required argument 'FunctionId'") + } + if args.FunctionRuleConditions == nil { + return nil, errors.New("invalid value for required argument 'FunctionRuleConditions'") + } + if args.ZoneId == nil { + return nil, errors.New("invalid value for required argument 'ZoneId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource FunctionRule + err := ctx.RegisterResource("tencentcloud:Teo/functionRule:FunctionRule", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetFunctionRule gets an existing FunctionRule 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 GetFunctionRule(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *FunctionRuleState, opts ...pulumi.ResourceOption) (*FunctionRule, error) { + var resource FunctionRule + err := ctx.ReadResource("tencentcloud:Teo/functionRule:FunctionRule", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering FunctionRule resources. +type functionRuleState struct { + // ID of the Function. + FunctionId *string `pulumi:"functionId"` + // The name of the function. + FunctionName *string `pulumi:"functionName"` + // The list of rule conditions, where the conditions are connected by an "OR" relationship. + FunctionRuleConditions []FunctionRuleFunctionRuleCondition `pulumi:"functionRuleConditions"` + // The priority of the function trigger rule. A higher numerical value indicates a higher priority. + Priority *int `pulumi:"priority"` + // Rule description, maximum support of 60 characters. + Remark *string `pulumi:"remark"` + // ID of the Function Rule. + RuleId *string `pulumi:"ruleId"` + // ID of the site. + ZoneId *string `pulumi:"zoneId"` +} + +type FunctionRuleState struct { + // ID of the Function. + FunctionId pulumi.StringPtrInput + // The name of the function. + FunctionName pulumi.StringPtrInput + // The list of rule conditions, where the conditions are connected by an "OR" relationship. + FunctionRuleConditions FunctionRuleFunctionRuleConditionArrayInput + // The priority of the function trigger rule. A higher numerical value indicates a higher priority. + Priority pulumi.IntPtrInput + // Rule description, maximum support of 60 characters. + Remark pulumi.StringPtrInput + // ID of the Function Rule. + RuleId pulumi.StringPtrInput + // ID of the site. + ZoneId pulumi.StringPtrInput +} + +func (FunctionRuleState) ElementType() reflect.Type { + return reflect.TypeOf((*functionRuleState)(nil)).Elem() +} + +type functionRuleArgs struct { + // ID of the Function. + FunctionId string `pulumi:"functionId"` + // The list of rule conditions, where the conditions are connected by an "OR" relationship. + FunctionRuleConditions []FunctionRuleFunctionRuleCondition `pulumi:"functionRuleConditions"` + // Rule description, maximum support of 60 characters. + Remark *string `pulumi:"remark"` + // ID of the site. + ZoneId string `pulumi:"zoneId"` +} + +// The set of arguments for constructing a FunctionRule resource. +type FunctionRuleArgs struct { + // ID of the Function. + FunctionId pulumi.StringInput + // The list of rule conditions, where the conditions are connected by an "OR" relationship. + FunctionRuleConditions FunctionRuleFunctionRuleConditionArrayInput + // Rule description, maximum support of 60 characters. + Remark pulumi.StringPtrInput + // ID of the site. + ZoneId pulumi.StringInput +} + +func (FunctionRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*functionRuleArgs)(nil)).Elem() +} + +type FunctionRuleInput interface { + pulumi.Input + + ToFunctionRuleOutput() FunctionRuleOutput + ToFunctionRuleOutputWithContext(ctx context.Context) FunctionRuleOutput +} + +func (*FunctionRule) ElementType() reflect.Type { + return reflect.TypeOf((**FunctionRule)(nil)).Elem() +} + +func (i *FunctionRule) ToFunctionRuleOutput() FunctionRuleOutput { + return i.ToFunctionRuleOutputWithContext(context.Background()) +} + +func (i *FunctionRule) ToFunctionRuleOutputWithContext(ctx context.Context) FunctionRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(FunctionRuleOutput) +} + +// FunctionRuleArrayInput is an input type that accepts FunctionRuleArray and FunctionRuleArrayOutput values. +// You can construct a concrete instance of `FunctionRuleArrayInput` via: +// +// FunctionRuleArray{ FunctionRuleArgs{...} } +type FunctionRuleArrayInput interface { + pulumi.Input + + ToFunctionRuleArrayOutput() FunctionRuleArrayOutput + ToFunctionRuleArrayOutputWithContext(context.Context) FunctionRuleArrayOutput +} + +type FunctionRuleArray []FunctionRuleInput + +func (FunctionRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*FunctionRule)(nil)).Elem() +} + +func (i FunctionRuleArray) ToFunctionRuleArrayOutput() FunctionRuleArrayOutput { + return i.ToFunctionRuleArrayOutputWithContext(context.Background()) +} + +func (i FunctionRuleArray) ToFunctionRuleArrayOutputWithContext(ctx context.Context) FunctionRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(FunctionRuleArrayOutput) +} + +// FunctionRuleMapInput is an input type that accepts FunctionRuleMap and FunctionRuleMapOutput values. +// You can construct a concrete instance of `FunctionRuleMapInput` via: +// +// FunctionRuleMap{ "key": FunctionRuleArgs{...} } +type FunctionRuleMapInput interface { + pulumi.Input + + ToFunctionRuleMapOutput() FunctionRuleMapOutput + ToFunctionRuleMapOutputWithContext(context.Context) FunctionRuleMapOutput +} + +type FunctionRuleMap map[string]FunctionRuleInput + +func (FunctionRuleMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*FunctionRule)(nil)).Elem() +} + +func (i FunctionRuleMap) ToFunctionRuleMapOutput() FunctionRuleMapOutput { + return i.ToFunctionRuleMapOutputWithContext(context.Background()) +} + +func (i FunctionRuleMap) ToFunctionRuleMapOutputWithContext(ctx context.Context) FunctionRuleMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(FunctionRuleMapOutput) +} + +type FunctionRuleOutput struct{ *pulumi.OutputState } + +func (FunctionRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FunctionRule)(nil)).Elem() +} + +func (o FunctionRuleOutput) ToFunctionRuleOutput() FunctionRuleOutput { + return o +} + +func (o FunctionRuleOutput) ToFunctionRuleOutputWithContext(ctx context.Context) FunctionRuleOutput { + return o +} + +// ID of the Function. +func (o FunctionRuleOutput) FunctionId() pulumi.StringOutput { + return o.ApplyT(func(v *FunctionRule) pulumi.StringOutput { return v.FunctionId }).(pulumi.StringOutput) +} + +// The name of the function. +func (o FunctionRuleOutput) FunctionName() pulumi.StringOutput { + return o.ApplyT(func(v *FunctionRule) pulumi.StringOutput { return v.FunctionName }).(pulumi.StringOutput) +} + +// The list of rule conditions, where the conditions are connected by an "OR" relationship. +func (o FunctionRuleOutput) FunctionRuleConditions() FunctionRuleFunctionRuleConditionArrayOutput { + return o.ApplyT(func(v *FunctionRule) FunctionRuleFunctionRuleConditionArrayOutput { return v.FunctionRuleConditions }).(FunctionRuleFunctionRuleConditionArrayOutput) +} + +// The priority of the function trigger rule. A higher numerical value indicates a higher priority. +func (o FunctionRuleOutput) Priority() pulumi.IntOutput { + return o.ApplyT(func(v *FunctionRule) pulumi.IntOutput { return v.Priority }).(pulumi.IntOutput) +} + +// Rule description, maximum support of 60 characters. +func (o FunctionRuleOutput) Remark() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FunctionRule) pulumi.StringPtrOutput { return v.Remark }).(pulumi.StringPtrOutput) +} + +// ID of the Function Rule. +func (o FunctionRuleOutput) RuleId() pulumi.StringOutput { + return o.ApplyT(func(v *FunctionRule) pulumi.StringOutput { return v.RuleId }).(pulumi.StringOutput) +} + +// ID of the site. +func (o FunctionRuleOutput) ZoneId() pulumi.StringOutput { + return o.ApplyT(func(v *FunctionRule) pulumi.StringOutput { return v.ZoneId }).(pulumi.StringOutput) +} + +type FunctionRuleArrayOutput struct{ *pulumi.OutputState } + +func (FunctionRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*FunctionRule)(nil)).Elem() +} + +func (o FunctionRuleArrayOutput) ToFunctionRuleArrayOutput() FunctionRuleArrayOutput { + return o +} + +func (o FunctionRuleArrayOutput) ToFunctionRuleArrayOutputWithContext(ctx context.Context) FunctionRuleArrayOutput { + return o +} + +func (o FunctionRuleArrayOutput) Index(i pulumi.IntInput) FunctionRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *FunctionRule { + return vs[0].([]*FunctionRule)[vs[1].(int)] + }).(FunctionRuleOutput) +} + +type FunctionRuleMapOutput struct{ *pulumi.OutputState } + +func (FunctionRuleMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*FunctionRule)(nil)).Elem() +} + +func (o FunctionRuleMapOutput) ToFunctionRuleMapOutput() FunctionRuleMapOutput { + return o +} + +func (o FunctionRuleMapOutput) ToFunctionRuleMapOutputWithContext(ctx context.Context) FunctionRuleMapOutput { + return o +} + +func (o FunctionRuleMapOutput) MapIndex(k pulumi.StringInput) FunctionRuleOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *FunctionRule { + return vs[0].(map[string]*FunctionRule)[vs[1].(string)] + }).(FunctionRuleOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*FunctionRuleInput)(nil)).Elem(), &FunctionRule{}) + pulumi.RegisterInputType(reflect.TypeOf((*FunctionRuleArrayInput)(nil)).Elem(), FunctionRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*FunctionRuleMapInput)(nil)).Elem(), FunctionRuleMap{}) + pulumi.RegisterOutputType(FunctionRuleOutput{}) + pulumi.RegisterOutputType(FunctionRuleArrayOutput{}) + pulumi.RegisterOutputType(FunctionRuleMapOutput{}) +} diff --git a/sdk/go/tencentcloud/teo/functionRulePriority.go b/sdk/go/tencentcloud/teo/functionRulePriority.go new file mode 100644 index 000000000..e680c4d68 --- /dev/null +++ b/sdk/go/tencentcloud/teo/functionRulePriority.go @@ -0,0 +1,296 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package teo + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" +) + +// Provides a resource to create a teo teoFunctionRulePriority +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Teo" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Teo.NewFunctionRulePriority(ctx, "teoFunctionRulePriority", &Teo.FunctionRulePriorityArgs{ +// FunctionId: pulumi.String("ef-txx7fnua"), +// RuleIds: pulumi.StringArray{ +// pulumi.String("rule-equpbht3"), +// pulumi.String("rule-ax28n3g6"), +// }, +// ZoneId: pulumi.String("zone-2qtuhspy7cr6"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// teo teo_function_rule_priority can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Teo/functionRulePriority:FunctionRulePriority teo_function_rule_priority zone_id#function_id +// ``` +type FunctionRulePriority struct { + pulumi.CustomResourceState + + // ID of the Function. + FunctionId pulumi.StringOutput `pulumi:"functionId"` + // he list of rule IDs. It is required to include all rule IDs after adjusting their priorities. The execution order of multiple rules follows a top-down sequence. If not specified, the original priority order will be maintained. + RuleIds pulumi.StringArrayOutput `pulumi:"ruleIds"` + // ID of the site. + ZoneId pulumi.StringOutput `pulumi:"zoneId"` +} + +// NewFunctionRulePriority registers a new resource with the given unique name, arguments, and options. +func NewFunctionRulePriority(ctx *pulumi.Context, + name string, args *FunctionRulePriorityArgs, opts ...pulumi.ResourceOption) (*FunctionRulePriority, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.FunctionId == nil { + return nil, errors.New("invalid value for required argument 'FunctionId'") + } + if args.RuleIds == nil { + return nil, errors.New("invalid value for required argument 'RuleIds'") + } + if args.ZoneId == nil { + return nil, errors.New("invalid value for required argument 'ZoneId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource FunctionRulePriority + err := ctx.RegisterResource("tencentcloud:Teo/functionRulePriority:FunctionRulePriority", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetFunctionRulePriority gets an existing FunctionRulePriority 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 GetFunctionRulePriority(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *FunctionRulePriorityState, opts ...pulumi.ResourceOption) (*FunctionRulePriority, error) { + var resource FunctionRulePriority + err := ctx.ReadResource("tencentcloud:Teo/functionRulePriority:FunctionRulePriority", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering FunctionRulePriority resources. +type functionRulePriorityState struct { + // ID of the Function. + FunctionId *string `pulumi:"functionId"` + // he list of rule IDs. It is required to include all rule IDs after adjusting their priorities. The execution order of multiple rules follows a top-down sequence. If not specified, the original priority order will be maintained. + RuleIds []string `pulumi:"ruleIds"` + // ID of the site. + ZoneId *string `pulumi:"zoneId"` +} + +type FunctionRulePriorityState struct { + // ID of the Function. + FunctionId pulumi.StringPtrInput + // he list of rule IDs. It is required to include all rule IDs after adjusting their priorities. The execution order of multiple rules follows a top-down sequence. If not specified, the original priority order will be maintained. + RuleIds pulumi.StringArrayInput + // ID of the site. + ZoneId pulumi.StringPtrInput +} + +func (FunctionRulePriorityState) ElementType() reflect.Type { + return reflect.TypeOf((*functionRulePriorityState)(nil)).Elem() +} + +type functionRulePriorityArgs struct { + // ID of the Function. + FunctionId string `pulumi:"functionId"` + // he list of rule IDs. It is required to include all rule IDs after adjusting their priorities. The execution order of multiple rules follows a top-down sequence. If not specified, the original priority order will be maintained. + RuleIds []string `pulumi:"ruleIds"` + // ID of the site. + ZoneId string `pulumi:"zoneId"` +} + +// The set of arguments for constructing a FunctionRulePriority resource. +type FunctionRulePriorityArgs struct { + // ID of the Function. + FunctionId pulumi.StringInput + // he list of rule IDs. It is required to include all rule IDs after adjusting their priorities. The execution order of multiple rules follows a top-down sequence. If not specified, the original priority order will be maintained. + RuleIds pulumi.StringArrayInput + // ID of the site. + ZoneId pulumi.StringInput +} + +func (FunctionRulePriorityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*functionRulePriorityArgs)(nil)).Elem() +} + +type FunctionRulePriorityInput interface { + pulumi.Input + + ToFunctionRulePriorityOutput() FunctionRulePriorityOutput + ToFunctionRulePriorityOutputWithContext(ctx context.Context) FunctionRulePriorityOutput +} + +func (*FunctionRulePriority) ElementType() reflect.Type { + return reflect.TypeOf((**FunctionRulePriority)(nil)).Elem() +} + +func (i *FunctionRulePriority) ToFunctionRulePriorityOutput() FunctionRulePriorityOutput { + return i.ToFunctionRulePriorityOutputWithContext(context.Background()) +} + +func (i *FunctionRulePriority) ToFunctionRulePriorityOutputWithContext(ctx context.Context) FunctionRulePriorityOutput { + return pulumi.ToOutputWithContext(ctx, i).(FunctionRulePriorityOutput) +} + +// FunctionRulePriorityArrayInput is an input type that accepts FunctionRulePriorityArray and FunctionRulePriorityArrayOutput values. +// You can construct a concrete instance of `FunctionRulePriorityArrayInput` via: +// +// FunctionRulePriorityArray{ FunctionRulePriorityArgs{...} } +type FunctionRulePriorityArrayInput interface { + pulumi.Input + + ToFunctionRulePriorityArrayOutput() FunctionRulePriorityArrayOutput + ToFunctionRulePriorityArrayOutputWithContext(context.Context) FunctionRulePriorityArrayOutput +} + +type FunctionRulePriorityArray []FunctionRulePriorityInput + +func (FunctionRulePriorityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*FunctionRulePriority)(nil)).Elem() +} + +func (i FunctionRulePriorityArray) ToFunctionRulePriorityArrayOutput() FunctionRulePriorityArrayOutput { + return i.ToFunctionRulePriorityArrayOutputWithContext(context.Background()) +} + +func (i FunctionRulePriorityArray) ToFunctionRulePriorityArrayOutputWithContext(ctx context.Context) FunctionRulePriorityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(FunctionRulePriorityArrayOutput) +} + +// FunctionRulePriorityMapInput is an input type that accepts FunctionRulePriorityMap and FunctionRulePriorityMapOutput values. +// You can construct a concrete instance of `FunctionRulePriorityMapInput` via: +// +// FunctionRulePriorityMap{ "key": FunctionRulePriorityArgs{...} } +type FunctionRulePriorityMapInput interface { + pulumi.Input + + ToFunctionRulePriorityMapOutput() FunctionRulePriorityMapOutput + ToFunctionRulePriorityMapOutputWithContext(context.Context) FunctionRulePriorityMapOutput +} + +type FunctionRulePriorityMap map[string]FunctionRulePriorityInput + +func (FunctionRulePriorityMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*FunctionRulePriority)(nil)).Elem() +} + +func (i FunctionRulePriorityMap) ToFunctionRulePriorityMapOutput() FunctionRulePriorityMapOutput { + return i.ToFunctionRulePriorityMapOutputWithContext(context.Background()) +} + +func (i FunctionRulePriorityMap) ToFunctionRulePriorityMapOutputWithContext(ctx context.Context) FunctionRulePriorityMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(FunctionRulePriorityMapOutput) +} + +type FunctionRulePriorityOutput struct{ *pulumi.OutputState } + +func (FunctionRulePriorityOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FunctionRulePriority)(nil)).Elem() +} + +func (o FunctionRulePriorityOutput) ToFunctionRulePriorityOutput() FunctionRulePriorityOutput { + return o +} + +func (o FunctionRulePriorityOutput) ToFunctionRulePriorityOutputWithContext(ctx context.Context) FunctionRulePriorityOutput { + return o +} + +// ID of the Function. +func (o FunctionRulePriorityOutput) FunctionId() pulumi.StringOutput { + return o.ApplyT(func(v *FunctionRulePriority) pulumi.StringOutput { return v.FunctionId }).(pulumi.StringOutput) +} + +// he list of rule IDs. It is required to include all rule IDs after adjusting their priorities. The execution order of multiple rules follows a top-down sequence. If not specified, the original priority order will be maintained. +func (o FunctionRulePriorityOutput) RuleIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *FunctionRulePriority) pulumi.StringArrayOutput { return v.RuleIds }).(pulumi.StringArrayOutput) +} + +// ID of the site. +func (o FunctionRulePriorityOutput) ZoneId() pulumi.StringOutput { + return o.ApplyT(func(v *FunctionRulePriority) pulumi.StringOutput { return v.ZoneId }).(pulumi.StringOutput) +} + +type FunctionRulePriorityArrayOutput struct{ *pulumi.OutputState } + +func (FunctionRulePriorityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*FunctionRulePriority)(nil)).Elem() +} + +func (o FunctionRulePriorityArrayOutput) ToFunctionRulePriorityArrayOutput() FunctionRulePriorityArrayOutput { + return o +} + +func (o FunctionRulePriorityArrayOutput) ToFunctionRulePriorityArrayOutputWithContext(ctx context.Context) FunctionRulePriorityArrayOutput { + return o +} + +func (o FunctionRulePriorityArrayOutput) Index(i pulumi.IntInput) FunctionRulePriorityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *FunctionRulePriority { + return vs[0].([]*FunctionRulePriority)[vs[1].(int)] + }).(FunctionRulePriorityOutput) +} + +type FunctionRulePriorityMapOutput struct{ *pulumi.OutputState } + +func (FunctionRulePriorityMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*FunctionRulePriority)(nil)).Elem() +} + +func (o FunctionRulePriorityMapOutput) ToFunctionRulePriorityMapOutput() FunctionRulePriorityMapOutput { + return o +} + +func (o FunctionRulePriorityMapOutput) ToFunctionRulePriorityMapOutputWithContext(ctx context.Context) FunctionRulePriorityMapOutput { + return o +} + +func (o FunctionRulePriorityMapOutput) MapIndex(k pulumi.StringInput) FunctionRulePriorityOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *FunctionRulePriority { + return vs[0].(map[string]*FunctionRulePriority)[vs[1].(string)] + }).(FunctionRulePriorityOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*FunctionRulePriorityInput)(nil)).Elem(), &FunctionRulePriority{}) + pulumi.RegisterInputType(reflect.TypeOf((*FunctionRulePriorityArrayInput)(nil)).Elem(), FunctionRulePriorityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*FunctionRulePriorityMapInput)(nil)).Elem(), FunctionRulePriorityMap{}) + pulumi.RegisterOutputType(FunctionRulePriorityOutput{}) + pulumi.RegisterOutputType(FunctionRulePriorityArrayOutput{}) + pulumi.RegisterOutputType(FunctionRulePriorityMapOutput{}) +} diff --git a/sdk/go/tencentcloud/teo/functionRuntimeEnvironment.go b/sdk/go/tencentcloud/teo/functionRuntimeEnvironment.go new file mode 100644 index 000000000..30935085a --- /dev/null +++ b/sdk/go/tencentcloud/teo/functionRuntimeEnvironment.go @@ -0,0 +1,306 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package teo + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" +) + +// Provides a resource to create a teo teoFunctionRuntimeEnvironment +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Teo" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Teo.NewFunctionRuntimeEnvironment(ctx, "teoFunctionRuntimeEnvironment", &Teo.FunctionRuntimeEnvironmentArgs{ +// EnvironmentVariables: teo.FunctionRuntimeEnvironmentEnvironmentVariableArray{ +// &teo.FunctionRuntimeEnvironmentEnvironmentVariableArgs{ +// Key: pulumi.String("test-a"), +// Type: pulumi.String("string"), +// Value: pulumi.String("AAA"), +// }, +// &teo.FunctionRuntimeEnvironmentEnvironmentVariableArgs{ +// Key: pulumi.String("test-b"), +// Type: pulumi.String("string"), +// Value: pulumi.String("BBB"), +// }, +// }, +// FunctionId: pulumi.String("ef-txx7fnua"), +// ZoneId: pulumi.String("zone-2qtuhspy7cr6"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// teo teo_function_runtime_environment can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Teo/functionRuntimeEnvironment:FunctionRuntimeEnvironment teo_function_runtime_environment zone_id#function_id +// ``` +type FunctionRuntimeEnvironment struct { + pulumi.CustomResourceState + + // The environment variable list. + EnvironmentVariables FunctionRuntimeEnvironmentEnvironmentVariableArrayOutput `pulumi:"environmentVariables"` + // ID of the Function. + FunctionId pulumi.StringOutput `pulumi:"functionId"` + // ID of the site. + ZoneId pulumi.StringOutput `pulumi:"zoneId"` +} + +// NewFunctionRuntimeEnvironment registers a new resource with the given unique name, arguments, and options. +func NewFunctionRuntimeEnvironment(ctx *pulumi.Context, + name string, args *FunctionRuntimeEnvironmentArgs, opts ...pulumi.ResourceOption) (*FunctionRuntimeEnvironment, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.EnvironmentVariables == nil { + return nil, errors.New("invalid value for required argument 'EnvironmentVariables'") + } + if args.FunctionId == nil { + return nil, errors.New("invalid value for required argument 'FunctionId'") + } + if args.ZoneId == nil { + return nil, errors.New("invalid value for required argument 'ZoneId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource FunctionRuntimeEnvironment + err := ctx.RegisterResource("tencentcloud:Teo/functionRuntimeEnvironment:FunctionRuntimeEnvironment", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetFunctionRuntimeEnvironment gets an existing FunctionRuntimeEnvironment 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 GetFunctionRuntimeEnvironment(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *FunctionRuntimeEnvironmentState, opts ...pulumi.ResourceOption) (*FunctionRuntimeEnvironment, error) { + var resource FunctionRuntimeEnvironment + err := ctx.ReadResource("tencentcloud:Teo/functionRuntimeEnvironment:FunctionRuntimeEnvironment", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering FunctionRuntimeEnvironment resources. +type functionRuntimeEnvironmentState struct { + // The environment variable list. + EnvironmentVariables []FunctionRuntimeEnvironmentEnvironmentVariable `pulumi:"environmentVariables"` + // ID of the Function. + FunctionId *string `pulumi:"functionId"` + // ID of the site. + ZoneId *string `pulumi:"zoneId"` +} + +type FunctionRuntimeEnvironmentState struct { + // The environment variable list. + EnvironmentVariables FunctionRuntimeEnvironmentEnvironmentVariableArrayInput + // ID of the Function. + FunctionId pulumi.StringPtrInput + // ID of the site. + ZoneId pulumi.StringPtrInput +} + +func (FunctionRuntimeEnvironmentState) ElementType() reflect.Type { + return reflect.TypeOf((*functionRuntimeEnvironmentState)(nil)).Elem() +} + +type functionRuntimeEnvironmentArgs struct { + // The environment variable list. + EnvironmentVariables []FunctionRuntimeEnvironmentEnvironmentVariable `pulumi:"environmentVariables"` + // ID of the Function. + FunctionId string `pulumi:"functionId"` + // ID of the site. + ZoneId string `pulumi:"zoneId"` +} + +// The set of arguments for constructing a FunctionRuntimeEnvironment resource. +type FunctionRuntimeEnvironmentArgs struct { + // The environment variable list. + EnvironmentVariables FunctionRuntimeEnvironmentEnvironmentVariableArrayInput + // ID of the Function. + FunctionId pulumi.StringInput + // ID of the site. + ZoneId pulumi.StringInput +} + +func (FunctionRuntimeEnvironmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*functionRuntimeEnvironmentArgs)(nil)).Elem() +} + +type FunctionRuntimeEnvironmentInput interface { + pulumi.Input + + ToFunctionRuntimeEnvironmentOutput() FunctionRuntimeEnvironmentOutput + ToFunctionRuntimeEnvironmentOutputWithContext(ctx context.Context) FunctionRuntimeEnvironmentOutput +} + +func (*FunctionRuntimeEnvironment) ElementType() reflect.Type { + return reflect.TypeOf((**FunctionRuntimeEnvironment)(nil)).Elem() +} + +func (i *FunctionRuntimeEnvironment) ToFunctionRuntimeEnvironmentOutput() FunctionRuntimeEnvironmentOutput { + return i.ToFunctionRuntimeEnvironmentOutputWithContext(context.Background()) +} + +func (i *FunctionRuntimeEnvironment) ToFunctionRuntimeEnvironmentOutputWithContext(ctx context.Context) FunctionRuntimeEnvironmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(FunctionRuntimeEnvironmentOutput) +} + +// FunctionRuntimeEnvironmentArrayInput is an input type that accepts FunctionRuntimeEnvironmentArray and FunctionRuntimeEnvironmentArrayOutput values. +// You can construct a concrete instance of `FunctionRuntimeEnvironmentArrayInput` via: +// +// FunctionRuntimeEnvironmentArray{ FunctionRuntimeEnvironmentArgs{...} } +type FunctionRuntimeEnvironmentArrayInput interface { + pulumi.Input + + ToFunctionRuntimeEnvironmentArrayOutput() FunctionRuntimeEnvironmentArrayOutput + ToFunctionRuntimeEnvironmentArrayOutputWithContext(context.Context) FunctionRuntimeEnvironmentArrayOutput +} + +type FunctionRuntimeEnvironmentArray []FunctionRuntimeEnvironmentInput + +func (FunctionRuntimeEnvironmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*FunctionRuntimeEnvironment)(nil)).Elem() +} + +func (i FunctionRuntimeEnvironmentArray) ToFunctionRuntimeEnvironmentArrayOutput() FunctionRuntimeEnvironmentArrayOutput { + return i.ToFunctionRuntimeEnvironmentArrayOutputWithContext(context.Background()) +} + +func (i FunctionRuntimeEnvironmentArray) ToFunctionRuntimeEnvironmentArrayOutputWithContext(ctx context.Context) FunctionRuntimeEnvironmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(FunctionRuntimeEnvironmentArrayOutput) +} + +// FunctionRuntimeEnvironmentMapInput is an input type that accepts FunctionRuntimeEnvironmentMap and FunctionRuntimeEnvironmentMapOutput values. +// You can construct a concrete instance of `FunctionRuntimeEnvironmentMapInput` via: +// +// FunctionRuntimeEnvironmentMap{ "key": FunctionRuntimeEnvironmentArgs{...} } +type FunctionRuntimeEnvironmentMapInput interface { + pulumi.Input + + ToFunctionRuntimeEnvironmentMapOutput() FunctionRuntimeEnvironmentMapOutput + ToFunctionRuntimeEnvironmentMapOutputWithContext(context.Context) FunctionRuntimeEnvironmentMapOutput +} + +type FunctionRuntimeEnvironmentMap map[string]FunctionRuntimeEnvironmentInput + +func (FunctionRuntimeEnvironmentMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*FunctionRuntimeEnvironment)(nil)).Elem() +} + +func (i FunctionRuntimeEnvironmentMap) ToFunctionRuntimeEnvironmentMapOutput() FunctionRuntimeEnvironmentMapOutput { + return i.ToFunctionRuntimeEnvironmentMapOutputWithContext(context.Background()) +} + +func (i FunctionRuntimeEnvironmentMap) ToFunctionRuntimeEnvironmentMapOutputWithContext(ctx context.Context) FunctionRuntimeEnvironmentMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(FunctionRuntimeEnvironmentMapOutput) +} + +type FunctionRuntimeEnvironmentOutput struct{ *pulumi.OutputState } + +func (FunctionRuntimeEnvironmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FunctionRuntimeEnvironment)(nil)).Elem() +} + +func (o FunctionRuntimeEnvironmentOutput) ToFunctionRuntimeEnvironmentOutput() FunctionRuntimeEnvironmentOutput { + return o +} + +func (o FunctionRuntimeEnvironmentOutput) ToFunctionRuntimeEnvironmentOutputWithContext(ctx context.Context) FunctionRuntimeEnvironmentOutput { + return o +} + +// The environment variable list. +func (o FunctionRuntimeEnvironmentOutput) EnvironmentVariables() FunctionRuntimeEnvironmentEnvironmentVariableArrayOutput { + return o.ApplyT(func(v *FunctionRuntimeEnvironment) FunctionRuntimeEnvironmentEnvironmentVariableArrayOutput { + return v.EnvironmentVariables + }).(FunctionRuntimeEnvironmentEnvironmentVariableArrayOutput) +} + +// ID of the Function. +func (o FunctionRuntimeEnvironmentOutput) FunctionId() pulumi.StringOutput { + return o.ApplyT(func(v *FunctionRuntimeEnvironment) pulumi.StringOutput { return v.FunctionId }).(pulumi.StringOutput) +} + +// ID of the site. +func (o FunctionRuntimeEnvironmentOutput) ZoneId() pulumi.StringOutput { + return o.ApplyT(func(v *FunctionRuntimeEnvironment) pulumi.StringOutput { return v.ZoneId }).(pulumi.StringOutput) +} + +type FunctionRuntimeEnvironmentArrayOutput struct{ *pulumi.OutputState } + +func (FunctionRuntimeEnvironmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*FunctionRuntimeEnvironment)(nil)).Elem() +} + +func (o FunctionRuntimeEnvironmentArrayOutput) ToFunctionRuntimeEnvironmentArrayOutput() FunctionRuntimeEnvironmentArrayOutput { + return o +} + +func (o FunctionRuntimeEnvironmentArrayOutput) ToFunctionRuntimeEnvironmentArrayOutputWithContext(ctx context.Context) FunctionRuntimeEnvironmentArrayOutput { + return o +} + +func (o FunctionRuntimeEnvironmentArrayOutput) Index(i pulumi.IntInput) FunctionRuntimeEnvironmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *FunctionRuntimeEnvironment { + return vs[0].([]*FunctionRuntimeEnvironment)[vs[1].(int)] + }).(FunctionRuntimeEnvironmentOutput) +} + +type FunctionRuntimeEnvironmentMapOutput struct{ *pulumi.OutputState } + +func (FunctionRuntimeEnvironmentMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*FunctionRuntimeEnvironment)(nil)).Elem() +} + +func (o FunctionRuntimeEnvironmentMapOutput) ToFunctionRuntimeEnvironmentMapOutput() FunctionRuntimeEnvironmentMapOutput { + return o +} + +func (o FunctionRuntimeEnvironmentMapOutput) ToFunctionRuntimeEnvironmentMapOutputWithContext(ctx context.Context) FunctionRuntimeEnvironmentMapOutput { + return o +} + +func (o FunctionRuntimeEnvironmentMapOutput) MapIndex(k pulumi.StringInput) FunctionRuntimeEnvironmentOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *FunctionRuntimeEnvironment { + return vs[0].(map[string]*FunctionRuntimeEnvironment)[vs[1].(string)] + }).(FunctionRuntimeEnvironmentOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*FunctionRuntimeEnvironmentInput)(nil)).Elem(), &FunctionRuntimeEnvironment{}) + pulumi.RegisterInputType(reflect.TypeOf((*FunctionRuntimeEnvironmentArrayInput)(nil)).Elem(), FunctionRuntimeEnvironmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*FunctionRuntimeEnvironmentMapInput)(nil)).Elem(), FunctionRuntimeEnvironmentMap{}) + pulumi.RegisterOutputType(FunctionRuntimeEnvironmentOutput{}) + pulumi.RegisterOutputType(FunctionRuntimeEnvironmentArrayOutput{}) + pulumi.RegisterOutputType(FunctionRuntimeEnvironmentMapOutput{}) +} diff --git a/sdk/go/tencentcloud/teo/init.go b/sdk/go/tencentcloud/teo/init.go index 8b9f8598c..578dc2b1e 100644 --- a/sdk/go/tencentcloud/teo/init.go +++ b/sdk/go/tencentcloud/teo/init.go @@ -29,6 +29,14 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &ApplicationProxyRule{} case "tencentcloud:Teo/certificateConfig:CertificateConfig": r = &CertificateConfig{} + case "tencentcloud:Teo/function:Function": + r = &Function{} + case "tencentcloud:Teo/functionRule:FunctionRule": + r = &FunctionRule{} + case "tencentcloud:Teo/functionRulePriority:FunctionRulePriority": + r = &FunctionRulePriority{} + case "tencentcloud:Teo/functionRuntimeEnvironment:FunctionRuntimeEnvironment": + r = &FunctionRuntimeEnvironment{} case "tencentcloud:Teo/l4Proxy:L4Proxy": r = &L4Proxy{} case "tencentcloud:Teo/originGroup:OriginGroup": @@ -39,6 +47,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &RealtimeLogDelivery{} case "tencentcloud:Teo/ruleEngine:RuleEngine": r = &RuleEngine{} + case "tencentcloud:Teo/securityIpGroup:SecurityIpGroup": + r = &SecurityIpGroup{} case "tencentcloud:Teo/zone:Zone": r = &Zone{} case "tencentcloud:Teo/zoneSetting:ZoneSetting": @@ -76,6 +86,26 @@ func init() { "Teo/certificateConfig", &module{version}, ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Teo/function", + &module{version}, + ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Teo/functionRule", + &module{version}, + ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Teo/functionRulePriority", + &module{version}, + ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Teo/functionRuntimeEnvironment", + &module{version}, + ) pulumi.RegisterResourceModule( "tencentcloud", "Teo/l4Proxy", @@ -101,6 +131,11 @@ func init() { "Teo/ruleEngine", &module{version}, ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Teo/securityIpGroup", + &module{version}, + ) pulumi.RegisterResourceModule( "tencentcloud", "Teo/zone", diff --git a/sdk/go/tencentcloud/teo/pulumiTypes.go b/sdk/go/tencentcloud/teo/pulumiTypes.go index 1223f42fc..ebce5870d 100644 --- a/sdk/go/tencentcloud/teo/pulumiTypes.go +++ b/sdk/go/tencentcloud/teo/pulumiTypes.go @@ -622,6 +622,380 @@ func (o CertificateConfigServerCertInfoArrayOutput) Index(i pulumi.IntInput) Cer }).(CertificateConfigServerCertInfoOutput) } +type FunctionRuleFunctionRuleCondition struct { + // For edge function trigger rule conditions, if all items in the list are satisfied, then the condition is considered fulfilled. + RuleConditions []FunctionRuleFunctionRuleConditionRuleCondition `pulumi:"ruleConditions"` +} + +// FunctionRuleFunctionRuleConditionInput is an input type that accepts FunctionRuleFunctionRuleConditionArgs and FunctionRuleFunctionRuleConditionOutput values. +// You can construct a concrete instance of `FunctionRuleFunctionRuleConditionInput` via: +// +// FunctionRuleFunctionRuleConditionArgs{...} +type FunctionRuleFunctionRuleConditionInput interface { + pulumi.Input + + ToFunctionRuleFunctionRuleConditionOutput() FunctionRuleFunctionRuleConditionOutput + ToFunctionRuleFunctionRuleConditionOutputWithContext(context.Context) FunctionRuleFunctionRuleConditionOutput +} + +type FunctionRuleFunctionRuleConditionArgs struct { + // For edge function trigger rule conditions, if all items in the list are satisfied, then the condition is considered fulfilled. + RuleConditions FunctionRuleFunctionRuleConditionRuleConditionArrayInput `pulumi:"ruleConditions"` +} + +func (FunctionRuleFunctionRuleConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FunctionRuleFunctionRuleCondition)(nil)).Elem() +} + +func (i FunctionRuleFunctionRuleConditionArgs) ToFunctionRuleFunctionRuleConditionOutput() FunctionRuleFunctionRuleConditionOutput { + return i.ToFunctionRuleFunctionRuleConditionOutputWithContext(context.Background()) +} + +func (i FunctionRuleFunctionRuleConditionArgs) ToFunctionRuleFunctionRuleConditionOutputWithContext(ctx context.Context) FunctionRuleFunctionRuleConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(FunctionRuleFunctionRuleConditionOutput) +} + +// FunctionRuleFunctionRuleConditionArrayInput is an input type that accepts FunctionRuleFunctionRuleConditionArray and FunctionRuleFunctionRuleConditionArrayOutput values. +// You can construct a concrete instance of `FunctionRuleFunctionRuleConditionArrayInput` via: +// +// FunctionRuleFunctionRuleConditionArray{ FunctionRuleFunctionRuleConditionArgs{...} } +type FunctionRuleFunctionRuleConditionArrayInput interface { + pulumi.Input + + ToFunctionRuleFunctionRuleConditionArrayOutput() FunctionRuleFunctionRuleConditionArrayOutput + ToFunctionRuleFunctionRuleConditionArrayOutputWithContext(context.Context) FunctionRuleFunctionRuleConditionArrayOutput +} + +type FunctionRuleFunctionRuleConditionArray []FunctionRuleFunctionRuleConditionInput + +func (FunctionRuleFunctionRuleConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]FunctionRuleFunctionRuleCondition)(nil)).Elem() +} + +func (i FunctionRuleFunctionRuleConditionArray) ToFunctionRuleFunctionRuleConditionArrayOutput() FunctionRuleFunctionRuleConditionArrayOutput { + return i.ToFunctionRuleFunctionRuleConditionArrayOutputWithContext(context.Background()) +} + +func (i FunctionRuleFunctionRuleConditionArray) ToFunctionRuleFunctionRuleConditionArrayOutputWithContext(ctx context.Context) FunctionRuleFunctionRuleConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(FunctionRuleFunctionRuleConditionArrayOutput) +} + +type FunctionRuleFunctionRuleConditionOutput struct{ *pulumi.OutputState } + +func (FunctionRuleFunctionRuleConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FunctionRuleFunctionRuleCondition)(nil)).Elem() +} + +func (o FunctionRuleFunctionRuleConditionOutput) ToFunctionRuleFunctionRuleConditionOutput() FunctionRuleFunctionRuleConditionOutput { + return o +} + +func (o FunctionRuleFunctionRuleConditionOutput) ToFunctionRuleFunctionRuleConditionOutputWithContext(ctx context.Context) FunctionRuleFunctionRuleConditionOutput { + return o +} + +// For edge function trigger rule conditions, if all items in the list are satisfied, then the condition is considered fulfilled. +func (o FunctionRuleFunctionRuleConditionOutput) RuleConditions() FunctionRuleFunctionRuleConditionRuleConditionArrayOutput { + return o.ApplyT(func(v FunctionRuleFunctionRuleCondition) []FunctionRuleFunctionRuleConditionRuleCondition { + return v.RuleConditions + }).(FunctionRuleFunctionRuleConditionRuleConditionArrayOutput) +} + +type FunctionRuleFunctionRuleConditionArrayOutput struct{ *pulumi.OutputState } + +func (FunctionRuleFunctionRuleConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]FunctionRuleFunctionRuleCondition)(nil)).Elem() +} + +func (o FunctionRuleFunctionRuleConditionArrayOutput) ToFunctionRuleFunctionRuleConditionArrayOutput() FunctionRuleFunctionRuleConditionArrayOutput { + return o +} + +func (o FunctionRuleFunctionRuleConditionArrayOutput) ToFunctionRuleFunctionRuleConditionArrayOutputWithContext(ctx context.Context) FunctionRuleFunctionRuleConditionArrayOutput { + return o +} + +func (o FunctionRuleFunctionRuleConditionArrayOutput) Index(i pulumi.IntInput) FunctionRuleFunctionRuleConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) FunctionRuleFunctionRuleCondition { + return vs[0].([]FunctionRuleFunctionRuleCondition)[vs[1].(int)] + }).(FunctionRuleFunctionRuleConditionOutput) +} + +type FunctionRuleFunctionRuleConditionRuleCondition struct { + // Whether the parameter value is case insensitive. Default value: false. + IgnoreCase *bool `pulumi:"ignoreCase"` + // The parameter name of the match type. This field is required only when `Target=query_string/request_header`. + Name *string `pulumi:"name"` + // Operator. Valid values: + Operator string `pulumi:"operator"` + // The match type. Values: + Target string `pulumi:"target"` + // The parameter value of the match type. It can be an empty string only when `Target=query string/request header` and `Operator=exist/notexist`. + // - When `Target=extension`, enter the file extension, such as "jpg" and "txt". + // - When `Target=filename`, enter the file name, such as "foo" in "foo.jpg". + // - When `Target=all`, it indicates any site request. + // - When `Target=host`, enter the host under the current site, such as "www.maxx55.com". + // - When `Target=url`, enter the partial URL path under the current site, such as "/example". + // - When `Target=full_url`, enter the complete URL under the current site. It must contain the HTTP protocol, host, and path, such as "https://www.maxx55.cn/example". + // - When `Target=client_country`, enter the ISO-3166 country/region code. + // - When `Target=query_string`, enter the value of the query string, such as "cn" and "1" in "lang=cn&version=1". + // - When `Target=request_header`, enter the HTTP request header value, such as "zh-CN,zh;q=0.9" in the "Accept-Language:zh-CN,zh;q=0.9" header. + Values []string `pulumi:"values"` +} + +// FunctionRuleFunctionRuleConditionRuleConditionInput is an input type that accepts FunctionRuleFunctionRuleConditionRuleConditionArgs and FunctionRuleFunctionRuleConditionRuleConditionOutput values. +// You can construct a concrete instance of `FunctionRuleFunctionRuleConditionRuleConditionInput` via: +// +// FunctionRuleFunctionRuleConditionRuleConditionArgs{...} +type FunctionRuleFunctionRuleConditionRuleConditionInput interface { + pulumi.Input + + ToFunctionRuleFunctionRuleConditionRuleConditionOutput() FunctionRuleFunctionRuleConditionRuleConditionOutput + ToFunctionRuleFunctionRuleConditionRuleConditionOutputWithContext(context.Context) FunctionRuleFunctionRuleConditionRuleConditionOutput +} + +type FunctionRuleFunctionRuleConditionRuleConditionArgs struct { + // Whether the parameter value is case insensitive. Default value: false. + IgnoreCase pulumi.BoolPtrInput `pulumi:"ignoreCase"` + // The parameter name of the match type. This field is required only when `Target=query_string/request_header`. + Name pulumi.StringPtrInput `pulumi:"name"` + // Operator. Valid values: + Operator pulumi.StringInput `pulumi:"operator"` + // The match type. Values: + Target pulumi.StringInput `pulumi:"target"` + // The parameter value of the match type. It can be an empty string only when `Target=query string/request header` and `Operator=exist/notexist`. + // - When `Target=extension`, enter the file extension, such as "jpg" and "txt". + // - When `Target=filename`, enter the file name, such as "foo" in "foo.jpg". + // - When `Target=all`, it indicates any site request. + // - When `Target=host`, enter the host under the current site, such as "www.maxx55.com". + // - When `Target=url`, enter the partial URL path under the current site, such as "/example". + // - When `Target=full_url`, enter the complete URL under the current site. It must contain the HTTP protocol, host, and path, such as "https://www.maxx55.cn/example". + // - When `Target=client_country`, enter the ISO-3166 country/region code. + // - When `Target=query_string`, enter the value of the query string, such as "cn" and "1" in "lang=cn&version=1". + // - When `Target=request_header`, enter the HTTP request header value, such as "zh-CN,zh;q=0.9" in the "Accept-Language:zh-CN,zh;q=0.9" header. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (FunctionRuleFunctionRuleConditionRuleConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FunctionRuleFunctionRuleConditionRuleCondition)(nil)).Elem() +} + +func (i FunctionRuleFunctionRuleConditionRuleConditionArgs) ToFunctionRuleFunctionRuleConditionRuleConditionOutput() FunctionRuleFunctionRuleConditionRuleConditionOutput { + return i.ToFunctionRuleFunctionRuleConditionRuleConditionOutputWithContext(context.Background()) +} + +func (i FunctionRuleFunctionRuleConditionRuleConditionArgs) ToFunctionRuleFunctionRuleConditionRuleConditionOutputWithContext(ctx context.Context) FunctionRuleFunctionRuleConditionRuleConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(FunctionRuleFunctionRuleConditionRuleConditionOutput) +} + +// FunctionRuleFunctionRuleConditionRuleConditionArrayInput is an input type that accepts FunctionRuleFunctionRuleConditionRuleConditionArray and FunctionRuleFunctionRuleConditionRuleConditionArrayOutput values. +// You can construct a concrete instance of `FunctionRuleFunctionRuleConditionRuleConditionArrayInput` via: +// +// FunctionRuleFunctionRuleConditionRuleConditionArray{ FunctionRuleFunctionRuleConditionRuleConditionArgs{...} } +type FunctionRuleFunctionRuleConditionRuleConditionArrayInput interface { + pulumi.Input + + ToFunctionRuleFunctionRuleConditionRuleConditionArrayOutput() FunctionRuleFunctionRuleConditionRuleConditionArrayOutput + ToFunctionRuleFunctionRuleConditionRuleConditionArrayOutputWithContext(context.Context) FunctionRuleFunctionRuleConditionRuleConditionArrayOutput +} + +type FunctionRuleFunctionRuleConditionRuleConditionArray []FunctionRuleFunctionRuleConditionRuleConditionInput + +func (FunctionRuleFunctionRuleConditionRuleConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]FunctionRuleFunctionRuleConditionRuleCondition)(nil)).Elem() +} + +func (i FunctionRuleFunctionRuleConditionRuleConditionArray) ToFunctionRuleFunctionRuleConditionRuleConditionArrayOutput() FunctionRuleFunctionRuleConditionRuleConditionArrayOutput { + return i.ToFunctionRuleFunctionRuleConditionRuleConditionArrayOutputWithContext(context.Background()) +} + +func (i FunctionRuleFunctionRuleConditionRuleConditionArray) ToFunctionRuleFunctionRuleConditionRuleConditionArrayOutputWithContext(ctx context.Context) FunctionRuleFunctionRuleConditionRuleConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(FunctionRuleFunctionRuleConditionRuleConditionArrayOutput) +} + +type FunctionRuleFunctionRuleConditionRuleConditionOutput struct{ *pulumi.OutputState } + +func (FunctionRuleFunctionRuleConditionRuleConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FunctionRuleFunctionRuleConditionRuleCondition)(nil)).Elem() +} + +func (o FunctionRuleFunctionRuleConditionRuleConditionOutput) ToFunctionRuleFunctionRuleConditionRuleConditionOutput() FunctionRuleFunctionRuleConditionRuleConditionOutput { + return o +} + +func (o FunctionRuleFunctionRuleConditionRuleConditionOutput) ToFunctionRuleFunctionRuleConditionRuleConditionOutputWithContext(ctx context.Context) FunctionRuleFunctionRuleConditionRuleConditionOutput { + return o +} + +// Whether the parameter value is case insensitive. Default value: false. +func (o FunctionRuleFunctionRuleConditionRuleConditionOutput) IgnoreCase() pulumi.BoolPtrOutput { + return o.ApplyT(func(v FunctionRuleFunctionRuleConditionRuleCondition) *bool { return v.IgnoreCase }).(pulumi.BoolPtrOutput) +} + +// The parameter name of the match type. This field is required only when `Target=query_string/request_header`. +func (o FunctionRuleFunctionRuleConditionRuleConditionOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v FunctionRuleFunctionRuleConditionRuleCondition) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Operator. Valid values: +func (o FunctionRuleFunctionRuleConditionRuleConditionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v FunctionRuleFunctionRuleConditionRuleCondition) string { return v.Operator }).(pulumi.StringOutput) +} + +// The match type. Values: +func (o FunctionRuleFunctionRuleConditionRuleConditionOutput) Target() pulumi.StringOutput { + return o.ApplyT(func(v FunctionRuleFunctionRuleConditionRuleCondition) string { return v.Target }).(pulumi.StringOutput) +} + +// The parameter value of the match type. It can be an empty string only when `Target=query string/request header` and `Operator=exist/notexist`. +// - When `Target=extension`, enter the file extension, such as "jpg" and "txt". +// - When `Target=filename`, enter the file name, such as "foo" in "foo.jpg". +// - When `Target=all`, it indicates any site request. +// - When `Target=host`, enter the host under the current site, such as "www.maxx55.com". +// - When `Target=url`, enter the partial URL path under the current site, such as "/example". +// - When `Target=full_url`, enter the complete URL under the current site. It must contain the HTTP protocol, host, and path, such as "https://www.maxx55.cn/example". +// - When `Target=client_country`, enter the ISO-3166 country/region code. +// - When `Target=query_string`, enter the value of the query string, such as "cn" and "1" in "lang=cn&version=1". +// - When `Target=request_header`, enter the HTTP request header value, such as "zh-CN,zh;q=0.9" in the "Accept-Language:zh-CN,zh;q=0.9" header. +func (o FunctionRuleFunctionRuleConditionRuleConditionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v FunctionRuleFunctionRuleConditionRuleCondition) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type FunctionRuleFunctionRuleConditionRuleConditionArrayOutput struct{ *pulumi.OutputState } + +func (FunctionRuleFunctionRuleConditionRuleConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]FunctionRuleFunctionRuleConditionRuleCondition)(nil)).Elem() +} + +func (o FunctionRuleFunctionRuleConditionRuleConditionArrayOutput) ToFunctionRuleFunctionRuleConditionRuleConditionArrayOutput() FunctionRuleFunctionRuleConditionRuleConditionArrayOutput { + return o +} + +func (o FunctionRuleFunctionRuleConditionRuleConditionArrayOutput) ToFunctionRuleFunctionRuleConditionRuleConditionArrayOutputWithContext(ctx context.Context) FunctionRuleFunctionRuleConditionRuleConditionArrayOutput { + return o +} + +func (o FunctionRuleFunctionRuleConditionRuleConditionArrayOutput) Index(i pulumi.IntInput) FunctionRuleFunctionRuleConditionRuleConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) FunctionRuleFunctionRuleConditionRuleCondition { + return vs[0].([]FunctionRuleFunctionRuleConditionRuleCondition)[vs[1].(int)] + }).(FunctionRuleFunctionRuleConditionRuleConditionOutput) +} + +type FunctionRuntimeEnvironmentEnvironmentVariable struct { + // The name of the variable, which is limited to alphanumeric characters and the special characters `@`, `.`, `-`, and `_`. It can have a maximum of 64 bytes and should not be duplicated. + Key string `pulumi:"key"` + // The type of the variable can have the following values: - `string`: Represents a string type. - `json`: Represents a JSON object type. + Type string `pulumi:"type"` + // The value of the variable, which is limited to a maximum of 5000 bytes. The default value is empty. + Value string `pulumi:"value"` +} + +// FunctionRuntimeEnvironmentEnvironmentVariableInput is an input type that accepts FunctionRuntimeEnvironmentEnvironmentVariableArgs and FunctionRuntimeEnvironmentEnvironmentVariableOutput values. +// You can construct a concrete instance of `FunctionRuntimeEnvironmentEnvironmentVariableInput` via: +// +// FunctionRuntimeEnvironmentEnvironmentVariableArgs{...} +type FunctionRuntimeEnvironmentEnvironmentVariableInput interface { + pulumi.Input + + ToFunctionRuntimeEnvironmentEnvironmentVariableOutput() FunctionRuntimeEnvironmentEnvironmentVariableOutput + ToFunctionRuntimeEnvironmentEnvironmentVariableOutputWithContext(context.Context) FunctionRuntimeEnvironmentEnvironmentVariableOutput +} + +type FunctionRuntimeEnvironmentEnvironmentVariableArgs struct { + // The name of the variable, which is limited to alphanumeric characters and the special characters `@`, `.`, `-`, and `_`. It can have a maximum of 64 bytes and should not be duplicated. + Key pulumi.StringInput `pulumi:"key"` + // The type of the variable can have the following values: - `string`: Represents a string type. - `json`: Represents a JSON object type. + Type pulumi.StringInput `pulumi:"type"` + // The value of the variable, which is limited to a maximum of 5000 bytes. The default value is empty. + Value pulumi.StringInput `pulumi:"value"` +} + +func (FunctionRuntimeEnvironmentEnvironmentVariableArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FunctionRuntimeEnvironmentEnvironmentVariable)(nil)).Elem() +} + +func (i FunctionRuntimeEnvironmentEnvironmentVariableArgs) ToFunctionRuntimeEnvironmentEnvironmentVariableOutput() FunctionRuntimeEnvironmentEnvironmentVariableOutput { + return i.ToFunctionRuntimeEnvironmentEnvironmentVariableOutputWithContext(context.Background()) +} + +func (i FunctionRuntimeEnvironmentEnvironmentVariableArgs) ToFunctionRuntimeEnvironmentEnvironmentVariableOutputWithContext(ctx context.Context) FunctionRuntimeEnvironmentEnvironmentVariableOutput { + return pulumi.ToOutputWithContext(ctx, i).(FunctionRuntimeEnvironmentEnvironmentVariableOutput) +} + +// FunctionRuntimeEnvironmentEnvironmentVariableArrayInput is an input type that accepts FunctionRuntimeEnvironmentEnvironmentVariableArray and FunctionRuntimeEnvironmentEnvironmentVariableArrayOutput values. +// You can construct a concrete instance of `FunctionRuntimeEnvironmentEnvironmentVariableArrayInput` via: +// +// FunctionRuntimeEnvironmentEnvironmentVariableArray{ FunctionRuntimeEnvironmentEnvironmentVariableArgs{...} } +type FunctionRuntimeEnvironmentEnvironmentVariableArrayInput interface { + pulumi.Input + + ToFunctionRuntimeEnvironmentEnvironmentVariableArrayOutput() FunctionRuntimeEnvironmentEnvironmentVariableArrayOutput + ToFunctionRuntimeEnvironmentEnvironmentVariableArrayOutputWithContext(context.Context) FunctionRuntimeEnvironmentEnvironmentVariableArrayOutput +} + +type FunctionRuntimeEnvironmentEnvironmentVariableArray []FunctionRuntimeEnvironmentEnvironmentVariableInput + +func (FunctionRuntimeEnvironmentEnvironmentVariableArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]FunctionRuntimeEnvironmentEnvironmentVariable)(nil)).Elem() +} + +func (i FunctionRuntimeEnvironmentEnvironmentVariableArray) ToFunctionRuntimeEnvironmentEnvironmentVariableArrayOutput() FunctionRuntimeEnvironmentEnvironmentVariableArrayOutput { + return i.ToFunctionRuntimeEnvironmentEnvironmentVariableArrayOutputWithContext(context.Background()) +} + +func (i FunctionRuntimeEnvironmentEnvironmentVariableArray) ToFunctionRuntimeEnvironmentEnvironmentVariableArrayOutputWithContext(ctx context.Context) FunctionRuntimeEnvironmentEnvironmentVariableArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(FunctionRuntimeEnvironmentEnvironmentVariableArrayOutput) +} + +type FunctionRuntimeEnvironmentEnvironmentVariableOutput struct{ *pulumi.OutputState } + +func (FunctionRuntimeEnvironmentEnvironmentVariableOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FunctionRuntimeEnvironmentEnvironmentVariable)(nil)).Elem() +} + +func (o FunctionRuntimeEnvironmentEnvironmentVariableOutput) ToFunctionRuntimeEnvironmentEnvironmentVariableOutput() FunctionRuntimeEnvironmentEnvironmentVariableOutput { + return o +} + +func (o FunctionRuntimeEnvironmentEnvironmentVariableOutput) ToFunctionRuntimeEnvironmentEnvironmentVariableOutputWithContext(ctx context.Context) FunctionRuntimeEnvironmentEnvironmentVariableOutput { + return o +} + +// The name of the variable, which is limited to alphanumeric characters and the special characters `@`, `.`, `-`, and `_`. It can have a maximum of 64 bytes and should not be duplicated. +func (o FunctionRuntimeEnvironmentEnvironmentVariableOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v FunctionRuntimeEnvironmentEnvironmentVariable) string { return v.Key }).(pulumi.StringOutput) +} + +// The type of the variable can have the following values: - `string`: Represents a string type. - `json`: Represents a JSON object type. +func (o FunctionRuntimeEnvironmentEnvironmentVariableOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v FunctionRuntimeEnvironmentEnvironmentVariable) string { return v.Type }).(pulumi.StringOutput) +} + +// The value of the variable, which is limited to a maximum of 5000 bytes. The default value is empty. +func (o FunctionRuntimeEnvironmentEnvironmentVariableOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v FunctionRuntimeEnvironmentEnvironmentVariable) string { return v.Value }).(pulumi.StringOutput) +} + +type FunctionRuntimeEnvironmentEnvironmentVariableArrayOutput struct{ *pulumi.OutputState } + +func (FunctionRuntimeEnvironmentEnvironmentVariableArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]FunctionRuntimeEnvironmentEnvironmentVariable)(nil)).Elem() +} + +func (o FunctionRuntimeEnvironmentEnvironmentVariableArrayOutput) ToFunctionRuntimeEnvironmentEnvironmentVariableArrayOutput() FunctionRuntimeEnvironmentEnvironmentVariableArrayOutput { + return o +} + +func (o FunctionRuntimeEnvironmentEnvironmentVariableArrayOutput) ToFunctionRuntimeEnvironmentEnvironmentVariableArrayOutputWithContext(ctx context.Context) FunctionRuntimeEnvironmentEnvironmentVariableArrayOutput { + return o +} + +func (o FunctionRuntimeEnvironmentEnvironmentVariableArrayOutput) Index(i pulumi.IntInput) FunctionRuntimeEnvironmentEnvironmentVariableOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) FunctionRuntimeEnvironmentEnvironmentVariable { + return vs[0].([]FunctionRuntimeEnvironmentEnvironmentVariable)[vs[1].(int)] + }).(FunctionRuntimeEnvironmentEnvironmentVariableOutput) +} + type L4ProxyDdosProtectionConfig struct { // Exclusive DDoS protection specifications in the Chinese mainland. For details, see [Dedicated DDoS Mitigation Fee (Pay-as-You-Go)] (https://intl.cloud.tencent.com/document/product/1552/94162?from_cn_redirect=1). `PLATFORM`: Default protection of the platform, i.e., Exclusive DDoS protection is not enabled; `BASE30_MAX300`: Exclusive DDoS protection enabled, providing a baseline protection bandwidth of 30 Gbps and an elastic protection bandwidth of up to 300 Gbps; `BASE60_MAX600`: Exclusive DDoS protection enabled, providing a baseline protection bandwidth of 60 Gbps and an elastic protection bandwidth of up to 600 Gbps. If no parameters are filled, the default value PLATFORM is used. LevelMainland *string `pulumi:"levelMainland"` @@ -5206,6 +5580,181 @@ func (o RuleEngineRuleSubRuleRuleOrAndArrayOutput) Index(i pulumi.IntInput) Rule }).(RuleEngineRuleSubRuleRuleOrAndOutput) } +type SecurityIpGroupIpGroup struct { + // IP group content. Only supports IP and IP mask. + Contents []string `pulumi:"contents"` + // Group ID. + GroupId *int `pulumi:"groupId"` + // Group name. + Name string `pulumi:"name"` +} + +// SecurityIpGroupIpGroupInput is an input type that accepts SecurityIpGroupIpGroupArgs and SecurityIpGroupIpGroupOutput values. +// You can construct a concrete instance of `SecurityIpGroupIpGroupInput` via: +// +// SecurityIpGroupIpGroupArgs{...} +type SecurityIpGroupIpGroupInput interface { + pulumi.Input + + ToSecurityIpGroupIpGroupOutput() SecurityIpGroupIpGroupOutput + ToSecurityIpGroupIpGroupOutputWithContext(context.Context) SecurityIpGroupIpGroupOutput +} + +type SecurityIpGroupIpGroupArgs struct { + // IP group content. Only supports IP and IP mask. + Contents pulumi.StringArrayInput `pulumi:"contents"` + // Group ID. + GroupId pulumi.IntPtrInput `pulumi:"groupId"` + // Group name. + Name pulumi.StringInput `pulumi:"name"` +} + +func (SecurityIpGroupIpGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityIpGroupIpGroup)(nil)).Elem() +} + +func (i SecurityIpGroupIpGroupArgs) ToSecurityIpGroupIpGroupOutput() SecurityIpGroupIpGroupOutput { + return i.ToSecurityIpGroupIpGroupOutputWithContext(context.Background()) +} + +func (i SecurityIpGroupIpGroupArgs) ToSecurityIpGroupIpGroupOutputWithContext(ctx context.Context) SecurityIpGroupIpGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityIpGroupIpGroupOutput) +} + +func (i SecurityIpGroupIpGroupArgs) ToSecurityIpGroupIpGroupPtrOutput() SecurityIpGroupIpGroupPtrOutput { + return i.ToSecurityIpGroupIpGroupPtrOutputWithContext(context.Background()) +} + +func (i SecurityIpGroupIpGroupArgs) ToSecurityIpGroupIpGroupPtrOutputWithContext(ctx context.Context) SecurityIpGroupIpGroupPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityIpGroupIpGroupOutput).ToSecurityIpGroupIpGroupPtrOutputWithContext(ctx) +} + +// SecurityIpGroupIpGroupPtrInput is an input type that accepts SecurityIpGroupIpGroupArgs, SecurityIpGroupIpGroupPtr and SecurityIpGroupIpGroupPtrOutput values. +// You can construct a concrete instance of `SecurityIpGroupIpGroupPtrInput` via: +// +// SecurityIpGroupIpGroupArgs{...} +// +// or: +// +// nil +type SecurityIpGroupIpGroupPtrInput interface { + pulumi.Input + + ToSecurityIpGroupIpGroupPtrOutput() SecurityIpGroupIpGroupPtrOutput + ToSecurityIpGroupIpGroupPtrOutputWithContext(context.Context) SecurityIpGroupIpGroupPtrOutput +} + +type securityIpGroupIpGroupPtrType SecurityIpGroupIpGroupArgs + +func SecurityIpGroupIpGroupPtr(v *SecurityIpGroupIpGroupArgs) SecurityIpGroupIpGroupPtrInput { + return (*securityIpGroupIpGroupPtrType)(v) +} + +func (*securityIpGroupIpGroupPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SecurityIpGroupIpGroup)(nil)).Elem() +} + +func (i *securityIpGroupIpGroupPtrType) ToSecurityIpGroupIpGroupPtrOutput() SecurityIpGroupIpGroupPtrOutput { + return i.ToSecurityIpGroupIpGroupPtrOutputWithContext(context.Background()) +} + +func (i *securityIpGroupIpGroupPtrType) ToSecurityIpGroupIpGroupPtrOutputWithContext(ctx context.Context) SecurityIpGroupIpGroupPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityIpGroupIpGroupPtrOutput) +} + +type SecurityIpGroupIpGroupOutput struct{ *pulumi.OutputState } + +func (SecurityIpGroupIpGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityIpGroupIpGroup)(nil)).Elem() +} + +func (o SecurityIpGroupIpGroupOutput) ToSecurityIpGroupIpGroupOutput() SecurityIpGroupIpGroupOutput { + return o +} + +func (o SecurityIpGroupIpGroupOutput) ToSecurityIpGroupIpGroupOutputWithContext(ctx context.Context) SecurityIpGroupIpGroupOutput { + return o +} + +func (o SecurityIpGroupIpGroupOutput) ToSecurityIpGroupIpGroupPtrOutput() SecurityIpGroupIpGroupPtrOutput { + return o.ToSecurityIpGroupIpGroupPtrOutputWithContext(context.Background()) +} + +func (o SecurityIpGroupIpGroupOutput) ToSecurityIpGroupIpGroupPtrOutputWithContext(ctx context.Context) SecurityIpGroupIpGroupPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SecurityIpGroupIpGroup) *SecurityIpGroupIpGroup { + return &v + }).(SecurityIpGroupIpGroupPtrOutput) +} + +// IP group content. Only supports IP and IP mask. +func (o SecurityIpGroupIpGroupOutput) Contents() pulumi.StringArrayOutput { + return o.ApplyT(func(v SecurityIpGroupIpGroup) []string { return v.Contents }).(pulumi.StringArrayOutput) +} + +// Group ID. +func (o SecurityIpGroupIpGroupOutput) GroupId() pulumi.IntPtrOutput { + return o.ApplyT(func(v SecurityIpGroupIpGroup) *int { return v.GroupId }).(pulumi.IntPtrOutput) +} + +// Group name. +func (o SecurityIpGroupIpGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v SecurityIpGroupIpGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type SecurityIpGroupIpGroupPtrOutput struct{ *pulumi.OutputState } + +func (SecurityIpGroupIpGroupPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SecurityIpGroupIpGroup)(nil)).Elem() +} + +func (o SecurityIpGroupIpGroupPtrOutput) ToSecurityIpGroupIpGroupPtrOutput() SecurityIpGroupIpGroupPtrOutput { + return o +} + +func (o SecurityIpGroupIpGroupPtrOutput) ToSecurityIpGroupIpGroupPtrOutputWithContext(ctx context.Context) SecurityIpGroupIpGroupPtrOutput { + return o +} + +func (o SecurityIpGroupIpGroupPtrOutput) Elem() SecurityIpGroupIpGroupOutput { + return o.ApplyT(func(v *SecurityIpGroupIpGroup) SecurityIpGroupIpGroup { + if v != nil { + return *v + } + var ret SecurityIpGroupIpGroup + return ret + }).(SecurityIpGroupIpGroupOutput) +} + +// IP group content. Only supports IP and IP mask. +func (o SecurityIpGroupIpGroupPtrOutput) Contents() pulumi.StringArrayOutput { + return o.ApplyT(func(v *SecurityIpGroupIpGroup) []string { + if v == nil { + return nil + } + return v.Contents + }).(pulumi.StringArrayOutput) +} + +// Group ID. +func (o SecurityIpGroupIpGroupPtrOutput) GroupId() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SecurityIpGroupIpGroup) *int { + if v == nil { + return nil + } + return v.GroupId + }).(pulumi.IntPtrOutput) +} + +// Group name. +func (o SecurityIpGroupIpGroupPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SecurityIpGroupIpGroup) *string { + if v == nil { + return nil + } + return &v.Name + }).(pulumi.StringPtrOutput) +} + type ZoneOwnershipVerification struct { // CNAME access, using DNS to resolve the information required for authentication. For details, please refer to [Site/Domain Name Ownership Verification ](https://cloud.tencent.com/document/product/1552/70789#7af6ecf8-afca-4e35-8811-b5797ed1bde5). Note: This field may return null, indicating that no valid value can be obtained. DnsVerifications []ZoneOwnershipVerificationDnsVerification `pulumi:"dnsVerifications"` @@ -9579,6 +10128,12 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ApplicationProxyIpv6PtrInput)(nil)).Elem(), ApplicationProxyIpv6Args{}) pulumi.RegisterInputType(reflect.TypeOf((*CertificateConfigServerCertInfoInput)(nil)).Elem(), CertificateConfigServerCertInfoArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CertificateConfigServerCertInfoArrayInput)(nil)).Elem(), CertificateConfigServerCertInfoArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*FunctionRuleFunctionRuleConditionInput)(nil)).Elem(), FunctionRuleFunctionRuleConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FunctionRuleFunctionRuleConditionArrayInput)(nil)).Elem(), FunctionRuleFunctionRuleConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*FunctionRuleFunctionRuleConditionRuleConditionInput)(nil)).Elem(), FunctionRuleFunctionRuleConditionRuleConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FunctionRuleFunctionRuleConditionRuleConditionArrayInput)(nil)).Elem(), FunctionRuleFunctionRuleConditionRuleConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*FunctionRuntimeEnvironmentEnvironmentVariableInput)(nil)).Elem(), FunctionRuntimeEnvironmentEnvironmentVariableArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FunctionRuntimeEnvironmentEnvironmentVariableArrayInput)(nil)).Elem(), FunctionRuntimeEnvironmentEnvironmentVariableArray{}) pulumi.RegisterInputType(reflect.TypeOf((*L4ProxyDdosProtectionConfigInput)(nil)).Elem(), L4ProxyDdosProtectionConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*L4ProxyDdosProtectionConfigPtrInput)(nil)).Elem(), L4ProxyDdosProtectionConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*OriginGroupRecordInput)(nil)).Elem(), OriginGroupRecordArgs{}) @@ -9645,6 +10200,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*RuleEngineRuleSubRuleRuleOrArrayInput)(nil)).Elem(), RuleEngineRuleSubRuleRuleOrArray{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleEngineRuleSubRuleRuleOrAndInput)(nil)).Elem(), RuleEngineRuleSubRuleRuleOrAndArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleEngineRuleSubRuleRuleOrAndArrayInput)(nil)).Elem(), RuleEngineRuleSubRuleRuleOrAndArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SecurityIpGroupIpGroupInput)(nil)).Elem(), SecurityIpGroupIpGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SecurityIpGroupIpGroupPtrInput)(nil)).Elem(), SecurityIpGroupIpGroupArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ZoneOwnershipVerificationInput)(nil)).Elem(), ZoneOwnershipVerificationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ZoneOwnershipVerificationArrayInput)(nil)).Elem(), ZoneOwnershipVerificationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ZoneOwnershipVerificationDnsVerificationInput)(nil)).Elem(), ZoneOwnershipVerificationDnsVerificationArgs{}) @@ -9711,6 +10268,12 @@ func init() { pulumi.RegisterOutputType(ApplicationProxyIpv6PtrOutput{}) pulumi.RegisterOutputType(CertificateConfigServerCertInfoOutput{}) pulumi.RegisterOutputType(CertificateConfigServerCertInfoArrayOutput{}) + pulumi.RegisterOutputType(FunctionRuleFunctionRuleConditionOutput{}) + pulumi.RegisterOutputType(FunctionRuleFunctionRuleConditionArrayOutput{}) + pulumi.RegisterOutputType(FunctionRuleFunctionRuleConditionRuleConditionOutput{}) + pulumi.RegisterOutputType(FunctionRuleFunctionRuleConditionRuleConditionArrayOutput{}) + pulumi.RegisterOutputType(FunctionRuntimeEnvironmentEnvironmentVariableOutput{}) + pulumi.RegisterOutputType(FunctionRuntimeEnvironmentEnvironmentVariableArrayOutput{}) pulumi.RegisterOutputType(L4ProxyDdosProtectionConfigOutput{}) pulumi.RegisterOutputType(L4ProxyDdosProtectionConfigPtrOutput{}) pulumi.RegisterOutputType(OriginGroupRecordOutput{}) @@ -9777,6 +10340,8 @@ func init() { pulumi.RegisterOutputType(RuleEngineRuleSubRuleRuleOrArrayOutput{}) pulumi.RegisterOutputType(RuleEngineRuleSubRuleRuleOrAndOutput{}) pulumi.RegisterOutputType(RuleEngineRuleSubRuleRuleOrAndArrayOutput{}) + pulumi.RegisterOutputType(SecurityIpGroupIpGroupOutput{}) + pulumi.RegisterOutputType(SecurityIpGroupIpGroupPtrOutput{}) pulumi.RegisterOutputType(ZoneOwnershipVerificationOutput{}) pulumi.RegisterOutputType(ZoneOwnershipVerificationArrayOutput{}) pulumi.RegisterOutputType(ZoneOwnershipVerificationDnsVerificationOutput{}) diff --git a/sdk/go/tencentcloud/teo/ruleEngine.go b/sdk/go/tencentcloud/teo/ruleEngine.go index fc53c4c44..dfac171c4 100644 --- a/sdk/go/tencentcloud/teo/ruleEngine.go +++ b/sdk/go/tencentcloud/teo/ruleEngine.go @@ -195,6 +195,8 @@ type RuleEngine struct { RuleId pulumi.StringOutput `pulumi:"ruleId"` // The rule name (1 to 255 characters). RuleName pulumi.StringOutput `pulumi:"ruleName"` + // Rule priority, the larger the value, the higher the priority, the minimum is 1. + RulePriority pulumi.IntOutput `pulumi:"rulePriority"` // Rule items list. Rules RuleEngineRuleArrayOutput `pulumi:"rules"` // Rule status. Values: @@ -251,6 +253,8 @@ type ruleEngineState struct { RuleId *string `pulumi:"ruleId"` // The rule name (1 to 255 characters). RuleName *string `pulumi:"ruleName"` + // Rule priority, the larger the value, the higher the priority, the minimum is 1. + RulePriority *int `pulumi:"rulePriority"` // Rule items list. Rules []RuleEngineRule `pulumi:"rules"` // Rule status. Values: @@ -266,6 +270,8 @@ type RuleEngineState struct { RuleId pulumi.StringPtrInput // The rule name (1 to 255 characters). RuleName pulumi.StringPtrInput + // Rule priority, the larger the value, the higher the priority, the minimum is 1. + RulePriority pulumi.IntPtrInput // Rule items list. Rules RuleEngineRuleArrayInput // Rule status. Values: @@ -404,6 +410,11 @@ func (o RuleEngineOutput) RuleName() pulumi.StringOutput { return o.ApplyT(func(v *RuleEngine) pulumi.StringOutput { return v.RuleName }).(pulumi.StringOutput) } +// Rule priority, the larger the value, the higher the priority, the minimum is 1. +func (o RuleEngineOutput) RulePriority() pulumi.IntOutput { + return o.ApplyT(func(v *RuleEngine) pulumi.IntOutput { return v.RulePriority }).(pulumi.IntOutput) +} + // Rule items list. func (o RuleEngineOutput) Rules() RuleEngineRuleArrayOutput { return o.ApplyT(func(v *RuleEngine) RuleEngineRuleArrayOutput { return v.Rules }).(RuleEngineRuleArrayOutput) diff --git a/sdk/go/tencentcloud/teo/securityIpGroup.go b/sdk/go/tencentcloud/teo/securityIpGroup.go new file mode 100644 index 000000000..863ae1fe2 --- /dev/null +++ b/sdk/go/tencentcloud/teo/securityIpGroup.go @@ -0,0 +1,236 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package teo + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" +) + +type SecurityIpGroup struct { + pulumi.CustomResourceState + + // IP group information, replace all when modifying. + IpGroup SecurityIpGroupIpGroupOutput `pulumi:"ipGroup"` + // Site ID. + ZoneId pulumi.StringOutput `pulumi:"zoneId"` +} + +// NewSecurityIpGroup registers a new resource with the given unique name, arguments, and options. +func NewSecurityIpGroup(ctx *pulumi.Context, + name string, args *SecurityIpGroupArgs, opts ...pulumi.ResourceOption) (*SecurityIpGroup, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.IpGroup == nil { + return nil, errors.New("invalid value for required argument 'IpGroup'") + } + if args.ZoneId == nil { + return nil, errors.New("invalid value for required argument 'ZoneId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource SecurityIpGroup + err := ctx.RegisterResource("tencentcloud:Teo/securityIpGroup:SecurityIpGroup", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetSecurityIpGroup gets an existing SecurityIpGroup 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 GetSecurityIpGroup(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *SecurityIpGroupState, opts ...pulumi.ResourceOption) (*SecurityIpGroup, error) { + var resource SecurityIpGroup + err := ctx.ReadResource("tencentcloud:Teo/securityIpGroup:SecurityIpGroup", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering SecurityIpGroup resources. +type securityIpGroupState struct { + // IP group information, replace all when modifying. + IpGroup *SecurityIpGroupIpGroup `pulumi:"ipGroup"` + // Site ID. + ZoneId *string `pulumi:"zoneId"` +} + +type SecurityIpGroupState struct { + // IP group information, replace all when modifying. + IpGroup SecurityIpGroupIpGroupPtrInput + // Site ID. + ZoneId pulumi.StringPtrInput +} + +func (SecurityIpGroupState) ElementType() reflect.Type { + return reflect.TypeOf((*securityIpGroupState)(nil)).Elem() +} + +type securityIpGroupArgs struct { + // IP group information, replace all when modifying. + IpGroup SecurityIpGroupIpGroup `pulumi:"ipGroup"` + // Site ID. + ZoneId string `pulumi:"zoneId"` +} + +// The set of arguments for constructing a SecurityIpGroup resource. +type SecurityIpGroupArgs struct { + // IP group information, replace all when modifying. + IpGroup SecurityIpGroupIpGroupInput + // Site ID. + ZoneId pulumi.StringInput +} + +func (SecurityIpGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*securityIpGroupArgs)(nil)).Elem() +} + +type SecurityIpGroupInput interface { + pulumi.Input + + ToSecurityIpGroupOutput() SecurityIpGroupOutput + ToSecurityIpGroupOutputWithContext(ctx context.Context) SecurityIpGroupOutput +} + +func (*SecurityIpGroup) ElementType() reflect.Type { + return reflect.TypeOf((**SecurityIpGroup)(nil)).Elem() +} + +func (i *SecurityIpGroup) ToSecurityIpGroupOutput() SecurityIpGroupOutput { + return i.ToSecurityIpGroupOutputWithContext(context.Background()) +} + +func (i *SecurityIpGroup) ToSecurityIpGroupOutputWithContext(ctx context.Context) SecurityIpGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityIpGroupOutput) +} + +// SecurityIpGroupArrayInput is an input type that accepts SecurityIpGroupArray and SecurityIpGroupArrayOutput values. +// You can construct a concrete instance of `SecurityIpGroupArrayInput` via: +// +// SecurityIpGroupArray{ SecurityIpGroupArgs{...} } +type SecurityIpGroupArrayInput interface { + pulumi.Input + + ToSecurityIpGroupArrayOutput() SecurityIpGroupArrayOutput + ToSecurityIpGroupArrayOutputWithContext(context.Context) SecurityIpGroupArrayOutput +} + +type SecurityIpGroupArray []SecurityIpGroupInput + +func (SecurityIpGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*SecurityIpGroup)(nil)).Elem() +} + +func (i SecurityIpGroupArray) ToSecurityIpGroupArrayOutput() SecurityIpGroupArrayOutput { + return i.ToSecurityIpGroupArrayOutputWithContext(context.Background()) +} + +func (i SecurityIpGroupArray) ToSecurityIpGroupArrayOutputWithContext(ctx context.Context) SecurityIpGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityIpGroupArrayOutput) +} + +// SecurityIpGroupMapInput is an input type that accepts SecurityIpGroupMap and SecurityIpGroupMapOutput values. +// You can construct a concrete instance of `SecurityIpGroupMapInput` via: +// +// SecurityIpGroupMap{ "key": SecurityIpGroupArgs{...} } +type SecurityIpGroupMapInput interface { + pulumi.Input + + ToSecurityIpGroupMapOutput() SecurityIpGroupMapOutput + ToSecurityIpGroupMapOutputWithContext(context.Context) SecurityIpGroupMapOutput +} + +type SecurityIpGroupMap map[string]SecurityIpGroupInput + +func (SecurityIpGroupMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*SecurityIpGroup)(nil)).Elem() +} + +func (i SecurityIpGroupMap) ToSecurityIpGroupMapOutput() SecurityIpGroupMapOutput { + return i.ToSecurityIpGroupMapOutputWithContext(context.Background()) +} + +func (i SecurityIpGroupMap) ToSecurityIpGroupMapOutputWithContext(ctx context.Context) SecurityIpGroupMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityIpGroupMapOutput) +} + +type SecurityIpGroupOutput struct{ *pulumi.OutputState } + +func (SecurityIpGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SecurityIpGroup)(nil)).Elem() +} + +func (o SecurityIpGroupOutput) ToSecurityIpGroupOutput() SecurityIpGroupOutput { + return o +} + +func (o SecurityIpGroupOutput) ToSecurityIpGroupOutputWithContext(ctx context.Context) SecurityIpGroupOutput { + return o +} + +// IP group information, replace all when modifying. +func (o SecurityIpGroupOutput) IpGroup() SecurityIpGroupIpGroupOutput { + return o.ApplyT(func(v *SecurityIpGroup) SecurityIpGroupIpGroupOutput { return v.IpGroup }).(SecurityIpGroupIpGroupOutput) +} + +// Site ID. +func (o SecurityIpGroupOutput) ZoneId() pulumi.StringOutput { + return o.ApplyT(func(v *SecurityIpGroup) pulumi.StringOutput { return v.ZoneId }).(pulumi.StringOutput) +} + +type SecurityIpGroupArrayOutput struct{ *pulumi.OutputState } + +func (SecurityIpGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*SecurityIpGroup)(nil)).Elem() +} + +func (o SecurityIpGroupArrayOutput) ToSecurityIpGroupArrayOutput() SecurityIpGroupArrayOutput { + return o +} + +func (o SecurityIpGroupArrayOutput) ToSecurityIpGroupArrayOutputWithContext(ctx context.Context) SecurityIpGroupArrayOutput { + return o +} + +func (o SecurityIpGroupArrayOutput) Index(i pulumi.IntInput) SecurityIpGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *SecurityIpGroup { + return vs[0].([]*SecurityIpGroup)[vs[1].(int)] + }).(SecurityIpGroupOutput) +} + +type SecurityIpGroupMapOutput struct{ *pulumi.OutputState } + +func (SecurityIpGroupMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*SecurityIpGroup)(nil)).Elem() +} + +func (o SecurityIpGroupMapOutput) ToSecurityIpGroupMapOutput() SecurityIpGroupMapOutput { + return o +} + +func (o SecurityIpGroupMapOutput) ToSecurityIpGroupMapOutputWithContext(ctx context.Context) SecurityIpGroupMapOutput { + return o +} + +func (o SecurityIpGroupMapOutput) MapIndex(k pulumi.StringInput) SecurityIpGroupOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *SecurityIpGroup { + return vs[0].(map[string]*SecurityIpGroup)[vs[1].(string)] + }).(SecurityIpGroupOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*SecurityIpGroupInput)(nil)).Elem(), &SecurityIpGroup{}) + pulumi.RegisterInputType(reflect.TypeOf((*SecurityIpGroupArrayInput)(nil)).Elem(), SecurityIpGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SecurityIpGroupMapInput)(nil)).Elem(), SecurityIpGroupMap{}) + pulumi.RegisterOutputType(SecurityIpGroupOutput{}) + pulumi.RegisterOutputType(SecurityIpGroupArrayOutput{}) + pulumi.RegisterOutputType(SecurityIpGroupMapOutput{}) +} 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/flowLog.go b/sdk/go/tencentcloud/vpc/flowLog.go index 9f166d618..8bfb5ebd5 100644 --- a/sdk/go/tencentcloud/vpc/flowLog.go +++ b/sdk/go/tencentcloud/vpc/flowLog.go @@ -23,7 +23,7 @@ import ( // vpc flow_log can be imported using the flow log Id combine vpc Id, e.g. // // ```sh -// $ pulumi import tencentcloud:Vpc/flowLog:FlowLog flow_log flow_log_id fl-xxxx1234#vpc-yyyy5678 +// $ pulumi import tencentcloud:Vpc/flowLog:FlowLog example fl-7k59x22l#vpc-n6qjlen5 // ``` type FlowLog struct { pulumi.CustomResourceState 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..048deb07b 100644 --- a/sdk/go/tencentcloud/vpc/notifyRoutes.go +++ b/sdk/go/tencentcloud/vpc/notifyRoutes.go @@ -12,13 +12,22 @@ import ( "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" ) +// Provides a resource to create a vpc notifyRoutes +// +// ## Import +// +// vpc notify_routes can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Vpc/notifyRoutes:NotifyRoutes notify_routes route_table_id#route_item_id +// ``` type NotifyRoutes struct { pulumi.CustomResourceState // 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 +71,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 +80,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 +91,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 +99,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 +197,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/go/tencentcloud/vpn/connection.go b/sdk/go/tencentcloud/vpn/connection.go index 40ca090e8..b7a07fb72 100644 --- a/sdk/go/tencentcloud/vpn/connection.go +++ b/sdk/go/tencentcloud/vpn/connection.go @@ -105,7 +105,7 @@ type Connection struct { // Local address of IKE operation specification, valid when ikeLocalIdentity is `ADDRESS`, generally the value is `publicIpAddress` of the related VPN gateway. IkeLocalAddress pulumi.StringPtrOutput `pulumi:"ikeLocalAddress"` // Local FQDN name of the IKE operation specification. - IkeLocalFqdnName pulumi.StringPtrOutput `pulumi:"ikeLocalFqdnName"` + IkeLocalFqdnName pulumi.StringOutput `pulumi:"ikeLocalFqdnName"` // Local identity way of IKE operation specification. Valid values: `ADDRESS`, `FQDN`. Default value is `ADDRESS`. IkeLocalIdentity pulumi.StringPtrOutput `pulumi:"ikeLocalIdentity"` // Proto authenticate algorithm of the IKE operation specification. Valid values: `MD5`, `SHA`, `SHA-256`. Default Value is `MD5`. @@ -115,7 +115,7 @@ type Connection struct { // Remote address of IKE operation specification, valid when ikeRemoteIdentity is `ADDRESS`, generally the value is `publicIpAddress` of the related customer gateway. IkeRemoteAddress pulumi.StringPtrOutput `pulumi:"ikeRemoteAddress"` // Remote FQDN name of the IKE operation specification. - IkeRemoteFqdnName pulumi.StringPtrOutput `pulumi:"ikeRemoteFqdnName"` + IkeRemoteFqdnName pulumi.StringOutput `pulumi:"ikeRemoteFqdnName"` // Remote identity way of IKE operation specification. Valid values: `ADDRESS`, `FQDN`. Default value is `ADDRESS`. IkeRemoteIdentity pulumi.StringPtrOutput `pulumi:"ikeRemoteIdentity"` // SA lifetime of the IKE operation specification, unit is `second`. The value ranges from 60 to 604800. Default value is 86400 seconds. @@ -631,8 +631,8 @@ func (o ConnectionOutput) IkeLocalAddress() pulumi.StringPtrOutput { } // Local FQDN name of the IKE operation specification. -func (o ConnectionOutput) IkeLocalFqdnName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Connection) pulumi.StringPtrOutput { return v.IkeLocalFqdnName }).(pulumi.StringPtrOutput) +func (o ConnectionOutput) IkeLocalFqdnName() pulumi.StringOutput { + return o.ApplyT(func(v *Connection) pulumi.StringOutput { return v.IkeLocalFqdnName }).(pulumi.StringOutput) } // Local identity way of IKE operation specification. Valid values: `ADDRESS`, `FQDN`. Default value is `ADDRESS`. @@ -656,8 +656,8 @@ func (o ConnectionOutput) IkeRemoteAddress() pulumi.StringPtrOutput { } // Remote FQDN name of the IKE operation specification. -func (o ConnectionOutput) IkeRemoteFqdnName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Connection) pulumi.StringPtrOutput { return v.IkeRemoteFqdnName }).(pulumi.StringPtrOutput) +func (o ConnectionOutput) IkeRemoteFqdnName() pulumi.StringOutput { + return o.ApplyT(func(v *Connection) pulumi.StringOutput { return v.IkeRemoteFqdnName }).(pulumi.StringOutput) } // Remote identity way of IKE operation specification. Valid values: `ADDRESS`, `FQDN`. Default value is `ADDRESS`. diff --git a/sdk/go/tencentcloud/waf/getWafInfos.go b/sdk/go/tencentcloud/waf/getWafInfos.go deleted file mode 100644 index c4a77a5fb..000000000 --- a/sdk/go/tencentcloud/waf/getWafInfos.go +++ /dev/null @@ -1,96 +0,0 @@ -// 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 waf - -import ( - "context" - "reflect" - - "github.com/pulumi/pulumi/sdk/v3/go/pulumi" - "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" -) - -func GetWafInfos(ctx *pulumi.Context, args *GetWafInfosArgs, opts ...pulumi.InvokeOption) (*GetWafInfosResult, error) { - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetWafInfosResult - err := ctx.Invoke("tencentcloud:Waf/getWafInfos:getWafInfos", args, &rv, opts...) - if err != nil { - return nil, err - } - return &rv, nil -} - -// A collection of arguments for invoking getWafInfos. -type GetWafInfosArgs struct { - Params []GetWafInfosParam `pulumi:"params"` - ResultOutputFile *string `pulumi:"resultOutputFile"` -} - -// A collection of values returned by getWafInfos. -type GetWafInfosResult struct { - HostLists []GetWafInfosHostList `pulumi:"hostLists"` - // The provider-assigned unique ID for this managed resource. - Id string `pulumi:"id"` - Params []GetWafInfosParam `pulumi:"params"` - ResultOutputFile *string `pulumi:"resultOutputFile"` -} - -func GetWafInfosOutput(ctx *pulumi.Context, args GetWafInfosOutputArgs, opts ...pulumi.InvokeOption) GetWafInfosResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). - ApplyT(func(v interface{}) (GetWafInfosResult, error) { - args := v.(GetWafInfosArgs) - r, err := GetWafInfos(ctx, &args, opts...) - var s GetWafInfosResult - if r != nil { - s = *r - } - return s, err - }).(GetWafInfosResultOutput) -} - -// A collection of arguments for invoking getWafInfos. -type GetWafInfosOutputArgs struct { - Params GetWafInfosParamArrayInput `pulumi:"params"` - ResultOutputFile pulumi.StringPtrInput `pulumi:"resultOutputFile"` -} - -func (GetWafInfosOutputArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetWafInfosArgs)(nil)).Elem() -} - -// A collection of values returned by getWafInfos. -type GetWafInfosResultOutput struct{ *pulumi.OutputState } - -func (GetWafInfosResultOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetWafInfosResult)(nil)).Elem() -} - -func (o GetWafInfosResultOutput) ToGetWafInfosResultOutput() GetWafInfosResultOutput { - return o -} - -func (o GetWafInfosResultOutput) ToGetWafInfosResultOutputWithContext(ctx context.Context) GetWafInfosResultOutput { - return o -} - -func (o GetWafInfosResultOutput) HostLists() GetWafInfosHostListArrayOutput { - return o.ApplyT(func(v GetWafInfosResult) []GetWafInfosHostList { return v.HostLists }).(GetWafInfosHostListArrayOutput) -} - -// The provider-assigned unique ID for this managed resource. -func (o GetWafInfosResultOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v GetWafInfosResult) string { return v.Id }).(pulumi.StringOutput) -} - -func (o GetWafInfosResultOutput) Params() GetWafInfosParamArrayOutput { - return o.ApplyT(func(v GetWafInfosResult) []GetWafInfosParam { return v.Params }).(GetWafInfosParamArrayOutput) -} - -func (o GetWafInfosResultOutput) ResultOutputFile() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetWafInfosResult) *string { return v.ResultOutputFile }).(pulumi.StringPtrOutput) -} - -func init() { - pulumi.RegisterOutputType(GetWafInfosResultOutput{}) -} diff --git a/sdk/go/tencentcloud/waf/init.go b/sdk/go/tencentcloud/waf/init.go index 07b469321..0c3b0afd9 100644 --- a/sdk/go/tencentcloud/waf/init.go +++ b/sdk/go/tencentcloud/waf/init.go @@ -43,8 +43,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &CustomWhiteRule{} case "tencentcloud:Waf/ipAccessControl:IpAccessControl": r = &IpAccessControl{} - case "tencentcloud:Waf/modifyAccessPeriod:ModifyAccessPeriod": - r = &ModifyAccessPeriod{} + case "tencentcloud:Waf/ipAccessControlV2:IpAccessControlV2": + r = &IpAccessControlV2{} case "tencentcloud:Waf/moduleStatus:ModuleStatus": r = &ModuleStatus{} case "tencentcloud:Waf/protectionMode:ProtectionMode": @@ -125,7 +125,7 @@ func init() { ) pulumi.RegisterResourceModule( "tencentcloud", - "Waf/modifyAccessPeriod", + "Waf/ipAccessControlV2", &module{version}, ) pulumi.RegisterResourceModule( diff --git a/sdk/go/tencentcloud/waf/ipAccessControl.go b/sdk/go/tencentcloud/waf/ipAccessControl.go index 9aa0c2b79..51d5a6136 100644 --- a/sdk/go/tencentcloud/waf/ipAccessControl.go +++ b/sdk/go/tencentcloud/waf/ipAccessControl.go @@ -14,6 +14,8 @@ import ( // Provides a resource to create a waf ipAccessControl // +// > **NOTE:** This resource is no longer under maintenance, please use `Waf.IpAccessControlV2` instead +// // ## Example Usage // // diff --git a/sdk/go/tencentcloud/waf/ipAccessControlV2.go b/sdk/go/tencentcloud/waf/ipAccessControlV2.go new file mode 100644 index 000000000..490f9b579 --- /dev/null +++ b/sdk/go/tencentcloud/waf/ipAccessControlV2.go @@ -0,0 +1,378 @@ +// 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 waf + +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 waf ip access control v2 +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Waf" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Waf.NewIpAccessControlV2(ctx, "example", &Waf.IpAccessControlV2Args{ +// ActionType: pulumi.Int(40), +// Domain: pulumi.String("example.com"), +// InstanceId: pulumi.String("waf_2kxtlbky11bbcr4b"), +// IpLists: pulumi.StringArray{ +// pulumi.String("10.0.0.10"), +// pulumi.String("172.0.0.16"), +// pulumi.String("192.168.0.30"), +// }, +// JobDateTime: &waf.IpAccessControlV2JobDateTimeArgs{ +// TimeTZone: pulumi.String("UTC+8"), +// Timeds: waf.IpAccessControlV2JobDateTimeTimedArray{ +// &waf.IpAccessControlV2JobDateTimeTimedArgs{ +// EndDateTime: pulumi.Int(0), +// StartDateTime: pulumi.Int(0), +// }, +// }, +// }, +// JobType: pulumi.String("TimedJob"), +// Note: pulumi.String("note."), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// waf ip access control v2 can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Waf/ipAccessControlV2:IpAccessControlV2 example waf_2kxtlbky11bbcr4b#example.com#5503616778 +// ``` +type IpAccessControlV2 struct { + pulumi.CustomResourceState + + // 42: blocklist; 40: allowlist. + ActionType pulumi.IntOutput `pulumi:"actionType"` + // Specific domain name, for example, test.qcloudwaf.com. + // Global domain name, that is, global. + Domain pulumi.StringOutput `pulumi:"domain"` + // Instance ID. + InstanceId pulumi.StringOutput `pulumi:"instanceId"` + // IP parameter list. + IpLists pulumi.StringArrayOutput `pulumi:"ipLists"` + // Details of scheduled configuration. + JobDateTime IpAccessControlV2JobDateTimeOutput `pulumi:"jobDateTime"` + // Scheduled configuration type. + JobType pulumi.StringOutput `pulumi:"jobType"` + // Remarks. + Note pulumi.StringPtrOutput `pulumi:"note"` +} + +// NewIpAccessControlV2 registers a new resource with the given unique name, arguments, and options. +func NewIpAccessControlV2(ctx *pulumi.Context, + name string, args *IpAccessControlV2Args, opts ...pulumi.ResourceOption) (*IpAccessControlV2, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ActionType == nil { + return nil, errors.New("invalid value for required argument 'ActionType'") + } + if args.Domain == nil { + return nil, errors.New("invalid value for required argument 'Domain'") + } + if args.InstanceId == nil { + return nil, errors.New("invalid value for required argument 'InstanceId'") + } + if args.IpLists == nil { + return nil, errors.New("invalid value for required argument 'IpLists'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IpAccessControlV2 + err := ctx.RegisterResource("tencentcloud:Waf/ipAccessControlV2:IpAccessControlV2", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIpAccessControlV2 gets an existing IpAccessControlV2 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 GetIpAccessControlV2(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IpAccessControlV2State, opts ...pulumi.ResourceOption) (*IpAccessControlV2, error) { + var resource IpAccessControlV2 + err := ctx.ReadResource("tencentcloud:Waf/ipAccessControlV2:IpAccessControlV2", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IpAccessControlV2 resources. +type ipAccessControlV2State struct { + // 42: blocklist; 40: allowlist. + ActionType *int `pulumi:"actionType"` + // Specific domain name, for example, test.qcloudwaf.com. + // Global domain name, that is, global. + Domain *string `pulumi:"domain"` + // Instance ID. + InstanceId *string `pulumi:"instanceId"` + // IP parameter list. + IpLists []string `pulumi:"ipLists"` + // Details of scheduled configuration. + JobDateTime *IpAccessControlV2JobDateTime `pulumi:"jobDateTime"` + // Scheduled configuration type. + JobType *string `pulumi:"jobType"` + // Remarks. + Note *string `pulumi:"note"` +} + +type IpAccessControlV2State struct { + // 42: blocklist; 40: allowlist. + ActionType pulumi.IntPtrInput + // Specific domain name, for example, test.qcloudwaf.com. + // Global domain name, that is, global. + Domain pulumi.StringPtrInput + // Instance ID. + InstanceId pulumi.StringPtrInput + // IP parameter list. + IpLists pulumi.StringArrayInput + // Details of scheduled configuration. + JobDateTime IpAccessControlV2JobDateTimePtrInput + // Scheduled configuration type. + JobType pulumi.StringPtrInput + // Remarks. + Note pulumi.StringPtrInput +} + +func (IpAccessControlV2State) ElementType() reflect.Type { + return reflect.TypeOf((*ipAccessControlV2State)(nil)).Elem() +} + +type ipAccessControlV2Args struct { + // 42: blocklist; 40: allowlist. + ActionType int `pulumi:"actionType"` + // Specific domain name, for example, test.qcloudwaf.com. + // Global domain name, that is, global. + Domain string `pulumi:"domain"` + // Instance ID. + InstanceId string `pulumi:"instanceId"` + // IP parameter list. + IpLists []string `pulumi:"ipLists"` + // Details of scheduled configuration. + JobDateTime *IpAccessControlV2JobDateTime `pulumi:"jobDateTime"` + // Scheduled configuration type. + JobType *string `pulumi:"jobType"` + // Remarks. + Note *string `pulumi:"note"` +} + +// The set of arguments for constructing a IpAccessControlV2 resource. +type IpAccessControlV2Args struct { + // 42: blocklist; 40: allowlist. + ActionType pulumi.IntInput + // Specific domain name, for example, test.qcloudwaf.com. + // Global domain name, that is, global. + Domain pulumi.StringInput + // Instance ID. + InstanceId pulumi.StringInput + // IP parameter list. + IpLists pulumi.StringArrayInput + // Details of scheduled configuration. + JobDateTime IpAccessControlV2JobDateTimePtrInput + // Scheduled configuration type. + JobType pulumi.StringPtrInput + // Remarks. + Note pulumi.StringPtrInput +} + +func (IpAccessControlV2Args) ElementType() reflect.Type { + return reflect.TypeOf((*ipAccessControlV2Args)(nil)).Elem() +} + +type IpAccessControlV2Input interface { + pulumi.Input + + ToIpAccessControlV2Output() IpAccessControlV2Output + ToIpAccessControlV2OutputWithContext(ctx context.Context) IpAccessControlV2Output +} + +func (*IpAccessControlV2) ElementType() reflect.Type { + return reflect.TypeOf((**IpAccessControlV2)(nil)).Elem() +} + +func (i *IpAccessControlV2) ToIpAccessControlV2Output() IpAccessControlV2Output { + return i.ToIpAccessControlV2OutputWithContext(context.Background()) +} + +func (i *IpAccessControlV2) ToIpAccessControlV2OutputWithContext(ctx context.Context) IpAccessControlV2Output { + return pulumi.ToOutputWithContext(ctx, i).(IpAccessControlV2Output) +} + +// IpAccessControlV2ArrayInput is an input type that accepts IpAccessControlV2Array and IpAccessControlV2ArrayOutput values. +// You can construct a concrete instance of `IpAccessControlV2ArrayInput` via: +// +// IpAccessControlV2Array{ IpAccessControlV2Args{...} } +type IpAccessControlV2ArrayInput interface { + pulumi.Input + + ToIpAccessControlV2ArrayOutput() IpAccessControlV2ArrayOutput + ToIpAccessControlV2ArrayOutputWithContext(context.Context) IpAccessControlV2ArrayOutput +} + +type IpAccessControlV2Array []IpAccessControlV2Input + +func (IpAccessControlV2Array) ElementType() reflect.Type { + return reflect.TypeOf((*[]*IpAccessControlV2)(nil)).Elem() +} + +func (i IpAccessControlV2Array) ToIpAccessControlV2ArrayOutput() IpAccessControlV2ArrayOutput { + return i.ToIpAccessControlV2ArrayOutputWithContext(context.Background()) +} + +func (i IpAccessControlV2Array) ToIpAccessControlV2ArrayOutputWithContext(ctx context.Context) IpAccessControlV2ArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IpAccessControlV2ArrayOutput) +} + +// IpAccessControlV2MapInput is an input type that accepts IpAccessControlV2Map and IpAccessControlV2MapOutput values. +// You can construct a concrete instance of `IpAccessControlV2MapInput` via: +// +// IpAccessControlV2Map{ "key": IpAccessControlV2Args{...} } +type IpAccessControlV2MapInput interface { + pulumi.Input + + ToIpAccessControlV2MapOutput() IpAccessControlV2MapOutput + ToIpAccessControlV2MapOutputWithContext(context.Context) IpAccessControlV2MapOutput +} + +type IpAccessControlV2Map map[string]IpAccessControlV2Input + +func (IpAccessControlV2Map) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*IpAccessControlV2)(nil)).Elem() +} + +func (i IpAccessControlV2Map) ToIpAccessControlV2MapOutput() IpAccessControlV2MapOutput { + return i.ToIpAccessControlV2MapOutputWithContext(context.Background()) +} + +func (i IpAccessControlV2Map) ToIpAccessControlV2MapOutputWithContext(ctx context.Context) IpAccessControlV2MapOutput { + return pulumi.ToOutputWithContext(ctx, i).(IpAccessControlV2MapOutput) +} + +type IpAccessControlV2Output struct{ *pulumi.OutputState } + +func (IpAccessControlV2Output) ElementType() reflect.Type { + return reflect.TypeOf((**IpAccessControlV2)(nil)).Elem() +} + +func (o IpAccessControlV2Output) ToIpAccessControlV2Output() IpAccessControlV2Output { + return o +} + +func (o IpAccessControlV2Output) ToIpAccessControlV2OutputWithContext(ctx context.Context) IpAccessControlV2Output { + return o +} + +// 42: blocklist; 40: allowlist. +func (o IpAccessControlV2Output) ActionType() pulumi.IntOutput { + return o.ApplyT(func(v *IpAccessControlV2) pulumi.IntOutput { return v.ActionType }).(pulumi.IntOutput) +} + +// Specific domain name, for example, test.qcloudwaf.com. +// Global domain name, that is, global. +func (o IpAccessControlV2Output) Domain() pulumi.StringOutput { + return o.ApplyT(func(v *IpAccessControlV2) pulumi.StringOutput { return v.Domain }).(pulumi.StringOutput) +} + +// Instance ID. +func (o IpAccessControlV2Output) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *IpAccessControlV2) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) +} + +// IP parameter list. +func (o IpAccessControlV2Output) IpLists() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IpAccessControlV2) pulumi.StringArrayOutput { return v.IpLists }).(pulumi.StringArrayOutput) +} + +// Details of scheduled configuration. +func (o IpAccessControlV2Output) JobDateTime() IpAccessControlV2JobDateTimeOutput { + return o.ApplyT(func(v *IpAccessControlV2) IpAccessControlV2JobDateTimeOutput { return v.JobDateTime }).(IpAccessControlV2JobDateTimeOutput) +} + +// Scheduled configuration type. +func (o IpAccessControlV2Output) JobType() pulumi.StringOutput { + return o.ApplyT(func(v *IpAccessControlV2) pulumi.StringOutput { return v.JobType }).(pulumi.StringOutput) +} + +// Remarks. +func (o IpAccessControlV2Output) Note() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IpAccessControlV2) pulumi.StringPtrOutput { return v.Note }).(pulumi.StringPtrOutput) +} + +type IpAccessControlV2ArrayOutput struct{ *pulumi.OutputState } + +func (IpAccessControlV2ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*IpAccessControlV2)(nil)).Elem() +} + +func (o IpAccessControlV2ArrayOutput) ToIpAccessControlV2ArrayOutput() IpAccessControlV2ArrayOutput { + return o +} + +func (o IpAccessControlV2ArrayOutput) ToIpAccessControlV2ArrayOutputWithContext(ctx context.Context) IpAccessControlV2ArrayOutput { + return o +} + +func (o IpAccessControlV2ArrayOutput) Index(i pulumi.IntInput) IpAccessControlV2Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *IpAccessControlV2 { + return vs[0].([]*IpAccessControlV2)[vs[1].(int)] + }).(IpAccessControlV2Output) +} + +type IpAccessControlV2MapOutput struct{ *pulumi.OutputState } + +func (IpAccessControlV2MapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*IpAccessControlV2)(nil)).Elem() +} + +func (o IpAccessControlV2MapOutput) ToIpAccessControlV2MapOutput() IpAccessControlV2MapOutput { + return o +} + +func (o IpAccessControlV2MapOutput) ToIpAccessControlV2MapOutputWithContext(ctx context.Context) IpAccessControlV2MapOutput { + return o +} + +func (o IpAccessControlV2MapOutput) MapIndex(k pulumi.StringInput) IpAccessControlV2Output { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *IpAccessControlV2 { + return vs[0].(map[string]*IpAccessControlV2)[vs[1].(string)] + }).(IpAccessControlV2Output) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IpAccessControlV2Input)(nil)).Elem(), &IpAccessControlV2{}) + pulumi.RegisterInputType(reflect.TypeOf((*IpAccessControlV2ArrayInput)(nil)).Elem(), IpAccessControlV2Array{}) + pulumi.RegisterInputType(reflect.TypeOf((*IpAccessControlV2MapInput)(nil)).Elem(), IpAccessControlV2Map{}) + pulumi.RegisterOutputType(IpAccessControlV2Output{}) + pulumi.RegisterOutputType(IpAccessControlV2ArrayOutput{}) + pulumi.RegisterOutputType(IpAccessControlV2MapOutput{}) +} diff --git a/sdk/go/tencentcloud/waf/modifyAccessPeriod.go b/sdk/go/tencentcloud/waf/modifyAccessPeriod.go deleted file mode 100644 index 14913ece1..000000000 --- a/sdk/go/tencentcloud/waf/modifyAccessPeriod.go +++ /dev/null @@ -1,266 +0,0 @@ -// 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 waf - -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 waf modifyAccessPeriod -// -// ## Example Usage -// -// -// ```go -// package main -// -// import ( -// -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Waf" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Waf.NewModifyAccessPeriod(ctx, "example", &Waf.ModifyAccessPeriodArgs{ -// Period: pulumi.Int(30), -// TopicId: pulumi.String("1ae37c76-df99-4e2b-998c-20f39eba6226"), -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// -type ModifyAccessPeriod struct { - pulumi.CustomResourceState - - // Access log retention period, range is [1, 180]. - Period pulumi.IntOutput `pulumi:"period"` - // Log topic, new version does not need to be uploaded. - TopicId pulumi.StringOutput `pulumi:"topicId"` -} - -// NewModifyAccessPeriod registers a new resource with the given unique name, arguments, and options. -func NewModifyAccessPeriod(ctx *pulumi.Context, - name string, args *ModifyAccessPeriodArgs, opts ...pulumi.ResourceOption) (*ModifyAccessPeriod, error) { - if args == nil { - return nil, errors.New("missing one or more required arguments") - } - - if args.Period == nil { - return nil, errors.New("invalid value for required argument 'Period'") - } - if args.TopicId == nil { - return nil, errors.New("invalid value for required argument 'TopicId'") - } - opts = internal.PkgResourceDefaultOpts(opts) - var resource ModifyAccessPeriod - err := ctx.RegisterResource("tencentcloud:Waf/modifyAccessPeriod:ModifyAccessPeriod", name, args, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -// GetModifyAccessPeriod gets an existing ModifyAccessPeriod 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 GetModifyAccessPeriod(ctx *pulumi.Context, - name string, id pulumi.IDInput, state *ModifyAccessPeriodState, opts ...pulumi.ResourceOption) (*ModifyAccessPeriod, error) { - var resource ModifyAccessPeriod - err := ctx.ReadResource("tencentcloud:Waf/modifyAccessPeriod:ModifyAccessPeriod", name, id, state, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -// Input properties used for looking up and filtering ModifyAccessPeriod resources. -type modifyAccessPeriodState struct { - // Access log retention period, range is [1, 180]. - Period *int `pulumi:"period"` - // Log topic, new version does not need to be uploaded. - TopicId *string `pulumi:"topicId"` -} - -type ModifyAccessPeriodState struct { - // Access log retention period, range is [1, 180]. - Period pulumi.IntPtrInput - // Log topic, new version does not need to be uploaded. - TopicId pulumi.StringPtrInput -} - -func (ModifyAccessPeriodState) ElementType() reflect.Type { - return reflect.TypeOf((*modifyAccessPeriodState)(nil)).Elem() -} - -type modifyAccessPeriodArgs struct { - // Access log retention period, range is [1, 180]. - Period int `pulumi:"period"` - // Log topic, new version does not need to be uploaded. - TopicId string `pulumi:"topicId"` -} - -// The set of arguments for constructing a ModifyAccessPeriod resource. -type ModifyAccessPeriodArgs struct { - // Access log retention period, range is [1, 180]. - Period pulumi.IntInput - // Log topic, new version does not need to be uploaded. - TopicId pulumi.StringInput -} - -func (ModifyAccessPeriodArgs) ElementType() reflect.Type { - return reflect.TypeOf((*modifyAccessPeriodArgs)(nil)).Elem() -} - -type ModifyAccessPeriodInput interface { - pulumi.Input - - ToModifyAccessPeriodOutput() ModifyAccessPeriodOutput - ToModifyAccessPeriodOutputWithContext(ctx context.Context) ModifyAccessPeriodOutput -} - -func (*ModifyAccessPeriod) ElementType() reflect.Type { - return reflect.TypeOf((**ModifyAccessPeriod)(nil)).Elem() -} - -func (i *ModifyAccessPeriod) ToModifyAccessPeriodOutput() ModifyAccessPeriodOutput { - return i.ToModifyAccessPeriodOutputWithContext(context.Background()) -} - -func (i *ModifyAccessPeriod) ToModifyAccessPeriodOutputWithContext(ctx context.Context) ModifyAccessPeriodOutput { - return pulumi.ToOutputWithContext(ctx, i).(ModifyAccessPeriodOutput) -} - -// ModifyAccessPeriodArrayInput is an input type that accepts ModifyAccessPeriodArray and ModifyAccessPeriodArrayOutput values. -// You can construct a concrete instance of `ModifyAccessPeriodArrayInput` via: -// -// ModifyAccessPeriodArray{ ModifyAccessPeriodArgs{...} } -type ModifyAccessPeriodArrayInput interface { - pulumi.Input - - ToModifyAccessPeriodArrayOutput() ModifyAccessPeriodArrayOutput - ToModifyAccessPeriodArrayOutputWithContext(context.Context) ModifyAccessPeriodArrayOutput -} - -type ModifyAccessPeriodArray []ModifyAccessPeriodInput - -func (ModifyAccessPeriodArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]*ModifyAccessPeriod)(nil)).Elem() -} - -func (i ModifyAccessPeriodArray) ToModifyAccessPeriodArrayOutput() ModifyAccessPeriodArrayOutput { - return i.ToModifyAccessPeriodArrayOutputWithContext(context.Background()) -} - -func (i ModifyAccessPeriodArray) ToModifyAccessPeriodArrayOutputWithContext(ctx context.Context) ModifyAccessPeriodArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ModifyAccessPeriodArrayOutput) -} - -// ModifyAccessPeriodMapInput is an input type that accepts ModifyAccessPeriodMap and ModifyAccessPeriodMapOutput values. -// You can construct a concrete instance of `ModifyAccessPeriodMapInput` via: -// -// ModifyAccessPeriodMap{ "key": ModifyAccessPeriodArgs{...} } -type ModifyAccessPeriodMapInput interface { - pulumi.Input - - ToModifyAccessPeriodMapOutput() ModifyAccessPeriodMapOutput - ToModifyAccessPeriodMapOutputWithContext(context.Context) ModifyAccessPeriodMapOutput -} - -type ModifyAccessPeriodMap map[string]ModifyAccessPeriodInput - -func (ModifyAccessPeriodMap) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*ModifyAccessPeriod)(nil)).Elem() -} - -func (i ModifyAccessPeriodMap) ToModifyAccessPeriodMapOutput() ModifyAccessPeriodMapOutput { - return i.ToModifyAccessPeriodMapOutputWithContext(context.Background()) -} - -func (i ModifyAccessPeriodMap) ToModifyAccessPeriodMapOutputWithContext(ctx context.Context) ModifyAccessPeriodMapOutput { - return pulumi.ToOutputWithContext(ctx, i).(ModifyAccessPeriodMapOutput) -} - -type ModifyAccessPeriodOutput struct{ *pulumi.OutputState } - -func (ModifyAccessPeriodOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ModifyAccessPeriod)(nil)).Elem() -} - -func (o ModifyAccessPeriodOutput) ToModifyAccessPeriodOutput() ModifyAccessPeriodOutput { - return o -} - -func (o ModifyAccessPeriodOutput) ToModifyAccessPeriodOutputWithContext(ctx context.Context) ModifyAccessPeriodOutput { - return o -} - -// Access log retention period, range is [1, 180]. -func (o ModifyAccessPeriodOutput) Period() pulumi.IntOutput { - return o.ApplyT(func(v *ModifyAccessPeriod) pulumi.IntOutput { return v.Period }).(pulumi.IntOutput) -} - -// Log topic, new version does not need to be uploaded. -func (o ModifyAccessPeriodOutput) TopicId() pulumi.StringOutput { - return o.ApplyT(func(v *ModifyAccessPeriod) pulumi.StringOutput { return v.TopicId }).(pulumi.StringOutput) -} - -type ModifyAccessPeriodArrayOutput struct{ *pulumi.OutputState } - -func (ModifyAccessPeriodArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]*ModifyAccessPeriod)(nil)).Elem() -} - -func (o ModifyAccessPeriodArrayOutput) ToModifyAccessPeriodArrayOutput() ModifyAccessPeriodArrayOutput { - return o -} - -func (o ModifyAccessPeriodArrayOutput) ToModifyAccessPeriodArrayOutputWithContext(ctx context.Context) ModifyAccessPeriodArrayOutput { - return o -} - -func (o ModifyAccessPeriodArrayOutput) Index(i pulumi.IntInput) ModifyAccessPeriodOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ModifyAccessPeriod { - return vs[0].([]*ModifyAccessPeriod)[vs[1].(int)] - }).(ModifyAccessPeriodOutput) -} - -type ModifyAccessPeriodMapOutput struct{ *pulumi.OutputState } - -func (ModifyAccessPeriodMapOutput) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*ModifyAccessPeriod)(nil)).Elem() -} - -func (o ModifyAccessPeriodMapOutput) ToModifyAccessPeriodMapOutput() ModifyAccessPeriodMapOutput { - return o -} - -func (o ModifyAccessPeriodMapOutput) ToModifyAccessPeriodMapOutputWithContext(ctx context.Context) ModifyAccessPeriodMapOutput { - return o -} - -func (o ModifyAccessPeriodMapOutput) MapIndex(k pulumi.StringInput) ModifyAccessPeriodOutput { - return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ModifyAccessPeriod { - return vs[0].(map[string]*ModifyAccessPeriod)[vs[1].(string)] - }).(ModifyAccessPeriodOutput) -} - -func init() { - pulumi.RegisterInputType(reflect.TypeOf((*ModifyAccessPeriodInput)(nil)).Elem(), &ModifyAccessPeriod{}) - pulumi.RegisterInputType(reflect.TypeOf((*ModifyAccessPeriodArrayInput)(nil)).Elem(), ModifyAccessPeriodArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*ModifyAccessPeriodMapInput)(nil)).Elem(), ModifyAccessPeriodMap{}) - pulumi.RegisterOutputType(ModifyAccessPeriodOutput{}) - pulumi.RegisterOutputType(ModifyAccessPeriodArrayOutput{}) - pulumi.RegisterOutputType(ModifyAccessPeriodMapOutput{}) -} diff --git a/sdk/go/tencentcloud/waf/pulumiTypes.go b/sdk/go/tencentcloud/waf/pulumiTypes.go index 1466a645b..93f002006 100644 --- a/sdk/go/tencentcloud/waf/pulumiTypes.go +++ b/sdk/go/tencentcloud/waf/pulumiTypes.go @@ -705,6 +705,447 @@ func (o IpAccessControlItemArrayOutput) Index(i pulumi.IntInput) IpAccessControl }).(IpAccessControlItemOutput) } +type IpAccessControlV2JobDateTime struct { + // Time parameters for periodic execution + // Note: This field may return null, indicating that no valid values can be obtained. + Crons []IpAccessControlV2JobDateTimeCron `pulumi:"crons"` + // Time zone + // Note: This field may return null, indicating that no valid values can be obtained. + TimeTZone *string `pulumi:"timeTZone"` + // Time parameters for scheduled execution + // Note: This field may return null, indicating that no valid values can be obtained. + Timeds []IpAccessControlV2JobDateTimeTimed `pulumi:"timeds"` +} + +// IpAccessControlV2JobDateTimeInput is an input type that accepts IpAccessControlV2JobDateTimeArgs and IpAccessControlV2JobDateTimeOutput values. +// You can construct a concrete instance of `IpAccessControlV2JobDateTimeInput` via: +// +// IpAccessControlV2JobDateTimeArgs{...} +type IpAccessControlV2JobDateTimeInput interface { + pulumi.Input + + ToIpAccessControlV2JobDateTimeOutput() IpAccessControlV2JobDateTimeOutput + ToIpAccessControlV2JobDateTimeOutputWithContext(context.Context) IpAccessControlV2JobDateTimeOutput +} + +type IpAccessControlV2JobDateTimeArgs struct { + // Time parameters for periodic execution + // Note: This field may return null, indicating that no valid values can be obtained. + Crons IpAccessControlV2JobDateTimeCronArrayInput `pulumi:"crons"` + // Time zone + // Note: This field may return null, indicating that no valid values can be obtained. + TimeTZone pulumi.StringPtrInput `pulumi:"timeTZone"` + // Time parameters for scheduled execution + // Note: This field may return null, indicating that no valid values can be obtained. + Timeds IpAccessControlV2JobDateTimeTimedArrayInput `pulumi:"timeds"` +} + +func (IpAccessControlV2JobDateTimeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IpAccessControlV2JobDateTime)(nil)).Elem() +} + +func (i IpAccessControlV2JobDateTimeArgs) ToIpAccessControlV2JobDateTimeOutput() IpAccessControlV2JobDateTimeOutput { + return i.ToIpAccessControlV2JobDateTimeOutputWithContext(context.Background()) +} + +func (i IpAccessControlV2JobDateTimeArgs) ToIpAccessControlV2JobDateTimeOutputWithContext(ctx context.Context) IpAccessControlV2JobDateTimeOutput { + return pulumi.ToOutputWithContext(ctx, i).(IpAccessControlV2JobDateTimeOutput) +} + +func (i IpAccessControlV2JobDateTimeArgs) ToIpAccessControlV2JobDateTimePtrOutput() IpAccessControlV2JobDateTimePtrOutput { + return i.ToIpAccessControlV2JobDateTimePtrOutputWithContext(context.Background()) +} + +func (i IpAccessControlV2JobDateTimeArgs) ToIpAccessControlV2JobDateTimePtrOutputWithContext(ctx context.Context) IpAccessControlV2JobDateTimePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IpAccessControlV2JobDateTimeOutput).ToIpAccessControlV2JobDateTimePtrOutputWithContext(ctx) +} + +// IpAccessControlV2JobDateTimePtrInput is an input type that accepts IpAccessControlV2JobDateTimeArgs, IpAccessControlV2JobDateTimePtr and IpAccessControlV2JobDateTimePtrOutput values. +// You can construct a concrete instance of `IpAccessControlV2JobDateTimePtrInput` via: +// +// IpAccessControlV2JobDateTimeArgs{...} +// +// or: +// +// nil +type IpAccessControlV2JobDateTimePtrInput interface { + pulumi.Input + + ToIpAccessControlV2JobDateTimePtrOutput() IpAccessControlV2JobDateTimePtrOutput + ToIpAccessControlV2JobDateTimePtrOutputWithContext(context.Context) IpAccessControlV2JobDateTimePtrOutput +} + +type ipAccessControlV2JobDateTimePtrType IpAccessControlV2JobDateTimeArgs + +func IpAccessControlV2JobDateTimePtr(v *IpAccessControlV2JobDateTimeArgs) IpAccessControlV2JobDateTimePtrInput { + return (*ipAccessControlV2JobDateTimePtrType)(v) +} + +func (*ipAccessControlV2JobDateTimePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IpAccessControlV2JobDateTime)(nil)).Elem() +} + +func (i *ipAccessControlV2JobDateTimePtrType) ToIpAccessControlV2JobDateTimePtrOutput() IpAccessControlV2JobDateTimePtrOutput { + return i.ToIpAccessControlV2JobDateTimePtrOutputWithContext(context.Background()) +} + +func (i *ipAccessControlV2JobDateTimePtrType) ToIpAccessControlV2JobDateTimePtrOutputWithContext(ctx context.Context) IpAccessControlV2JobDateTimePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IpAccessControlV2JobDateTimePtrOutput) +} + +type IpAccessControlV2JobDateTimeOutput struct{ *pulumi.OutputState } + +func (IpAccessControlV2JobDateTimeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IpAccessControlV2JobDateTime)(nil)).Elem() +} + +func (o IpAccessControlV2JobDateTimeOutput) ToIpAccessControlV2JobDateTimeOutput() IpAccessControlV2JobDateTimeOutput { + return o +} + +func (o IpAccessControlV2JobDateTimeOutput) ToIpAccessControlV2JobDateTimeOutputWithContext(ctx context.Context) IpAccessControlV2JobDateTimeOutput { + return o +} + +func (o IpAccessControlV2JobDateTimeOutput) ToIpAccessControlV2JobDateTimePtrOutput() IpAccessControlV2JobDateTimePtrOutput { + return o.ToIpAccessControlV2JobDateTimePtrOutputWithContext(context.Background()) +} + +func (o IpAccessControlV2JobDateTimeOutput) ToIpAccessControlV2JobDateTimePtrOutputWithContext(ctx context.Context) IpAccessControlV2JobDateTimePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IpAccessControlV2JobDateTime) *IpAccessControlV2JobDateTime { + return &v + }).(IpAccessControlV2JobDateTimePtrOutput) +} + +// Time parameters for periodic execution +// Note: This field may return null, indicating that no valid values can be obtained. +func (o IpAccessControlV2JobDateTimeOutput) Crons() IpAccessControlV2JobDateTimeCronArrayOutput { + return o.ApplyT(func(v IpAccessControlV2JobDateTime) []IpAccessControlV2JobDateTimeCron { return v.Crons }).(IpAccessControlV2JobDateTimeCronArrayOutput) +} + +// Time zone +// Note: This field may return null, indicating that no valid values can be obtained. +func (o IpAccessControlV2JobDateTimeOutput) TimeTZone() pulumi.StringPtrOutput { + return o.ApplyT(func(v IpAccessControlV2JobDateTime) *string { return v.TimeTZone }).(pulumi.StringPtrOutput) +} + +// Time parameters for scheduled execution +// Note: This field may return null, indicating that no valid values can be obtained. +func (o IpAccessControlV2JobDateTimeOutput) Timeds() IpAccessControlV2JobDateTimeTimedArrayOutput { + return o.ApplyT(func(v IpAccessControlV2JobDateTime) []IpAccessControlV2JobDateTimeTimed { return v.Timeds }).(IpAccessControlV2JobDateTimeTimedArrayOutput) +} + +type IpAccessControlV2JobDateTimePtrOutput struct{ *pulumi.OutputState } + +func (IpAccessControlV2JobDateTimePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IpAccessControlV2JobDateTime)(nil)).Elem() +} + +func (o IpAccessControlV2JobDateTimePtrOutput) ToIpAccessControlV2JobDateTimePtrOutput() IpAccessControlV2JobDateTimePtrOutput { + return o +} + +func (o IpAccessControlV2JobDateTimePtrOutput) ToIpAccessControlV2JobDateTimePtrOutputWithContext(ctx context.Context) IpAccessControlV2JobDateTimePtrOutput { + return o +} + +func (o IpAccessControlV2JobDateTimePtrOutput) Elem() IpAccessControlV2JobDateTimeOutput { + return o.ApplyT(func(v *IpAccessControlV2JobDateTime) IpAccessControlV2JobDateTime { + if v != nil { + return *v + } + var ret IpAccessControlV2JobDateTime + return ret + }).(IpAccessControlV2JobDateTimeOutput) +} + +// Time parameters for periodic execution +// Note: This field may return null, indicating that no valid values can be obtained. +func (o IpAccessControlV2JobDateTimePtrOutput) Crons() IpAccessControlV2JobDateTimeCronArrayOutput { + return o.ApplyT(func(v *IpAccessControlV2JobDateTime) []IpAccessControlV2JobDateTimeCron { + if v == nil { + return nil + } + return v.Crons + }).(IpAccessControlV2JobDateTimeCronArrayOutput) +} + +// Time zone +// Note: This field may return null, indicating that no valid values can be obtained. +func (o IpAccessControlV2JobDateTimePtrOutput) TimeTZone() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IpAccessControlV2JobDateTime) *string { + if v == nil { + return nil + } + return v.TimeTZone + }).(pulumi.StringPtrOutput) +} + +// Time parameters for scheduled execution +// Note: This field may return null, indicating that no valid values can be obtained. +func (o IpAccessControlV2JobDateTimePtrOutput) Timeds() IpAccessControlV2JobDateTimeTimedArrayOutput { + return o.ApplyT(func(v *IpAccessControlV2JobDateTime) []IpAccessControlV2JobDateTimeTimed { + if v == nil { + return nil + } + return v.Timeds + }).(IpAccessControlV2JobDateTimeTimedArrayOutput) +} + +type IpAccessControlV2JobDateTimeCron struct { + // Days in each month for execution + // Note: This field may return null, indicating that no valid values can be obtained. + Days []int `pulumi:"days"` + // End time + // + // Note: This field may return null, indicating that no valid values can be obtained. + EndTime *string `pulumi:"endTime"` + // Start time + // + // Note: This field may return null, indicating that no valid values can be obtained. + StartTime *string `pulumi:"startTime"` + // Days of each week for execution + // Note: This field may return null, indicating that no valid values can be obtained. + WDays []int `pulumi:"wDays"` +} + +// IpAccessControlV2JobDateTimeCronInput is an input type that accepts IpAccessControlV2JobDateTimeCronArgs and IpAccessControlV2JobDateTimeCronOutput values. +// You can construct a concrete instance of `IpAccessControlV2JobDateTimeCronInput` via: +// +// IpAccessControlV2JobDateTimeCronArgs{...} +type IpAccessControlV2JobDateTimeCronInput interface { + pulumi.Input + + ToIpAccessControlV2JobDateTimeCronOutput() IpAccessControlV2JobDateTimeCronOutput + ToIpAccessControlV2JobDateTimeCronOutputWithContext(context.Context) IpAccessControlV2JobDateTimeCronOutput +} + +type IpAccessControlV2JobDateTimeCronArgs struct { + // Days in each month for execution + // Note: This field may return null, indicating that no valid values can be obtained. + Days pulumi.IntArrayInput `pulumi:"days"` + // End time + // + // Note: This field may return null, indicating that no valid values can be obtained. + EndTime pulumi.StringPtrInput `pulumi:"endTime"` + // Start time + // + // Note: This field may return null, indicating that no valid values can be obtained. + StartTime pulumi.StringPtrInput `pulumi:"startTime"` + // Days of each week for execution + // Note: This field may return null, indicating that no valid values can be obtained. + WDays pulumi.IntArrayInput `pulumi:"wDays"` +} + +func (IpAccessControlV2JobDateTimeCronArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IpAccessControlV2JobDateTimeCron)(nil)).Elem() +} + +func (i IpAccessControlV2JobDateTimeCronArgs) ToIpAccessControlV2JobDateTimeCronOutput() IpAccessControlV2JobDateTimeCronOutput { + return i.ToIpAccessControlV2JobDateTimeCronOutputWithContext(context.Background()) +} + +func (i IpAccessControlV2JobDateTimeCronArgs) ToIpAccessControlV2JobDateTimeCronOutputWithContext(ctx context.Context) IpAccessControlV2JobDateTimeCronOutput { + return pulumi.ToOutputWithContext(ctx, i).(IpAccessControlV2JobDateTimeCronOutput) +} + +// IpAccessControlV2JobDateTimeCronArrayInput is an input type that accepts IpAccessControlV2JobDateTimeCronArray and IpAccessControlV2JobDateTimeCronArrayOutput values. +// You can construct a concrete instance of `IpAccessControlV2JobDateTimeCronArrayInput` via: +// +// IpAccessControlV2JobDateTimeCronArray{ IpAccessControlV2JobDateTimeCronArgs{...} } +type IpAccessControlV2JobDateTimeCronArrayInput interface { + pulumi.Input + + ToIpAccessControlV2JobDateTimeCronArrayOutput() IpAccessControlV2JobDateTimeCronArrayOutput + ToIpAccessControlV2JobDateTimeCronArrayOutputWithContext(context.Context) IpAccessControlV2JobDateTimeCronArrayOutput +} + +type IpAccessControlV2JobDateTimeCronArray []IpAccessControlV2JobDateTimeCronInput + +func (IpAccessControlV2JobDateTimeCronArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IpAccessControlV2JobDateTimeCron)(nil)).Elem() +} + +func (i IpAccessControlV2JobDateTimeCronArray) ToIpAccessControlV2JobDateTimeCronArrayOutput() IpAccessControlV2JobDateTimeCronArrayOutput { + return i.ToIpAccessControlV2JobDateTimeCronArrayOutputWithContext(context.Background()) +} + +func (i IpAccessControlV2JobDateTimeCronArray) ToIpAccessControlV2JobDateTimeCronArrayOutputWithContext(ctx context.Context) IpAccessControlV2JobDateTimeCronArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IpAccessControlV2JobDateTimeCronArrayOutput) +} + +type IpAccessControlV2JobDateTimeCronOutput struct{ *pulumi.OutputState } + +func (IpAccessControlV2JobDateTimeCronOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IpAccessControlV2JobDateTimeCron)(nil)).Elem() +} + +func (o IpAccessControlV2JobDateTimeCronOutput) ToIpAccessControlV2JobDateTimeCronOutput() IpAccessControlV2JobDateTimeCronOutput { + return o +} + +func (o IpAccessControlV2JobDateTimeCronOutput) ToIpAccessControlV2JobDateTimeCronOutputWithContext(ctx context.Context) IpAccessControlV2JobDateTimeCronOutput { + return o +} + +// Days in each month for execution +// Note: This field may return null, indicating that no valid values can be obtained. +func (o IpAccessControlV2JobDateTimeCronOutput) Days() pulumi.IntArrayOutput { + return o.ApplyT(func(v IpAccessControlV2JobDateTimeCron) []int { return v.Days }).(pulumi.IntArrayOutput) +} + +// End time +// +// Note: This field may return null, indicating that no valid values can be obtained. +func (o IpAccessControlV2JobDateTimeCronOutput) EndTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v IpAccessControlV2JobDateTimeCron) *string { return v.EndTime }).(pulumi.StringPtrOutput) +} + +// Start time +// +// Note: This field may return null, indicating that no valid values can be obtained. +func (o IpAccessControlV2JobDateTimeCronOutput) StartTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v IpAccessControlV2JobDateTimeCron) *string { return v.StartTime }).(pulumi.StringPtrOutput) +} + +// Days of each week for execution +// Note: This field may return null, indicating that no valid values can be obtained. +func (o IpAccessControlV2JobDateTimeCronOutput) WDays() pulumi.IntArrayOutput { + return o.ApplyT(func(v IpAccessControlV2JobDateTimeCron) []int { return v.WDays }).(pulumi.IntArrayOutput) +} + +type IpAccessControlV2JobDateTimeCronArrayOutput struct{ *pulumi.OutputState } + +func (IpAccessControlV2JobDateTimeCronArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IpAccessControlV2JobDateTimeCron)(nil)).Elem() +} + +func (o IpAccessControlV2JobDateTimeCronArrayOutput) ToIpAccessControlV2JobDateTimeCronArrayOutput() IpAccessControlV2JobDateTimeCronArrayOutput { + return o +} + +func (o IpAccessControlV2JobDateTimeCronArrayOutput) ToIpAccessControlV2JobDateTimeCronArrayOutputWithContext(ctx context.Context) IpAccessControlV2JobDateTimeCronArrayOutput { + return o +} + +func (o IpAccessControlV2JobDateTimeCronArrayOutput) Index(i pulumi.IntInput) IpAccessControlV2JobDateTimeCronOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IpAccessControlV2JobDateTimeCron { + return vs[0].([]IpAccessControlV2JobDateTimeCron)[vs[1].(int)] + }).(IpAccessControlV2JobDateTimeCronOutput) +} + +type IpAccessControlV2JobDateTimeTimed struct { + // End timestamp, in seconds + // Note: This field may return null, indicating that no valid values can be obtained. + EndDateTime *int `pulumi:"endDateTime"` + // Start timestamp, in seconds + // Note: This field may return null, indicating that no valid values can be obtained. + StartDateTime *int `pulumi:"startDateTime"` +} + +// IpAccessControlV2JobDateTimeTimedInput is an input type that accepts IpAccessControlV2JobDateTimeTimedArgs and IpAccessControlV2JobDateTimeTimedOutput values. +// You can construct a concrete instance of `IpAccessControlV2JobDateTimeTimedInput` via: +// +// IpAccessControlV2JobDateTimeTimedArgs{...} +type IpAccessControlV2JobDateTimeTimedInput interface { + pulumi.Input + + ToIpAccessControlV2JobDateTimeTimedOutput() IpAccessControlV2JobDateTimeTimedOutput + ToIpAccessControlV2JobDateTimeTimedOutputWithContext(context.Context) IpAccessControlV2JobDateTimeTimedOutput +} + +type IpAccessControlV2JobDateTimeTimedArgs struct { + // End timestamp, in seconds + // Note: This field may return null, indicating that no valid values can be obtained. + EndDateTime pulumi.IntPtrInput `pulumi:"endDateTime"` + // Start timestamp, in seconds + // Note: This field may return null, indicating that no valid values can be obtained. + StartDateTime pulumi.IntPtrInput `pulumi:"startDateTime"` +} + +func (IpAccessControlV2JobDateTimeTimedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IpAccessControlV2JobDateTimeTimed)(nil)).Elem() +} + +func (i IpAccessControlV2JobDateTimeTimedArgs) ToIpAccessControlV2JobDateTimeTimedOutput() IpAccessControlV2JobDateTimeTimedOutput { + return i.ToIpAccessControlV2JobDateTimeTimedOutputWithContext(context.Background()) +} + +func (i IpAccessControlV2JobDateTimeTimedArgs) ToIpAccessControlV2JobDateTimeTimedOutputWithContext(ctx context.Context) IpAccessControlV2JobDateTimeTimedOutput { + return pulumi.ToOutputWithContext(ctx, i).(IpAccessControlV2JobDateTimeTimedOutput) +} + +// IpAccessControlV2JobDateTimeTimedArrayInput is an input type that accepts IpAccessControlV2JobDateTimeTimedArray and IpAccessControlV2JobDateTimeTimedArrayOutput values. +// You can construct a concrete instance of `IpAccessControlV2JobDateTimeTimedArrayInput` via: +// +// IpAccessControlV2JobDateTimeTimedArray{ IpAccessControlV2JobDateTimeTimedArgs{...} } +type IpAccessControlV2JobDateTimeTimedArrayInput interface { + pulumi.Input + + ToIpAccessControlV2JobDateTimeTimedArrayOutput() IpAccessControlV2JobDateTimeTimedArrayOutput + ToIpAccessControlV2JobDateTimeTimedArrayOutputWithContext(context.Context) IpAccessControlV2JobDateTimeTimedArrayOutput +} + +type IpAccessControlV2JobDateTimeTimedArray []IpAccessControlV2JobDateTimeTimedInput + +func (IpAccessControlV2JobDateTimeTimedArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IpAccessControlV2JobDateTimeTimed)(nil)).Elem() +} + +func (i IpAccessControlV2JobDateTimeTimedArray) ToIpAccessControlV2JobDateTimeTimedArrayOutput() IpAccessControlV2JobDateTimeTimedArrayOutput { + return i.ToIpAccessControlV2JobDateTimeTimedArrayOutputWithContext(context.Background()) +} + +func (i IpAccessControlV2JobDateTimeTimedArray) ToIpAccessControlV2JobDateTimeTimedArrayOutputWithContext(ctx context.Context) IpAccessControlV2JobDateTimeTimedArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IpAccessControlV2JobDateTimeTimedArrayOutput) +} + +type IpAccessControlV2JobDateTimeTimedOutput struct{ *pulumi.OutputState } + +func (IpAccessControlV2JobDateTimeTimedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IpAccessControlV2JobDateTimeTimed)(nil)).Elem() +} + +func (o IpAccessControlV2JobDateTimeTimedOutput) ToIpAccessControlV2JobDateTimeTimedOutput() IpAccessControlV2JobDateTimeTimedOutput { + return o +} + +func (o IpAccessControlV2JobDateTimeTimedOutput) ToIpAccessControlV2JobDateTimeTimedOutputWithContext(ctx context.Context) IpAccessControlV2JobDateTimeTimedOutput { + return o +} + +// End timestamp, in seconds +// Note: This field may return null, indicating that no valid values can be obtained. +func (o IpAccessControlV2JobDateTimeTimedOutput) EndDateTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v IpAccessControlV2JobDateTimeTimed) *int { return v.EndDateTime }).(pulumi.IntPtrOutput) +} + +// Start timestamp, in seconds +// Note: This field may return null, indicating that no valid values can be obtained. +func (o IpAccessControlV2JobDateTimeTimedOutput) StartDateTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v IpAccessControlV2JobDateTimeTimed) *int { return v.StartDateTime }).(pulumi.IntPtrOutput) +} + +type IpAccessControlV2JobDateTimeTimedArrayOutput struct{ *pulumi.OutputState } + +func (IpAccessControlV2JobDateTimeTimedArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IpAccessControlV2JobDateTimeTimed)(nil)).Elem() +} + +func (o IpAccessControlV2JobDateTimeTimedArrayOutput) ToIpAccessControlV2JobDateTimeTimedArrayOutput() IpAccessControlV2JobDateTimeTimedArrayOutput { + return o +} + +func (o IpAccessControlV2JobDateTimeTimedArrayOutput) ToIpAccessControlV2JobDateTimeTimedArrayOutputWithContext(ctx context.Context) IpAccessControlV2JobDateTimeTimedArrayOutput { + return o +} + +func (o IpAccessControlV2JobDateTimeTimedArrayOutput) Index(i pulumi.IntInput) IpAccessControlV2JobDateTimeTimedOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IpAccessControlV2JobDateTimeTimed { + return vs[0].([]IpAccessControlV2JobDateTimeTimed)[vs[1].(int)] + }).(IpAccessControlV2JobDateTimeTimedOutput) +} + type SaasDomainPort struct { // Nginx server ID. NginxServerId *string `pulumi:"nginxServerId"` @@ -2758,441 +3199,6 @@ func (o GetUserDomainsUsersInfoArrayOutput) Index(i pulumi.IntInput) GetUserDoma }).(GetUserDomainsUsersInfoOutput) } -type GetWafInfosHostList struct { - // Domain name. - Domain string `pulumi:"domain"` - // Domain unique ID. - DomainId string `pulumi:"domainId"` - // WAF traffic mode, 1 cleaning mode, 0 mirroring mode. - FlowMode int `pulumi:"flowMode"` - // LoadBalancer info bound by waf. - LoadBalancers []GetWafInfosHostListLoadBalancer `pulumi:"loadBalancers"` - // Waf switch,0 off 1 on. - Status int `pulumi:"status"` -} - -// GetWafInfosHostListInput is an input type that accepts GetWafInfosHostListArgs and GetWafInfosHostListOutput values. -// You can construct a concrete instance of `GetWafInfosHostListInput` via: -// -// GetWafInfosHostListArgs{...} -type GetWafInfosHostListInput interface { - pulumi.Input - - ToGetWafInfosHostListOutput() GetWafInfosHostListOutput - ToGetWafInfosHostListOutputWithContext(context.Context) GetWafInfosHostListOutput -} - -type GetWafInfosHostListArgs struct { - // Domain name. - Domain pulumi.StringInput `pulumi:"domain"` - // Domain unique ID. - DomainId pulumi.StringInput `pulumi:"domainId"` - // WAF traffic mode, 1 cleaning mode, 0 mirroring mode. - FlowMode pulumi.IntInput `pulumi:"flowMode"` - // LoadBalancer info bound by waf. - LoadBalancers GetWafInfosHostListLoadBalancerArrayInput `pulumi:"loadBalancers"` - // Waf switch,0 off 1 on. - Status pulumi.IntInput `pulumi:"status"` -} - -func (GetWafInfosHostListArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetWafInfosHostList)(nil)).Elem() -} - -func (i GetWafInfosHostListArgs) ToGetWafInfosHostListOutput() GetWafInfosHostListOutput { - return i.ToGetWafInfosHostListOutputWithContext(context.Background()) -} - -func (i GetWafInfosHostListArgs) ToGetWafInfosHostListOutputWithContext(ctx context.Context) GetWafInfosHostListOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetWafInfosHostListOutput) -} - -// GetWafInfosHostListArrayInput is an input type that accepts GetWafInfosHostListArray and GetWafInfosHostListArrayOutput values. -// You can construct a concrete instance of `GetWafInfosHostListArrayInput` via: -// -// GetWafInfosHostListArray{ GetWafInfosHostListArgs{...} } -type GetWafInfosHostListArrayInput interface { - pulumi.Input - - ToGetWafInfosHostListArrayOutput() GetWafInfosHostListArrayOutput - ToGetWafInfosHostListArrayOutputWithContext(context.Context) GetWafInfosHostListArrayOutput -} - -type GetWafInfosHostListArray []GetWafInfosHostListInput - -func (GetWafInfosHostListArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetWafInfosHostList)(nil)).Elem() -} - -func (i GetWafInfosHostListArray) ToGetWafInfosHostListArrayOutput() GetWafInfosHostListArrayOutput { - return i.ToGetWafInfosHostListArrayOutputWithContext(context.Background()) -} - -func (i GetWafInfosHostListArray) ToGetWafInfosHostListArrayOutputWithContext(ctx context.Context) GetWafInfosHostListArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetWafInfosHostListArrayOutput) -} - -type GetWafInfosHostListOutput struct{ *pulumi.OutputState } - -func (GetWafInfosHostListOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetWafInfosHostList)(nil)).Elem() -} - -func (o GetWafInfosHostListOutput) ToGetWafInfosHostListOutput() GetWafInfosHostListOutput { - return o -} - -func (o GetWafInfosHostListOutput) ToGetWafInfosHostListOutputWithContext(ctx context.Context) GetWafInfosHostListOutput { - return o -} - -// Domain name. -func (o GetWafInfosHostListOutput) Domain() pulumi.StringOutput { - return o.ApplyT(func(v GetWafInfosHostList) string { return v.Domain }).(pulumi.StringOutput) -} - -// Domain unique ID. -func (o GetWafInfosHostListOutput) DomainId() pulumi.StringOutput { - return o.ApplyT(func(v GetWafInfosHostList) string { return v.DomainId }).(pulumi.StringOutput) -} - -// WAF traffic mode, 1 cleaning mode, 0 mirroring mode. -func (o GetWafInfosHostListOutput) FlowMode() pulumi.IntOutput { - return o.ApplyT(func(v GetWafInfosHostList) int { return v.FlowMode }).(pulumi.IntOutput) -} - -// LoadBalancer info bound by waf. -func (o GetWafInfosHostListOutput) LoadBalancers() GetWafInfosHostListLoadBalancerArrayOutput { - return o.ApplyT(func(v GetWafInfosHostList) []GetWafInfosHostListLoadBalancer { return v.LoadBalancers }).(GetWafInfosHostListLoadBalancerArrayOutput) -} - -// Waf switch,0 off 1 on. -func (o GetWafInfosHostListOutput) Status() pulumi.IntOutput { - return o.ApplyT(func(v GetWafInfosHostList) int { return v.Status }).(pulumi.IntOutput) -} - -type GetWafInfosHostListArrayOutput struct{ *pulumi.OutputState } - -func (GetWafInfosHostListArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetWafInfosHostList)(nil)).Elem() -} - -func (o GetWafInfosHostListArrayOutput) ToGetWafInfosHostListArrayOutput() GetWafInfosHostListArrayOutput { - return o -} - -func (o GetWafInfosHostListArrayOutput) ToGetWafInfosHostListArrayOutputWithContext(ctx context.Context) GetWafInfosHostListArrayOutput { - return o -} - -func (o GetWafInfosHostListArrayOutput) Index(i pulumi.IntInput) GetWafInfosHostListOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetWafInfosHostList { - return vs[0].([]GetWafInfosHostList)[vs[1].(int)] - }).(GetWafInfosHostListOutput) -} - -type GetWafInfosHostListLoadBalancer struct { - // Unique ID of listener in LB. - ListenerId string `pulumi:"listenerId"` - // Listener name. - ListenerName string `pulumi:"listenerName"` - // LoadBalancer ID. - LoadBalancerId string `pulumi:"loadBalancerId"` - // LoadBalancer name. - LoadBalancerName string `pulumi:"loadBalancerName"` - // Network type for load balancerNote: This field may return null, indicating that a valid value cannot be obtained. - LoadBalancerType string `pulumi:"loadBalancerType"` - // VPCID for load balancer, public network is -1, and internal network is filled in according to actual conditionsNote: This field may return null, indicating that a valid value cannot be obtained. - NumericalVpcId int `pulumi:"numericalVpcId"` - // Protocol of listener,http or https. - Protocol string `pulumi:"protocol"` - // LoadBalancer region. - Region string `pulumi:"region"` - // LoadBalancer IP. - Vip string `pulumi:"vip"` - // LoadBalancer port. - Vport int `pulumi:"vport"` - // LoadBalancer zone. - Zone string `pulumi:"zone"` -} - -// GetWafInfosHostListLoadBalancerInput is an input type that accepts GetWafInfosHostListLoadBalancerArgs and GetWafInfosHostListLoadBalancerOutput values. -// You can construct a concrete instance of `GetWafInfosHostListLoadBalancerInput` via: -// -// GetWafInfosHostListLoadBalancerArgs{...} -type GetWafInfosHostListLoadBalancerInput interface { - pulumi.Input - - ToGetWafInfosHostListLoadBalancerOutput() GetWafInfosHostListLoadBalancerOutput - ToGetWafInfosHostListLoadBalancerOutputWithContext(context.Context) GetWafInfosHostListLoadBalancerOutput -} - -type GetWafInfosHostListLoadBalancerArgs struct { - // Unique ID of listener in LB. - ListenerId pulumi.StringInput `pulumi:"listenerId"` - // Listener name. - ListenerName pulumi.StringInput `pulumi:"listenerName"` - // LoadBalancer ID. - LoadBalancerId pulumi.StringInput `pulumi:"loadBalancerId"` - // LoadBalancer name. - LoadBalancerName pulumi.StringInput `pulumi:"loadBalancerName"` - // Network type for load balancerNote: This field may return null, indicating that a valid value cannot be obtained. - LoadBalancerType pulumi.StringInput `pulumi:"loadBalancerType"` - // VPCID for load balancer, public network is -1, and internal network is filled in according to actual conditionsNote: This field may return null, indicating that a valid value cannot be obtained. - NumericalVpcId pulumi.IntInput `pulumi:"numericalVpcId"` - // Protocol of listener,http or https. - Protocol pulumi.StringInput `pulumi:"protocol"` - // LoadBalancer region. - Region pulumi.StringInput `pulumi:"region"` - // LoadBalancer IP. - Vip pulumi.StringInput `pulumi:"vip"` - // LoadBalancer port. - Vport pulumi.IntInput `pulumi:"vport"` - // LoadBalancer zone. - Zone pulumi.StringInput `pulumi:"zone"` -} - -func (GetWafInfosHostListLoadBalancerArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetWafInfosHostListLoadBalancer)(nil)).Elem() -} - -func (i GetWafInfosHostListLoadBalancerArgs) ToGetWafInfosHostListLoadBalancerOutput() GetWafInfosHostListLoadBalancerOutput { - return i.ToGetWafInfosHostListLoadBalancerOutputWithContext(context.Background()) -} - -func (i GetWafInfosHostListLoadBalancerArgs) ToGetWafInfosHostListLoadBalancerOutputWithContext(ctx context.Context) GetWafInfosHostListLoadBalancerOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetWafInfosHostListLoadBalancerOutput) -} - -// GetWafInfosHostListLoadBalancerArrayInput is an input type that accepts GetWafInfosHostListLoadBalancerArray and GetWafInfosHostListLoadBalancerArrayOutput values. -// You can construct a concrete instance of `GetWafInfosHostListLoadBalancerArrayInput` via: -// -// GetWafInfosHostListLoadBalancerArray{ GetWafInfosHostListLoadBalancerArgs{...} } -type GetWafInfosHostListLoadBalancerArrayInput interface { - pulumi.Input - - ToGetWafInfosHostListLoadBalancerArrayOutput() GetWafInfosHostListLoadBalancerArrayOutput - ToGetWafInfosHostListLoadBalancerArrayOutputWithContext(context.Context) GetWafInfosHostListLoadBalancerArrayOutput -} - -type GetWafInfosHostListLoadBalancerArray []GetWafInfosHostListLoadBalancerInput - -func (GetWafInfosHostListLoadBalancerArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetWafInfosHostListLoadBalancer)(nil)).Elem() -} - -func (i GetWafInfosHostListLoadBalancerArray) ToGetWafInfosHostListLoadBalancerArrayOutput() GetWafInfosHostListLoadBalancerArrayOutput { - return i.ToGetWafInfosHostListLoadBalancerArrayOutputWithContext(context.Background()) -} - -func (i GetWafInfosHostListLoadBalancerArray) ToGetWafInfosHostListLoadBalancerArrayOutputWithContext(ctx context.Context) GetWafInfosHostListLoadBalancerArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetWafInfosHostListLoadBalancerArrayOutput) -} - -type GetWafInfosHostListLoadBalancerOutput struct{ *pulumi.OutputState } - -func (GetWafInfosHostListLoadBalancerOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetWafInfosHostListLoadBalancer)(nil)).Elem() -} - -func (o GetWafInfosHostListLoadBalancerOutput) ToGetWafInfosHostListLoadBalancerOutput() GetWafInfosHostListLoadBalancerOutput { - return o -} - -func (o GetWafInfosHostListLoadBalancerOutput) ToGetWafInfosHostListLoadBalancerOutputWithContext(ctx context.Context) GetWafInfosHostListLoadBalancerOutput { - return o -} - -// Unique ID of listener in LB. -func (o GetWafInfosHostListLoadBalancerOutput) ListenerId() pulumi.StringOutput { - return o.ApplyT(func(v GetWafInfosHostListLoadBalancer) string { return v.ListenerId }).(pulumi.StringOutput) -} - -// Listener name. -func (o GetWafInfosHostListLoadBalancerOutput) ListenerName() pulumi.StringOutput { - return o.ApplyT(func(v GetWafInfosHostListLoadBalancer) string { return v.ListenerName }).(pulumi.StringOutput) -} - -// LoadBalancer ID. -func (o GetWafInfosHostListLoadBalancerOutput) LoadBalancerId() pulumi.StringOutput { - return o.ApplyT(func(v GetWafInfosHostListLoadBalancer) string { return v.LoadBalancerId }).(pulumi.StringOutput) -} - -// LoadBalancer name. -func (o GetWafInfosHostListLoadBalancerOutput) LoadBalancerName() pulumi.StringOutput { - return o.ApplyT(func(v GetWafInfosHostListLoadBalancer) string { return v.LoadBalancerName }).(pulumi.StringOutput) -} - -// Network type for load balancerNote: This field may return null, indicating that a valid value cannot be obtained. -func (o GetWafInfosHostListLoadBalancerOutput) LoadBalancerType() pulumi.StringOutput { - return o.ApplyT(func(v GetWafInfosHostListLoadBalancer) string { return v.LoadBalancerType }).(pulumi.StringOutput) -} - -// VPCID for load balancer, public network is -1, and internal network is filled in according to actual conditionsNote: This field may return null, indicating that a valid value cannot be obtained. -func (o GetWafInfosHostListLoadBalancerOutput) NumericalVpcId() pulumi.IntOutput { - return o.ApplyT(func(v GetWafInfosHostListLoadBalancer) int { return v.NumericalVpcId }).(pulumi.IntOutput) -} - -// Protocol of listener,http or https. -func (o GetWafInfosHostListLoadBalancerOutput) Protocol() pulumi.StringOutput { - return o.ApplyT(func(v GetWafInfosHostListLoadBalancer) string { return v.Protocol }).(pulumi.StringOutput) -} - -// LoadBalancer region. -func (o GetWafInfosHostListLoadBalancerOutput) Region() pulumi.StringOutput { - return o.ApplyT(func(v GetWafInfosHostListLoadBalancer) string { return v.Region }).(pulumi.StringOutput) -} - -// LoadBalancer IP. -func (o GetWafInfosHostListLoadBalancerOutput) Vip() pulumi.StringOutput { - return o.ApplyT(func(v GetWafInfosHostListLoadBalancer) string { return v.Vip }).(pulumi.StringOutput) -} - -// LoadBalancer port. -func (o GetWafInfosHostListLoadBalancerOutput) Vport() pulumi.IntOutput { - return o.ApplyT(func(v GetWafInfosHostListLoadBalancer) int { return v.Vport }).(pulumi.IntOutput) -} - -// LoadBalancer zone. -func (o GetWafInfosHostListLoadBalancerOutput) Zone() pulumi.StringOutput { - return o.ApplyT(func(v GetWafInfosHostListLoadBalancer) string { return v.Zone }).(pulumi.StringOutput) -} - -type GetWafInfosHostListLoadBalancerArrayOutput struct{ *pulumi.OutputState } - -func (GetWafInfosHostListLoadBalancerArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetWafInfosHostListLoadBalancer)(nil)).Elem() -} - -func (o GetWafInfosHostListLoadBalancerArrayOutput) ToGetWafInfosHostListLoadBalancerArrayOutput() GetWafInfosHostListLoadBalancerArrayOutput { - return o -} - -func (o GetWafInfosHostListLoadBalancerArrayOutput) ToGetWafInfosHostListLoadBalancerArrayOutputWithContext(ctx context.Context) GetWafInfosHostListLoadBalancerArrayOutput { - return o -} - -func (o GetWafInfosHostListLoadBalancerArrayOutput) Index(i pulumi.IntInput) GetWafInfosHostListLoadBalancerOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetWafInfosHostListLoadBalancer { - return vs[0].([]GetWafInfosHostListLoadBalancer)[vs[1].(int)] - }).(GetWafInfosHostListLoadBalancerOutput) -} - -type GetWafInfosParam struct { - // Domain unique ID. - DomainId *string `pulumi:"domainId"` - // Listener ID of LoadBalancer. - ListenerId *string `pulumi:"listenerId"` - // Loadbalancer unique ID.If this parameter is not passed, it will operate all listeners of this appid. If this parameter is not empty, it will operate listeners of the LoadBalancer only. - LoadBalancerId string `pulumi:"loadBalancerId"` -} - -// GetWafInfosParamInput is an input type that accepts GetWafInfosParamArgs and GetWafInfosParamOutput values. -// You can construct a concrete instance of `GetWafInfosParamInput` via: -// -// GetWafInfosParamArgs{...} -type GetWafInfosParamInput interface { - pulumi.Input - - ToGetWafInfosParamOutput() GetWafInfosParamOutput - ToGetWafInfosParamOutputWithContext(context.Context) GetWafInfosParamOutput -} - -type GetWafInfosParamArgs struct { - // Domain unique ID. - DomainId pulumi.StringPtrInput `pulumi:"domainId"` - // Listener ID of LoadBalancer. - ListenerId pulumi.StringPtrInput `pulumi:"listenerId"` - // Loadbalancer unique ID.If this parameter is not passed, it will operate all listeners of this appid. If this parameter is not empty, it will operate listeners of the LoadBalancer only. - LoadBalancerId pulumi.StringInput `pulumi:"loadBalancerId"` -} - -func (GetWafInfosParamArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetWafInfosParam)(nil)).Elem() -} - -func (i GetWafInfosParamArgs) ToGetWafInfosParamOutput() GetWafInfosParamOutput { - return i.ToGetWafInfosParamOutputWithContext(context.Background()) -} - -func (i GetWafInfosParamArgs) ToGetWafInfosParamOutputWithContext(ctx context.Context) GetWafInfosParamOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetWafInfosParamOutput) -} - -// GetWafInfosParamArrayInput is an input type that accepts GetWafInfosParamArray and GetWafInfosParamArrayOutput values. -// You can construct a concrete instance of `GetWafInfosParamArrayInput` via: -// -// GetWafInfosParamArray{ GetWafInfosParamArgs{...} } -type GetWafInfosParamArrayInput interface { - pulumi.Input - - ToGetWafInfosParamArrayOutput() GetWafInfosParamArrayOutput - ToGetWafInfosParamArrayOutputWithContext(context.Context) GetWafInfosParamArrayOutput -} - -type GetWafInfosParamArray []GetWafInfosParamInput - -func (GetWafInfosParamArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetWafInfosParam)(nil)).Elem() -} - -func (i GetWafInfosParamArray) ToGetWafInfosParamArrayOutput() GetWafInfosParamArrayOutput { - return i.ToGetWafInfosParamArrayOutputWithContext(context.Background()) -} - -func (i GetWafInfosParamArray) ToGetWafInfosParamArrayOutputWithContext(ctx context.Context) GetWafInfosParamArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetWafInfosParamArrayOutput) -} - -type GetWafInfosParamOutput struct{ *pulumi.OutputState } - -func (GetWafInfosParamOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetWafInfosParam)(nil)).Elem() -} - -func (o GetWafInfosParamOutput) ToGetWafInfosParamOutput() GetWafInfosParamOutput { - return o -} - -func (o GetWafInfosParamOutput) ToGetWafInfosParamOutputWithContext(ctx context.Context) GetWafInfosParamOutput { - return o -} - -// Domain unique ID. -func (o GetWafInfosParamOutput) DomainId() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetWafInfosParam) *string { return v.DomainId }).(pulumi.StringPtrOutput) -} - -// Listener ID of LoadBalancer. -func (o GetWafInfosParamOutput) ListenerId() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetWafInfosParam) *string { return v.ListenerId }).(pulumi.StringPtrOutput) -} - -// Loadbalancer unique ID.If this parameter is not passed, it will operate all listeners of this appid. If this parameter is not empty, it will operate listeners of the LoadBalancer only. -func (o GetWafInfosParamOutput) LoadBalancerId() pulumi.StringOutput { - return o.ApplyT(func(v GetWafInfosParam) string { return v.LoadBalancerId }).(pulumi.StringOutput) -} - -type GetWafInfosParamArrayOutput struct{ *pulumi.OutputState } - -func (GetWafInfosParamArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetWafInfosParam)(nil)).Elem() -} - -func (o GetWafInfosParamArrayOutput) ToGetWafInfosParamArrayOutput() GetWafInfosParamArrayOutput { - return o -} - -func (o GetWafInfosParamArrayOutput) ToGetWafInfosParamArrayOutputWithContext(ctx context.Context) GetWafInfosParamArrayOutput { - return o -} - -func (o GetWafInfosParamArrayOutput) Index(i pulumi.IntInput) GetWafInfosParamOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetWafInfosParam { - return vs[0].([]GetWafInfosParam)[vs[1].(int)] - }).(GetWafInfosParamOutput) -} - func init() { pulumi.RegisterInputType(reflect.TypeOf((*AntiInfoLeakStrategyInput)(nil)).Elem(), AntiInfoLeakStrategyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AntiInfoLeakStrategyArrayInput)(nil)).Elem(), AntiInfoLeakStrategyArray{}) @@ -3204,6 +3210,12 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*CustomWhiteRuleStrategyArrayInput)(nil)).Elem(), CustomWhiteRuleStrategyArray{}) pulumi.RegisterInputType(reflect.TypeOf((*IpAccessControlItemInput)(nil)).Elem(), IpAccessControlItemArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*IpAccessControlItemArrayInput)(nil)).Elem(), IpAccessControlItemArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IpAccessControlV2JobDateTimeInput)(nil)).Elem(), IpAccessControlV2JobDateTimeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IpAccessControlV2JobDateTimePtrInput)(nil)).Elem(), IpAccessControlV2JobDateTimeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IpAccessControlV2JobDateTimeCronInput)(nil)).Elem(), IpAccessControlV2JobDateTimeCronArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IpAccessControlV2JobDateTimeCronArrayInput)(nil)).Elem(), IpAccessControlV2JobDateTimeCronArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IpAccessControlV2JobDateTimeTimedInput)(nil)).Elem(), IpAccessControlV2JobDateTimeTimedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IpAccessControlV2JobDateTimeTimedArrayInput)(nil)).Elem(), IpAccessControlV2JobDateTimeTimedArray{}) pulumi.RegisterInputType(reflect.TypeOf((*SaasDomainPortInput)(nil)).Elem(), SaasDomainPortArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SaasDomainPortArrayInput)(nil)).Elem(), SaasDomainPortArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAttackLogHistogramDataInput)(nil)).Elem(), GetAttackLogHistogramDataArgs{}) @@ -3230,12 +3242,6 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetUserClbRegionsRichDataArrayInput)(nil)).Elem(), GetUserClbRegionsRichDataArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetUserDomainsUsersInfoInput)(nil)).Elem(), GetUserDomainsUsersInfoArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetUserDomainsUsersInfoArrayInput)(nil)).Elem(), GetUserDomainsUsersInfoArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetWafInfosHostListInput)(nil)).Elem(), GetWafInfosHostListArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetWafInfosHostListArrayInput)(nil)).Elem(), GetWafInfosHostListArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetWafInfosHostListLoadBalancerInput)(nil)).Elem(), GetWafInfosHostListLoadBalancerArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetWafInfosHostListLoadBalancerArrayInput)(nil)).Elem(), GetWafInfosHostListLoadBalancerArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetWafInfosParamInput)(nil)).Elem(), GetWafInfosParamArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetWafInfosParamArrayInput)(nil)).Elem(), GetWafInfosParamArray{}) pulumi.RegisterOutputType(AntiInfoLeakStrategyOutput{}) pulumi.RegisterOutputType(AntiInfoLeakStrategyArrayOutput{}) pulumi.RegisterOutputType(ClbDomainLoadBalancerSetOutput{}) @@ -3246,6 +3252,12 @@ func init() { pulumi.RegisterOutputType(CustomWhiteRuleStrategyArrayOutput{}) pulumi.RegisterOutputType(IpAccessControlItemOutput{}) pulumi.RegisterOutputType(IpAccessControlItemArrayOutput{}) + pulumi.RegisterOutputType(IpAccessControlV2JobDateTimeOutput{}) + pulumi.RegisterOutputType(IpAccessControlV2JobDateTimePtrOutput{}) + pulumi.RegisterOutputType(IpAccessControlV2JobDateTimeCronOutput{}) + pulumi.RegisterOutputType(IpAccessControlV2JobDateTimeCronArrayOutput{}) + pulumi.RegisterOutputType(IpAccessControlV2JobDateTimeTimedOutput{}) + pulumi.RegisterOutputType(IpAccessControlV2JobDateTimeTimedArrayOutput{}) pulumi.RegisterOutputType(SaasDomainPortOutput{}) pulumi.RegisterOutputType(SaasDomainPortArrayOutput{}) pulumi.RegisterOutputType(GetAttackLogHistogramDataOutput{}) @@ -3272,10 +3284,4 @@ func init() { pulumi.RegisterOutputType(GetUserClbRegionsRichDataArrayOutput{}) pulumi.RegisterOutputType(GetUserDomainsUsersInfoOutput{}) pulumi.RegisterOutputType(GetUserDomainsUsersInfoArrayOutput{}) - pulumi.RegisterOutputType(GetWafInfosHostListOutput{}) - pulumi.RegisterOutputType(GetWafInfosHostListArrayOutput{}) - pulumi.RegisterOutputType(GetWafInfosHostListLoadBalancerOutput{}) - pulumi.RegisterOutputType(GetWafInfosHostListLoadBalancerArrayOutput{}) - pulumi.RegisterOutputType(GetWafInfosParamOutput{}) - pulumi.RegisterOutputType(GetWafInfosParamArrayOutput{}) } 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..23acaf94d 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"; /** @@ -57,6 +59,7 @@ import * as utilities from "../utilities"; * lifecycleTransition: "INSTANCE_LAUNCHING", * defaultResult: "CONTINUE", * heartbeatTimeout: 500, + * lifecycleTransitionType: "NORMAL", * notificationMetadata: "tf test", * }); * ``` @@ -97,6 +100,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 +165,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. */ @@ -142,6 +177,10 @@ export class LifecycleHook extends pulumi.CustomResource { * The instance state to which you want to attach the lifecycle hook. Valid values: `INSTANCE_LAUNCHING` and `INSTANCE_TERMINATING`. */ public readonly lifecycleTransition!: pulumi.Output; + /** + * The scenario where the lifecycle hook is applied. `EXTENSION`: the lifecycle hook will be triggered when AttachInstances, DetachInstances or RemoveInstaces is called. `NORMAL`: the lifecycle hook is not triggered by the above APIs. + */ + public readonly lifecycleTransitionType!: pulumi.Output; /** * Contains additional information that you want to include any time AS sends a message to the notification target. */ @@ -151,7 +190,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,8 +217,10 @@ 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["lifecycleTransitionType"] = state ? state.lifecycleTransitionType : undefined; resourceInputs["notificationMetadata"] = state ? state.notificationMetadata : undefined; resourceInputs["notificationQueueName"] = state ? state.notificationQueueName : undefined; resourceInputs["notificationTargetType"] = state ? state.notificationTargetType : undefined; @@ -198,8 +239,10 @@ 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["lifecycleTransitionType"] = args ? args.lifecycleTransitionType : undefined; resourceInputs["notificationMetadata"] = args ? args.notificationMetadata : undefined; resourceInputs["notificationQueueName"] = args ? args.notificationQueueName : undefined; resourceInputs["notificationTargetType"] = args ? args.notificationTargetType : undefined; @@ -223,6 +266,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. */ @@ -231,6 +278,10 @@ export interface LifecycleHookState { * The instance state to which you want to attach the lifecycle hook. Valid values: `INSTANCE_LAUNCHING` and `INSTANCE_TERMINATING`. */ lifecycleTransition?: pulumi.Input; + /** + * The scenario where the lifecycle hook is applied. `EXTENSION`: the lifecycle hook will be triggered when AttachInstances, DetachInstances or RemoveInstaces is called. `NORMAL`: the lifecycle hook is not triggered by the above APIs. + */ + lifecycleTransitionType?: pulumi.Input; /** * Contains additional information that you want to include any time AS sends a message to the notification target. */ @@ -240,7 +291,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 +316,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. */ @@ -273,6 +328,10 @@ export interface LifecycleHookArgs { * The instance state to which you want to attach the lifecycle hook. Valid values: `INSTANCE_LAUNCHING` and `INSTANCE_TERMINATING`. */ lifecycleTransition: pulumi.Input; + /** + * The scenario where the lifecycle hook is applied. `EXTENSION`: the lifecycle hook will be triggered when AttachInstances, DetachInstances or RemoveInstaces is called. `NORMAL`: the lifecycle hook is not triggered by the above APIs. + */ + lifecycleTransitionType?: pulumi.Input; /** * Contains additional information that you want to include any time AS sends a message to the notification target. */ @@ -282,7 +341,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/scalingConfig.ts b/sdk/nodejs/as/scalingConfig.ts index 6d97ea5d0..abec40500 100644 --- a/sdk/nodejs/as/scalingConfig.ts +++ b/sdk/nodejs/as/scalingConfig.ts @@ -40,6 +40,7 @@ import * as utilities from "../utilities"; * password: "Test@123#", * enhancedSecurityService: false, * enhancedMonitorService: false, + * enhancedAutomationToolsService: false, * userData: "dGVzdA==", * hostNameSettings: { * hostName: "host-name-test", @@ -75,6 +76,34 @@ import * as utilities from "../utilities"; * ``` * * + * ### Using image family + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const example = new tencentcloud.as.ScalingConfig("example", { + * configurationName: "as-test-config", + * diskTypePolicy: "ORIGINAL", + * enhancedAutomationToolsService: false, + * enhancedMonitorService: false, + * enhancedSecurityService: false, + * imageFamily: "business-daily-update", + * instanceTags: {}, + * instanceTypes: ["S5.SMALL2"], + * internetChargeType: "TRAFFIC_POSTPAID_BY_HOUR", + * internetMaxBandwidthOut: 0, + * keyIds: [], + * projectId: 0, + * publicIpAssigned: false, + * securityGroupIds: ["sg-5275dorp"], + * systemDiskSize: 50, + * systemDiskType: "CLOUD_BSSD", + * }); + * ``` + * + * * ## Import * * AutoScaling Configuration can be imported using the id, e.g. @@ -131,6 +160,10 @@ export class ScalingConfig extends pulumi.CustomResource { * Policy of cloud disk type. Valid values: `ORIGINAL` and `AUTOMATIC`. Default is `ORIGINAL`. */ public readonly diskTypePolicy!: pulumi.Output; + /** + * To specify whether to enable cloud automation tools service. + */ + public readonly enhancedAutomationToolsService!: pulumi.Output; /** * To specify whether to enable cloud monitor service. Default is `TRUE`. */ @@ -143,10 +176,14 @@ export class ScalingConfig extends pulumi.CustomResource { * Related settings of the cloud server hostname (HostName). */ public readonly hostNameSettings!: pulumi.Output; + /** + * Image Family Name. Either Image ID or Image Family Name must be provided, but not both. + */ + public readonly imageFamily!: pulumi.Output; /** * An available image ID for a cvm instance. */ - public readonly imageId!: pulumi.Output; + public readonly imageId!: pulumi.Output; /** * Charge type of instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `SPOTPAID`. The default is `POSTPAID_BY_HOUR`. NOTE: `SPOTPAID` instance must set `spotInstanceType` and `spotMaxPrice` at the same time. */ @@ -246,9 +283,11 @@ export class ScalingConfig extends pulumi.CustomResource { resourceInputs["createTime"] = state ? state.createTime : undefined; resourceInputs["dataDisks"] = state ? state.dataDisks : undefined; resourceInputs["diskTypePolicy"] = state ? state.diskTypePolicy : undefined; + resourceInputs["enhancedAutomationToolsService"] = state ? state.enhancedAutomationToolsService : undefined; resourceInputs["enhancedMonitorService"] = state ? state.enhancedMonitorService : undefined; resourceInputs["enhancedSecurityService"] = state ? state.enhancedSecurityService : undefined; resourceInputs["hostNameSettings"] = state ? state.hostNameSettings : undefined; + resourceInputs["imageFamily"] = state ? state.imageFamily : undefined; resourceInputs["imageId"] = state ? state.imageId : undefined; resourceInputs["instanceChargeType"] = state ? state.instanceChargeType : undefined; resourceInputs["instanceChargeTypePrepaidPeriod"] = state ? state.instanceChargeTypePrepaidPeriod : undefined; @@ -275,9 +314,6 @@ export class ScalingConfig extends pulumi.CustomResource { if ((!args || args.configurationName === undefined) && !opts.urn) { throw new Error("Missing required property 'configurationName'"); } - if ((!args || args.imageId === undefined) && !opts.urn) { - throw new Error("Missing required property 'imageId'"); - } if ((!args || args.instanceTypes === undefined) && !opts.urn) { throw new Error("Missing required property 'instanceTypes'"); } @@ -285,9 +321,11 @@ export class ScalingConfig extends pulumi.CustomResource { resourceInputs["configurationName"] = args ? args.configurationName : undefined; resourceInputs["dataDisks"] = args ? args.dataDisks : undefined; resourceInputs["diskTypePolicy"] = args ? args.diskTypePolicy : undefined; + resourceInputs["enhancedAutomationToolsService"] = args ? args.enhancedAutomationToolsService : undefined; resourceInputs["enhancedMonitorService"] = args ? args.enhancedMonitorService : undefined; resourceInputs["enhancedSecurityService"] = args ? args.enhancedSecurityService : undefined; resourceInputs["hostNameSettings"] = args ? args.hostNameSettings : undefined; + resourceInputs["imageFamily"] = args ? args.imageFamily : undefined; resourceInputs["imageId"] = args ? args.imageId : undefined; resourceInputs["instanceChargeType"] = args ? args.instanceChargeType : undefined; resourceInputs["instanceChargeTypePrepaidPeriod"] = args ? args.instanceChargeTypePrepaidPeriod : undefined; @@ -342,6 +380,10 @@ export interface ScalingConfigState { * Policy of cloud disk type. Valid values: `ORIGINAL` and `AUTOMATIC`. Default is `ORIGINAL`. */ diskTypePolicy?: pulumi.Input; + /** + * To specify whether to enable cloud automation tools service. + */ + enhancedAutomationToolsService?: pulumi.Input; /** * To specify whether to enable cloud monitor service. Default is `TRUE`. */ @@ -354,6 +396,10 @@ export interface ScalingConfigState { * Related settings of the cloud server hostname (HostName). */ hostNameSettings?: pulumi.Input; + /** + * Image Family Name. Either Image ID or Image Family Name must be provided, but not both. + */ + imageFamily?: pulumi.Input; /** * An available image ID for a cvm instance. */ @@ -460,6 +506,10 @@ export interface ScalingConfigArgs { * Policy of cloud disk type. Valid values: `ORIGINAL` and `AUTOMATIC`. Default is `ORIGINAL`. */ diskTypePolicy?: pulumi.Input; + /** + * To specify whether to enable cloud automation tools service. + */ + enhancedAutomationToolsService?: pulumi.Input; /** * To specify whether to enable cloud monitor service. Default is `TRUE`. */ @@ -472,10 +522,14 @@ export interface ScalingConfigArgs { * Related settings of the cloud server hostname (HostName). */ hostNameSettings?: pulumi.Input; + /** + * Image Family Name. Either Image ID or Image Family Name must be provided, but not both. + */ + imageFamily?: pulumi.Input; /** * An available image ID for a cvm instance. */ - imageId: pulumi.Input; + imageId?: pulumi.Input; /** * Charge type of instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `SPOTPAID`. The default is `POSTPAID_BY_HOUR`. NOTE: `SPOTPAID` instance must set `spotInstanceType` and `spotMaxPrice` at the same time. */ 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..4229b5f6f --- /dev/null +++ b/sdk/nodejs/as/startInstanceRefresh.ts @@ -0,0 +1,142 @@ +// *** WARNING: this file 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-8n7fdm28", + * refreshMode: "ROLLING_UPDATE_RESET", + * refreshSettings: { + * checkInstanceTargetHealth: false, + * rollingUpdateSettings: { + * batchNumber: 1, + * batchPause: "AUTOMATIC", + * maxSurge: 1, + * }, + * }, + * }); + * ``` + * + */ +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/audit/track.ts b/sdk/nodejs/audit/track.ts index c465d9ec0..6f15ae08c 100644 --- a/sdk/nodejs/audit/track.ts +++ b/sdk/nodejs/audit/track.ts @@ -16,7 +16,7 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * - * const track = new tencentcloud.audit.Track("track", { + * const example = new tencentcloud.audit.Track("example", { * actionType: "Read", * eventNames: ["*"], * resourceType: "*", @@ -32,12 +32,37 @@ import * as utilities from "../utilities"; * ``` * * + * ### Specify storage user + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const example = new tencentcloud.audit.Track("example", { + * actionType: "Read", + * eventNames: ["*"], + * resourceType: "*", + * status: 1, + * storage: { + * storageAccountId: "100037717137", + * storageAppId: "1309116520", + * storageName: "db90b92c-91d2-46b0-94ac-debbbb21dc4e", + * storagePrefix: "cloudaudit", + * storageRegion: "ap-guangzhou", + * storageType: "cos", + * }, + * trackForAllMembers: 0, + * }); + * ``` + * + * * ## Import * * audit track can be imported using the id, e.g. * * ```sh - * $ pulumi import tencentcloud:Audit/track:Track track track_id + * $ pulumi import tencentcloud:Audit/track:Track example 24283 * ``` */ export class Track extends pulumi.CustomResource { 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/cam/getRoleDetail.ts b/sdk/nodejs/cam/getRoleDetail.ts new file mode 100644 index 000000000..9c8eb2422 --- /dev/null +++ b/sdk/nodejs/cam/getRoleDetail.ts @@ -0,0 +1,53 @@ +// *** WARNING: this file 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"; + +export function getRoleDetail(args?: GetRoleDetailArgs, opts?: pulumi.InvokeOptions): Promise { + args = args || {}; + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("tencentcloud:Cam/getRoleDetail:getRoleDetail", { + "resultOutputFile": args.resultOutputFile, + "roleId": args.roleId, + "roleName": args.roleName, + }, opts); +} + +/** + * A collection of arguments for invoking getRoleDetail. + */ +export interface GetRoleDetailArgs { + resultOutputFile?: string; + roleId?: string; + roleName?: string; +} + +/** + * A collection of values returned by getRoleDetail. + */ +export interface GetRoleDetailResult { + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + readonly resultOutputFile?: string; + readonly roleId?: string; + readonly roleInfos: outputs.Cam.GetRoleDetailRoleInfo[]; + readonly roleName?: string; +} +export function getRoleDetailOutput(args?: GetRoleDetailOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getRoleDetail(a, opts)) +} + +/** + * A collection of arguments for invoking getRoleDetail. + */ +export interface GetRoleDetailOutputArgs { + resultOutputFile?: pulumi.Input; + roleId?: pulumi.Input; + roleName?: pulumi.Input; +} diff --git a/sdk/nodejs/cam/getSubAccounts.ts b/sdk/nodejs/cam/getSubAccounts.ts new file mode 100644 index 000000000..a34eac470 --- /dev/null +++ b/sdk/nodejs/cam/getSubAccounts.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 inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as utilities from "../utilities"; + +export function getSubAccounts(args: GetSubAccountsArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("tencentcloud:Cam/getSubAccounts:getSubAccounts", { + "filterSubAccountUins": args.filterSubAccountUins, + "resultOutputFile": args.resultOutputFile, + }, opts); +} + +/** + * A collection of arguments for invoking getSubAccounts. + */ +export interface GetSubAccountsArgs { + filterSubAccountUins: number[]; + resultOutputFile?: string; +} + +/** + * A collection of values returned by getSubAccounts. + */ +export interface GetSubAccountsResult { + readonly filterSubAccountUins: number[]; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + readonly resultOutputFile?: string; + readonly subAccounts: outputs.Cam.GetSubAccountsSubAccount[]; +} +export function getSubAccountsOutput(args: GetSubAccountsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getSubAccounts(a, opts)) +} + +/** + * A collection of arguments for invoking getSubAccounts. + */ +export interface GetSubAccountsOutputArgs { + filterSubAccountUins: pulumi.Input[]>; + resultOutputFile?: pulumi.Input; +} diff --git a/sdk/nodejs/cam/index.ts b/sdk/nodejs/cam/index.ts index bd7489bcc..9e8155574 100644 --- a/sdk/nodejs/cam/index.ts +++ b/sdk/nodejs/cam/index.ts @@ -60,6 +60,11 @@ export const getPolicyGrantingServiceAccess: typeof import("./getPolicyGrantingS export const getPolicyGrantingServiceAccessOutput: typeof import("./getPolicyGrantingServiceAccess").getPolicyGrantingServiceAccessOutput = null as any; utilities.lazyLoad(exports, ["getPolicyGrantingServiceAccess","getPolicyGrantingServiceAccessOutput"], () => require("./getPolicyGrantingServiceAccess")); +export { GetRoleDetailArgs, GetRoleDetailResult, GetRoleDetailOutputArgs } from "./getRoleDetail"; +export const getRoleDetail: typeof import("./getRoleDetail").getRoleDetail = null as any; +export const getRoleDetailOutput: typeof import("./getRoleDetail").getRoleDetailOutput = null as any; +utilities.lazyLoad(exports, ["getRoleDetail","getRoleDetailOutput"], () => require("./getRoleDetail")); + export { GetRolePolicyAttachmentsArgs, GetRolePolicyAttachmentsResult, GetRolePolicyAttachmentsOutputArgs } from "./getRolePolicyAttachments"; export const getRolePolicyAttachments: typeof import("./getRolePolicyAttachments").getRolePolicyAttachments = null as any; export const getRolePolicyAttachmentsOutput: typeof import("./getRolePolicyAttachments").getRolePolicyAttachmentsOutput = null as any; @@ -80,6 +85,11 @@ export const getSecretLastUsedTime: typeof import("./getSecretLastUsedTime").get export const getSecretLastUsedTimeOutput: typeof import("./getSecretLastUsedTime").getSecretLastUsedTimeOutput = null as any; utilities.lazyLoad(exports, ["getSecretLastUsedTime","getSecretLastUsedTimeOutput"], () => require("./getSecretLastUsedTime")); +export { GetSubAccountsArgs, GetSubAccountsResult, GetSubAccountsOutputArgs } from "./getSubAccounts"; +export const getSubAccounts: typeof import("./getSubAccounts").getSubAccounts = null as any; +export const getSubAccountsOutput: typeof import("./getSubAccounts").getSubAccountsOutput = null as any; +utilities.lazyLoad(exports, ["getSubAccounts","getSubAccountsOutput"], () => require("./getSubAccounts")); + export { GetUserPolicyAttachmentsArgs, GetUserPolicyAttachmentsResult, GetUserPolicyAttachmentsOutputArgs } from "./getUserPolicyAttachments"; export const getUserPolicyAttachments: typeof import("./getUserPolicyAttachments").getUserPolicyAttachments = null as any; export const getUserPolicyAttachmentsOutput: typeof import("./getUserPolicyAttachments").getUserPolicyAttachmentsOutput = null as any; 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/getRouteTableInputPolicies.ts b/sdk/nodejs/ccn/getRouteTableInputPolicies.ts new file mode 100644 index 000000000..9e9b52965 --- /dev/null +++ b/sdk/nodejs/ccn/getRouteTableInputPolicies.ts @@ -0,0 +1,117 @@ +// *** WARNING: this file 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 CCN route table input policies. + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const example = tencentcloud.Ccn.getRouteTableInputPolicies({ + * ccnId: "ccn-06jek8tf", + * routeTableId: "ccnrtb-4jv5ltb9", + * }); + * ``` + * + */ +export function getRouteTableInputPolicies(args: GetRouteTableInputPoliciesArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("tencentcloud:Ccn/getRouteTableInputPolicies:getRouteTableInputPolicies", { + "ccnId": args.ccnId, + "policyVersion": args.policyVersion, + "resultOutputFile": args.resultOutputFile, + "routeTableId": args.routeTableId, + }, opts); +} + +/** + * A collection of arguments for invoking getRouteTableInputPolicies. + */ +export interface GetRouteTableInputPoliciesArgs { + /** + * CCN Instance ID. + */ + ccnId: string; + /** + * Policy version. + */ + policyVersion?: number; + /** + * Used to save results. + */ + resultOutputFile?: string; + /** + * CCN Route table ID. + */ + routeTableId: string; +} + +/** + * A collection of values returned by getRouteTableInputPolicies. + */ +export interface GetRouteTableInputPoliciesResult { + readonly ccnId: string; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + /** + * Policy set. + */ + readonly policySets: outputs.Ccn.GetRouteTableInputPoliciesPolicySet[]; + readonly policyVersion?: number; + readonly resultOutputFile?: string; + readonly routeTableId: string; +} +/** + * Use this data source to query CCN route table input policies. + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const example = tencentcloud.Ccn.getRouteTableInputPolicies({ + * ccnId: "ccn-06jek8tf", + * routeTableId: "ccnrtb-4jv5ltb9", + * }); + * ``` + * + */ +export function getRouteTableInputPoliciesOutput(args: GetRouteTableInputPoliciesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getRouteTableInputPolicies(a, opts)) +} + +/** + * A collection of arguments for invoking getRouteTableInputPolicies. + */ +export interface GetRouteTableInputPoliciesOutputArgs { + /** + * CCN Instance ID. + */ + ccnId: pulumi.Input; + /** + * Policy version. + */ + policyVersion?: pulumi.Input; + /** + * Used to save results. + */ + resultOutputFile?: pulumi.Input; + /** + * CCN 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..7bc5901c2 100644 --- a/sdk/nodejs/ccn/index.ts +++ b/sdk/nodejs/ccn/index.ts @@ -40,6 +40,16 @@ 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 { GetRouteTableInputPoliciesArgs, GetRouteTableInputPoliciesResult, GetRouteTableInputPoliciesOutputArgs } from "./getRouteTableInputPolicies"; +export const getRouteTableInputPolicies: typeof import("./getRouteTableInputPolicies").getRouteTableInputPolicies = null as any; +export const getRouteTableInputPoliciesOutput: typeof import("./getRouteTableInputPolicies").getRouteTableInputPoliciesOutput = null as any; +utilities.lazyLoad(exports, ["getRouteTableInputPolicies","getRouteTableInputPoliciesOutput"], () => require("./getRouteTableInputPolicies")); + +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 +75,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 +122,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 +145,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..382f0e0a1 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: "ccnr-5uhewx1s", + * "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/index.ts b/sdk/nodejs/clb/index.ts index 97c9e2d13..4d7197446 100644 --- a/sdk/nodejs/clb/index.ts +++ b/sdk/nodejs/clb/index.ts @@ -125,6 +125,11 @@ export type Listener = import("./listener").Listener; export const Listener: typeof import("./listener").Listener = null as any; utilities.lazyLoad(exports, ["Listener"], () => require("./listener")); +export { ListenerDefaultDomainArgs, ListenerDefaultDomainState } from "./listenerDefaultDomain"; +export type ListenerDefaultDomain = import("./listenerDefaultDomain").ListenerDefaultDomain; +export const ListenerDefaultDomain: typeof import("./listenerDefaultDomain").ListenerDefaultDomain = null as any; +utilities.lazyLoad(exports, ["ListenerDefaultDomain"], () => require("./listenerDefaultDomain")); + export { ListenerRuleArgs, ListenerRuleState } from "./listenerRule"; export type ListenerRule = import("./listenerRule").ListenerRule; export const ListenerRule: typeof import("./listenerRule").ListenerRule = null as any; @@ -199,6 +204,8 @@ const _module = { return new InstanceSlaConfig(name, undefined, { urn }) case "tencentcloud:Clb/listener:Listener": return new Listener(name, undefined, { urn }) + case "tencentcloud:Clb/listenerDefaultDomain:ListenerDefaultDomain": + return new ListenerDefaultDomain(name, undefined, { urn }) case "tencentcloud:Clb/listenerRule:ListenerRule": return new ListenerRule(name, undefined, { urn }) case "tencentcloud:Clb/logSet:LogSet": @@ -233,6 +240,7 @@ pulumi.runtime.registerResourceModule("tencentcloud", "Clb/instance", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Clb/instanceMixIpTargetConfig", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Clb/instanceSlaConfig", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Clb/listener", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Clb/listenerDefaultDomain", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Clb/listenerRule", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Clb/logSet", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Clb/logTopic", _module) diff --git a/sdk/nodejs/clb/instance.ts b/sdk/nodejs/clb/instance.ts index 83360f2dc..597430fcf 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 { @@ -303,7 +442,7 @@ export class Instance extends pulumi.CustomResource { } /** - * IP version, only applicable to open CLB. Valid values are `ipv4`, `ipv6` and `IPv6FullChain`. + * It's only applicable to public network CLB instances. IP version. Values: `IPV4`, `IPV6` and `IPv6FullChain` (case-insensitive). Default: `IPV4`. Note: IPV6 indicates IPv6 NAT64, while IPv6FullChain indicates IPv6. */ public readonly addressIpVersion!: pulumi.Output; /** @@ -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; @@ -515,7 +660,7 @@ export class Instance extends pulumi.CustomResource { */ export interface InstanceState { /** - * IP version, only applicable to open CLB. Valid values are `ipv4`, `ipv6` and `IPv6FullChain`. + * It's only applicable to public network CLB instances. IP version. Values: `IPV4`, `IPV6` and `IPv6FullChain` (case-insensitive). Default: `IPV4`. Note: IPV6 indicates IPv6 NAT64, while IPv6FullChain indicates IPv6. */ addressIpVersion?: pulumi.Input; /** @@ -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. */ @@ -641,7 +790,7 @@ export interface InstanceState { */ export interface InstanceArgs { /** - * IP version, only applicable to open CLB. Valid values are `ipv4`, `ipv6` and `IPv6FullChain`. + * It's only applicable to public network CLB instances. IP version. Values: `IPV4`, `IPV6` and `IPv6FullChain` (case-insensitive). Default: `IPV4`. Note: IPV6 indicates IPv6 NAT64, while IPv6FullChain indicates IPv6. */ addressIpVersion?: pulumi.Input; /** @@ -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/listener.ts b/sdk/nodejs/clb/listener.ts index 8f441aa29..e9ddb2e4b 100644 --- a/sdk/nodejs/clb/listener.ts +++ b/sdk/nodejs/clb/listener.ts @@ -261,6 +261,10 @@ export class Listener extends pulumi.CustomResource { * This parameter is used to specify the end port and is required when creating a port range listener. Only one member can be passed in when inputting the `Ports` parameter, which is used to specify the start port. If you want to try the port range feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category). */ public readonly endPort!: pulumi.Output; + /** + * Enable H2C switch for intranet HTTP listener. + */ + public readonly h2cSwitch!: pulumi.Output; /** * Health check protocol. When the value of `healthCheckType` of the health check protocol is `CUSTOM`, this field is required, which represents the input format of the health check. Valid values: `HEX`, `TEXT`. */ @@ -384,6 +388,7 @@ export class Listener extends pulumi.CustomResource { resourceInputs["certificateSslMode"] = state ? state.certificateSslMode : undefined; resourceInputs["clbId"] = state ? state.clbId : undefined; resourceInputs["endPort"] = state ? state.endPort : undefined; + resourceInputs["h2cSwitch"] = state ? state.h2cSwitch : undefined; resourceInputs["healthCheckContextType"] = state ? state.healthCheckContextType : undefined; resourceInputs["healthCheckHealthNum"] = state ? state.healthCheckHealthNum : undefined; resourceInputs["healthCheckHttpCode"] = state ? state.healthCheckHttpCode : undefined; @@ -426,6 +431,7 @@ export class Listener extends pulumi.CustomResource { resourceInputs["certificateSslMode"] = args ? args.certificateSslMode : undefined; resourceInputs["clbId"] = args ? args.clbId : undefined; resourceInputs["endPort"] = args ? args.endPort : undefined; + resourceInputs["h2cSwitch"] = args ? args.h2cSwitch : undefined; resourceInputs["healthCheckContextType"] = args ? args.healthCheckContextType : undefined; resourceInputs["healthCheckHealthNum"] = args ? args.healthCheckHealthNum : undefined; resourceInputs["healthCheckHttpCode"] = args ? args.healthCheckHttpCode : undefined; @@ -482,6 +488,10 @@ export interface ListenerState { * This parameter is used to specify the end port and is required when creating a port range listener. Only one member can be passed in when inputting the `Ports` parameter, which is used to specify the start port. If you want to try the port range feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category). */ endPort?: pulumi.Input; + /** + * Enable H2C switch for intranet HTTP listener. + */ + h2cSwitch?: pulumi.Input; /** * Health check protocol. When the value of `healthCheckType` of the health check protocol is `CUSTOM`, this field is required, which represents the input format of the health check. Valid values: `HEX`, `TEXT`. */ @@ -612,6 +622,10 @@ export interface ListenerArgs { * This parameter is used to specify the end port and is required when creating a port range listener. Only one member can be passed in when inputting the `Ports` parameter, which is used to specify the start port. If you want to try the port range feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category). */ endPort?: pulumi.Input; + /** + * Enable H2C switch for intranet HTTP listener. + */ + h2cSwitch?: pulumi.Input; /** * Health check protocol. When the value of `healthCheckType` of the health check protocol is `CUSTOM`, this field is required, which represents the input format of the health check. Valid values: `HEX`, `TEXT`. */ diff --git a/sdk/nodejs/clb/listenerDefaultDomain.ts b/sdk/nodejs/clb/listenerDefaultDomain.ts new file mode 100644 index 000000000..c1bc1d025 --- /dev/null +++ b/sdk/nodejs/clb/listenerDefaultDomain.ts @@ -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! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +/** + * Provides a resource to set clb listener default domain + * + * ## Example Usage + * + * ### Set default domain + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const example = new tencentcloud.clb.ListenerDefaultDomain("example", { + * clbId: "lb-g1miv1ok", + * domain: "3.com", + * listenerId: "lbl-duilx5qm", + * }); + * ``` + * + * + * ## Import + * + * CLB listener default domain can be imported using the id (version >= 1.47.0), e.g. + * + * ```sh + * $ pulumi import tencentcloud:Clb/listenerDefaultDomain:ListenerDefaultDomain example lb-k2zjp9lv#lbl-hh141sn9 + * ``` + */ +export class ListenerDefaultDomain extends pulumi.CustomResource { + /** + * Get an existing ListenerDefaultDomain 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?: ListenerDefaultDomainState, opts?: pulumi.CustomResourceOptions): ListenerDefaultDomain { + return new ListenerDefaultDomain(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Clb/listenerDefaultDomain:ListenerDefaultDomain'; + + /** + * Returns true if the given object is an instance of ListenerDefaultDomain. 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 ListenerDefaultDomain { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ListenerDefaultDomain.__pulumiType; + } + + /** + * ID of CLB instance. + */ + public readonly clbId!: pulumi.Output; + /** + * 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; + /** + * ID of CLB listener. + */ + public readonly listenerId!: pulumi.Output; + /** + * ID of this CLB listener rule. + */ + public /*out*/ readonly ruleId!: pulumi.Output; + + /** + * Create a ListenerDefaultDomain 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: ListenerDefaultDomainArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ListenerDefaultDomainArgs | ListenerDefaultDomainState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as ListenerDefaultDomainState | undefined; + resourceInputs["clbId"] = state ? state.clbId : undefined; + resourceInputs["domain"] = state ? state.domain : undefined; + resourceInputs["listenerId"] = state ? state.listenerId : undefined; + resourceInputs["ruleId"] = state ? state.ruleId : undefined; + } else { + const args = argsOrState as ListenerDefaultDomainArgs | undefined; + 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'"); + } + resourceInputs["clbId"] = args ? args.clbId : undefined; + resourceInputs["domain"] = args ? args.domain : undefined; + resourceInputs["listenerId"] = args ? args.listenerId : undefined; + resourceInputs["ruleId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(ListenerDefaultDomain.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering ListenerDefaultDomain resources. + */ +export interface ListenerDefaultDomainState { + /** + * ID of CLB instance. + */ + clbId?: pulumi.Input; + /** + * Domain name of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. + */ + domain?: pulumi.Input; + /** + * ID of CLB listener. + */ + listenerId?: pulumi.Input; + /** + * ID of this CLB listener rule. + */ + ruleId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a ListenerDefaultDomain resource. + */ +export interface ListenerDefaultDomainArgs { + /** + * ID of CLB instance. + */ + clbId: pulumi.Input; + /** + * Domain name of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. + */ + domain: pulumi.Input; + /** + * ID of CLB listener. + */ + listenerId: pulumi.Input; +} diff --git a/sdk/nodejs/clb/listenerRule.ts b/sdk/nodejs/clb/listenerRule.ts index 4c745f84f..63d3ccb22 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,11 +121,15 @@ 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; /** - * Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `TRPC`. The default is `HTTP`. + * 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`, `GRPC`, `GRPCS`, `TRPC`. The default is `HTTP`. */ public readonly forwardType!: pulumi.Output; /** @@ -131,7 +165,7 @@ export class ListenerRule extends pulumi.CustomResource { */ public readonly healthCheckTimeOut!: pulumi.Output; /** - * Type of health check. Valid value is `CUSTOM`, `TCP`, `HTTP`. + * Type of health check. Valid value is `CUSTOM`, `PING`, `TCP`, `HTTP`, `HTTPS`, `GRPC`, `GRPCS`. */ public readonly healthCheckType!: pulumi.Output; /** @@ -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,11 +306,15 @@ 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; /** - * Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `TRPC`. The default is `HTTP`. + * 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`, `GRPC`, `GRPCS`, `TRPC`. The default is `HTTP`. */ forwardType?: pulumi.Input; /** @@ -313,7 +350,7 @@ export interface ListenerRuleState { */ healthCheckTimeOut?: pulumi.Input; /** - * Type of health check. Valid value is `CUSTOM`, `TCP`, `HTTP`. + * Type of health check. Valid value is `CUSTOM`, `PING`, `TCP`, `HTTP`, `HTTPS`, `GRPC`, `GRPCS`. */ healthCheckType?: pulumi.Input; /** @@ -375,11 +412,15 @@ 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`. + * Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `GRPC`, `GRPCS`, `TRPC`. The default is `HTTP`. */ forwardType?: pulumi.Input; /** @@ -415,7 +456,7 @@ export interface ListenerRuleArgs { */ healthCheckTimeOut?: pulumi.Input; /** - * Type of health check. Valid value is `CUSTOM`, `TCP`, `HTTP`. + * Type of health check. Valid value is `CUSTOM`, `PING`, `TCP`, `HTTP`, `HTTPS`, `GRPC`, `GRPCS`. */ healthCheckType?: pulumi.Input; /** 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..ef8ad8b86 100644 --- a/sdk/nodejs/cos/bucket.ts +++ b/sdk/nodejs/cos/bucket.ts @@ -9,6 +9,8 @@ import * as utilities from "../utilities"; /** * Provides a COS resource to create a COS bucket and set its attributes. * + * > **NOTE:** The following capabilities do not support cdc scenarios: `multiAz`, `website`, and bucket replication `replicaRole`. + * * ## Example Usage * * ### Private Bucket @@ -21,9 +23,61 @@ 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 region = "ap-guangzhou"; + * const cdcId = "cluster-262n63e8"; + * 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}`), * 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: false, + * forceClean: true, * }); * ``` * @@ -125,6 +179,48 @@ import * as utilities from "../utilities"; * ``` * * + * ### Using verbose acl with CDC cluster + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const region = "ap-guangzhou"; + * const cdcId = "cluster-262n63e8"; + * const info = tencentcloud.User.getInfo({}); + * const appId = info.then(info => info.appId); + * const bucketWithAcl = new tencentcloud.cos.Bucket("bucketWithAcl", { + * bucket: appId.then(appId => `private-bucket-${appId}`), + * acl: "private", + * aclBody: ` + * + * qcs::cam::uin/100023201586:uin/100023201586 + * qcs::cam::uin/100023201586:uin/100023201586 + * + * + * + * + * qcs::cam::uin/100015006748:uin/100015006748 + * qcs::cam::uin/100015006748:uin/100015006748 + * + * WRITE + * + * + * + * qcs::cam::uin/100023201586:uin/100023201586 + * qcs::cam::uin/100023201586:uin/100023201586 + * + * FULL_CONTROL + * + * + * + * `, + * }); + * ``` + * + * * ### Static Website * * @@ -140,6 +236,7 @@ import * as utilities from "../utilities"; * website: { * indexDocument: "index.html", * errorDocument: "error.html", + * redirectAllRequestsTo: "https", * }, * }); * export const endpointTest = bucketWithStaticWebsite.website.apply(website => website?.endpoint); @@ -173,6 +270,34 @@ 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 region = "ap-guangzhou"; + * const cdcId = "cluster-262n63e8"; + * 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}`), + * corsRules: [{ + * allowedOrigins: ["http://*.abc.com"], + * allowedMethods: [ + * "PUT", + * "POST", + * ], + * allowedHeaders: ["*"], + * maxAgeSeconds: 300, + * exposeHeaders: ["Etag"], + * }], + * }); + * ``` + * + * * ### Using object lifecycle * * @@ -200,6 +325,31 @@ 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 region = "ap-guangzhou"; + * const cdcId = "cluster-262n63e8"; + * 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}`), + * acl: "private", + * lifecycleRules: [{ + * filterPrefix: "path1/", + * expiration: { + * days: 90, + * }, + * }], + * }); + * ``` + * + * * ### Using replication * * @@ -285,6 +435,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 +452,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 +467,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 +537,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 +545,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 +567,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 +614,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 +631,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 +646,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 +720,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 +733,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 +748,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/bucketPolicy.ts b/sdk/nodejs/cos/bucketPolicy.ts index 0961219b4..c5bb00944 100644 --- a/sdk/nodejs/cos/bucketPolicy.ts +++ b/sdk/nodejs/cos/bucketPolicy.ts @@ -83,7 +83,7 @@ export class BucketPolicy extends pulumi.CustomResource { */ public readonly bucket!: pulumi.Output; /** - * The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023). + * The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023), The six-segment resource scenario example in the document is as follows: Example of specifying a bucket: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/*`; Example of specifying a folder: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/*`; Specified object example: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/exampleobject`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/exampleobject`. */ public readonly policy!: pulumi.Output; @@ -127,7 +127,7 @@ export interface BucketPolicyState { */ bucket?: pulumi.Input; /** - * The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023). + * The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023), The six-segment resource scenario example in the document is as follows: Example of specifying a bucket: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/*`; Example of specifying a folder: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/*`; Specified object example: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/exampleobject`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/exampleobject`. */ policy?: pulumi.Input; } @@ -141,7 +141,7 @@ export interface BucketPolicyArgs { */ bucket: pulumi.Input; /** - * The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023). + * The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023), The six-segment resource scenario example in the document is as follows: Example of specifying a bucket: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/*`; Example of specifying a folder: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/*`; Specified object example: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/exampleobject`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/exampleobject`. */ policy: pulumi.Input; } 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/objectCopyOperation.ts b/sdk/nodejs/cos/objectCopyOperation.ts index e2a948d6f..3e3f7940f 100644 --- a/sdk/nodejs/cos/objectCopyOperation.ts +++ b/sdk/nodejs/cos/objectCopyOperation.ts @@ -59,7 +59,7 @@ export class ObjectCopyOperation extends pulumi.CustomResource { */ public readonly key!: pulumi.Output; /** - * Object key. + * Source url. In the CDC scenario, the CDC source url is used. */ public readonly sourceUrl!: pulumi.Output; @@ -112,7 +112,7 @@ export interface ObjectCopyOperationState { */ key?: pulumi.Input; /** - * Object key. + * Source url. In the CDC scenario, the CDC source url is used. */ sourceUrl?: pulumi.Input; } @@ -130,7 +130,7 @@ export interface ObjectCopyOperationArgs { */ key: pulumi.Input; /** - * Object key. + * Source url. In the CDC scenario, the CDC source url is used. */ sourceUrl: pulumi.Input; } 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/cvm/actionTimer.ts b/sdk/nodejs/cvm/actionTimer.ts new file mode 100644 index 000000000..aacc7233e --- /dev/null +++ b/sdk/nodejs/cvm/actionTimer.ts @@ -0,0 +1,161 @@ +// *** WARNING: this file 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 CVM instance action timer + * + * ## Example Usage + * + * + * ```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-6"; + * const images = tencentcloud.Images.getInstance({ + * imageTypes: ["PUBLIC_IMAGE"], + * imageNameRegex: "TencentOS Server", + * }); + * // create vpc + * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "10.0.0.0/16"}); + * // create vpc subnet + * const subnet = new tencentcloud.subnet.Instance("subnet", { + * vpcId: vpc.id, + * availabilityZone: availabilityZone, + * cidrBlock: "10.0.20.0/28", + * isMulticast: false, + * }); + * // create cvm + * const exampleInstance = new tencentcloud.instance.Instance("exampleInstance", { + * instanceName: "tf_example", + * availabilityZone: availabilityZone, + * imageId: images.then(images => images.images?.[0]?.imageId), + * instanceType: "SA3.MEDIUM4", + * systemDiskType: "CLOUD_HSSD", + * systemDiskSize: 100, + * hostname: "example", + * projectId: 0, + * vpcId: vpc.id, + * subnetId: subnet.id, + * dataDisks: [{ + * dataDiskType: "CLOUD_HSSD", + * dataDiskSize: 50, + * encrypt: false, + * }], + * tags: { + * createBy: "terraform", + * }, + * }); + * // create cvm action timer + * const exampleActionTimer = new tencentcloud.cvm.ActionTimer("exampleActionTimer", { + * instanceId: exampleInstance.id, + * actionTimer: { + * timerAction: "TerminateInstances", + * actionTime: "2024-11-11T11:26:40Z", + * }, + * }); + * ``` + * + */ +export class ActionTimer extends pulumi.CustomResource { + /** + * Get an existing ActionTimer 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?: ActionTimerState, opts?: pulumi.CustomResourceOptions): ActionTimer { + return new ActionTimer(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Cvm/actionTimer:ActionTimer'; + + /** + * Returns true if the given object is an instance of ActionTimer. 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 ActionTimer { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ActionTimer.__pulumiType; + } + + /** + * Scheduled tasks. This parameter can be used to specify scheduled tasks for instances, and currently only supports scheduled destruction. + */ + public readonly actionTimer!: pulumi.Output; + /** + * Instance ID. + */ + public readonly instanceId!: pulumi.Output; + + /** + * Create a ActionTimer 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: ActionTimerArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ActionTimerArgs | ActionTimerState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as ActionTimerState | undefined; + resourceInputs["actionTimer"] = state ? state.actionTimer : undefined; + resourceInputs["instanceId"] = state ? state.instanceId : undefined; + } else { + const args = argsOrState as ActionTimerArgs | undefined; + if ((!args || args.actionTimer === undefined) && !opts.urn) { + throw new Error("Missing required property 'actionTimer'"); + } + if ((!args || args.instanceId === undefined) && !opts.urn) { + throw new Error("Missing required property 'instanceId'"); + } + resourceInputs["actionTimer"] = args ? args.actionTimer : undefined; + resourceInputs["instanceId"] = args ? args.instanceId : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(ActionTimer.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering ActionTimer resources. + */ +export interface ActionTimerState { + /** + * Scheduled tasks. This parameter can be used to specify scheduled tasks for instances, and currently only supports scheduled destruction. + */ + actionTimer?: pulumi.Input; + /** + * Instance ID. + */ + instanceId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a ActionTimer resource. + */ +export interface ActionTimerArgs { + /** + * Scheduled tasks. This parameter can be used to specify scheduled tasks for instances, and currently only supports scheduled destruction. + */ + actionTimer: pulumi.Input; + /** + * Instance ID. + */ + instanceId: pulumi.Input; +} diff --git a/sdk/nodejs/cvm/index.ts b/sdk/nodejs/cvm/index.ts index 5522b5c12..ceb4d4912 100644 --- a/sdk/nodejs/cvm/index.ts +++ b/sdk/nodejs/cvm/index.ts @@ -5,6 +5,11 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; // Export members: +export { ActionTimerArgs, ActionTimerState } from "./actionTimer"; +export type ActionTimer = import("./actionTimer").ActionTimer; +export const ActionTimer: typeof import("./actionTimer").ActionTimer = null as any; +utilities.lazyLoad(exports, ["ActionTimer"], () => require("./actionTimer")); + export { ChcConfigArgs, ChcConfigState } from "./chcConfig"; export type ChcConfig = import("./chcConfig").ChcConfig; export const ChcConfig: typeof import("./chcConfig").ChcConfig = null as any; @@ -125,6 +130,8 @@ const _module = { version: utilities.getVersion(), construct: (name: string, type: string, urn: string): pulumi.Resource => { switch (type) { + case "tencentcloud:Cvm/actionTimer:ActionTimer": + return new ActionTimer(name, undefined, { urn }) case "tencentcloud:Cvm/chcConfig:ChcConfig": return new ChcConfig(name, undefined, { urn }) case "tencentcloud:Cvm/exportImages:ExportImages": @@ -160,6 +167,7 @@ const _module = { } }, }; +pulumi.runtime.registerResourceModule("tencentcloud", "Cvm/actionTimer", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Cvm/chcConfig", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Cvm/exportImages", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Cvm/hpcCluster", _module) 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..a4d1f7b5c 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. * @@ -168,20 +172,26 @@ export class Cluster extends pulumi.CustomResource { * The location of the instance. */ public readonly placementInfo!: pulumi.Output; + /** + * Pre executed file settings. It can only be set at the time of creation, and cannot be modified. + */ + public readonly preExecutedFileSettings!: pulumi.Output; /** * Product ID. Different products ID represents different EMR product versions. Value range: * - 16: represents EMR-V2.3.0 - * - 20: indicates EMR-V2.5.0 + * - 20: represents EMR-V2.5.0 * - 25: represents EMR-V3.1.0 * - 27: represents KAFKA-V1.0.0 - * - 30: indicates EMR-V2.6.0 + * - 30: represents EMR-V2.6.0 * - 33: represents EMR-V3.2.1 - * - 34: stands for EMR-V3.3.0 - * - 36: represents STARROCKS-V1.0.0 - * - 37: indicates EMR-V3.4.0 + * - 34: represents EMR-V3.3.0 + * - 37: represents EMR-V3.4.0 * - 38: represents EMR-V2.7.0 - * - 39: stands for STARROCKS-V1.1.0 - * - 41: represents DRUID-V1.1.0. + * - 44: represents EMR-V3.5.0 + * - 50: represents KAFKA-V2.0.0 + * - 51: represents STARROCKS-V1.4.0 + * - 53: represents EMR-V3.6.0 + * - 54: represents STARROCKS-V2.0.0. */ public readonly productId!: pulumi.Output; /** @@ -204,6 +214,10 @@ export class Cluster extends pulumi.CustomResource { * Tag description list. */ public readonly tags!: pulumi.Output<{[key: string]: any}>; + /** + * Terminate nodes. Note: it only works when the number of nodes decreases. + */ + public readonly terminateNodeInfos!: pulumi.Output; /** * The length of time the instance was purchased. Use with TimeUnit.When TimeUnit is s, the parameter can only be filled in at 3600, representing a metered instance. * When TimeUnit is m, the number filled in by this parameter indicates the length of purchase of the monthly instance of the package year, such as 1 for one month of purchase. @@ -231,6 +245,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; @@ -240,12 +255,14 @@ export class Cluster extends pulumi.CustomResource { resourceInputs["payMode"] = state ? state.payMode : undefined; resourceInputs["placement"] = state ? state.placement : undefined; resourceInputs["placementInfo"] = state ? state.placementInfo : undefined; + resourceInputs["preExecutedFileSettings"] = state ? state.preExecutedFileSettings : undefined; resourceInputs["productId"] = state ? state.productId : undefined; resourceInputs["resourceSpec"] = state ? state.resourceSpec : undefined; resourceInputs["sgId"] = state ? state.sgId : undefined; resourceInputs["softwares"] = state ? state.softwares : undefined; resourceInputs["supportHa"] = state ? state.supportHa : undefined; resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["terminateNodeInfos"] = state ? state.terminateNodeInfos : undefined; resourceInputs["timeSpan"] = state ? state.timeSpan : undefined; resourceInputs["timeUnit"] = state ? state.timeUnit : undefined; resourceInputs["vpcSettings"] = state ? state.vpcSettings : undefined; @@ -269,6 +286,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; @@ -277,12 +295,14 @@ export class Cluster extends pulumi.CustomResource { resourceInputs["payMode"] = args ? args.payMode : undefined; resourceInputs["placement"] = args ? args.placement : undefined; resourceInputs["placementInfo"] = args ? args.placementInfo : undefined; + resourceInputs["preExecutedFileSettings"] = args ? args.preExecutedFileSettings : undefined; resourceInputs["productId"] = args ? args.productId : undefined; resourceInputs["resourceSpec"] = args ? args.resourceSpec : undefined; resourceInputs["sgId"] = args ? args.sgId : undefined; resourceInputs["softwares"] = args ? args.softwares : undefined; resourceInputs["supportHa"] = args ? args.supportHa : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["terminateNodeInfos"] = args ? args.terminateNodeInfos : undefined; resourceInputs["timeSpan"] = args ? args.timeSpan : undefined; resourceInputs["timeUnit"] = args ? args.timeUnit : undefined; resourceInputs["vpcSettings"] = args ? args.vpcSettings : undefined; @@ -299,6 +319,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. * @@ -342,20 +366,26 @@ export interface ClusterState { * The location of the instance. */ placementInfo?: pulumi.Input; + /** + * Pre executed file settings. It can only be set at the time of creation, and cannot be modified. + */ + preExecutedFileSettings?: pulumi.Input[]>; /** * Product ID. Different products ID represents different EMR product versions. Value range: * - 16: represents EMR-V2.3.0 - * - 20: indicates EMR-V2.5.0 + * - 20: represents EMR-V2.5.0 * - 25: represents EMR-V3.1.0 * - 27: represents KAFKA-V1.0.0 - * - 30: indicates EMR-V2.6.0 + * - 30: represents EMR-V2.6.0 * - 33: represents EMR-V3.2.1 - * - 34: stands for EMR-V3.3.0 - * - 36: represents STARROCKS-V1.0.0 - * - 37: indicates EMR-V3.4.0 + * - 34: represents EMR-V3.3.0 + * - 37: represents EMR-V3.4.0 * - 38: represents EMR-V2.7.0 - * - 39: stands for STARROCKS-V1.1.0 - * - 41: represents DRUID-V1.1.0. + * - 44: represents EMR-V3.5.0 + * - 50: represents KAFKA-V2.0.0 + * - 51: represents STARROCKS-V1.4.0 + * - 53: represents EMR-V3.6.0 + * - 54: represents STARROCKS-V2.0.0. */ productId?: pulumi.Input; /** @@ -378,6 +408,10 @@ export interface ClusterState { * Tag description list. */ tags?: pulumi.Input<{[key: string]: any}>; + /** + * Terminate nodes. Note: it only works when the number of nodes decreases. + */ + terminateNodeInfos?: pulumi.Input[]>; /** * The length of time the instance was purchased. Use with TimeUnit.When TimeUnit is s, the parameter can only be filled in at 3600, representing a metered instance. * When TimeUnit is m, the number filled in by this parameter indicates the length of purchase of the monthly instance of the package year, such as 1 for one month of purchase. @@ -397,6 +431,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. * @@ -436,20 +474,26 @@ export interface ClusterArgs { * The location of the instance. */ placementInfo?: pulumi.Input; + /** + * Pre executed file settings. It can only be set at the time of creation, and cannot be modified. + */ + preExecutedFileSettings?: pulumi.Input[]>; /** * Product ID. Different products ID represents different EMR product versions. Value range: * - 16: represents EMR-V2.3.0 - * - 20: indicates EMR-V2.5.0 + * - 20: represents EMR-V2.5.0 * - 25: represents EMR-V3.1.0 * - 27: represents KAFKA-V1.0.0 - * - 30: indicates EMR-V2.6.0 + * - 30: represents EMR-V2.6.0 * - 33: represents EMR-V3.2.1 - * - 34: stands for EMR-V3.3.0 - * - 36: represents STARROCKS-V1.0.0 - * - 37: indicates EMR-V3.4.0 + * - 34: represents EMR-V3.3.0 + * - 37: represents EMR-V3.4.0 * - 38: represents EMR-V2.7.0 - * - 39: stands for STARROCKS-V1.1.0 - * - 41: represents DRUID-V1.1.0. + * - 44: represents EMR-V3.5.0 + * - 50: represents KAFKA-V2.0.0 + * - 51: represents STARROCKS-V1.4.0 + * - 53: represents EMR-V3.6.0 + * - 54: represents STARROCKS-V2.0.0. */ productId: pulumi.Input; /** @@ -472,6 +516,10 @@ export interface ClusterArgs { * Tag description list. */ tags?: pulumi.Input<{[key: string]: any}>; + /** + * Terminate nodes. Note: it only works when the number of nodes decreases. + */ + terminateNodeInfos?: pulumi.Input[]>; /** * The length of time the instance was purchased. Use with TimeUnit.When TimeUnit is s, the parameter can only be filled in at 3600, representing a metered instance. * When TimeUnit is m, the number filled in by this parameter indicates the length of purchase of the monthly instance of the package year, such as 1 for one month of purchase. 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/enis/getInstance.ts b/sdk/nodejs/enis/getInstance.ts index 4dc1ad9e9..24ba4cea7 100644 --- a/sdk/nodejs/enis/getInstance.ts +++ b/sdk/nodejs/enis/getInstance.ts @@ -91,7 +91,7 @@ export interface GetInstanceArgs { */ export interface GetInstanceResult { /** - * Description of the IP. + * Message description. */ readonly description?: string; /** diff --git a/sdk/nodejs/events/auditTrack.ts b/sdk/nodejs/events/auditTrack.ts new file mode 100644 index 000000000..7461e373d --- /dev/null +++ b/sdk/nodejs/events/auditTrack.ts @@ -0,0 +1,211 @@ +// *** WARNING: this file 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 events audit track + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const example = new tencentcloud.events.AuditTrack("example", { + * filters: { + * resourceFields: [ + * { + * actionType: "*", + * eventNames: [ + * "AddSubAccount", + * "AddSubAccountCheckingMFA", + * ], + * resourceType: "cam", + * }, + * { + * actionType: "*", + * eventNames: ["*"], + * resourceType: "cvm", + * }, + * { + * actionType: "*", + * eventNames: ["*"], + * resourceType: "tke", + * }, + * ], + * }, + * status: 1, + * storage: { + * storageName: "393953ac-5c1b-457d-911d-376271b1b4f2", + * storagePrefix: "cloudaudit", + * storageRegion: "ap-guangzhou", + * storageType: "cls", + * }, + * trackForAllMembers: 0, + * }); + * ``` + * + * + * ## Import + * + * events audit track can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Events/auditTrack:AuditTrack example 24283 + * ``` + */ +export class AuditTrack extends pulumi.CustomResource { + /** + * Get an existing AuditTrack 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?: AuditTrackState, opts?: pulumi.CustomResourceOptions): AuditTrack { + return new AuditTrack(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Events/auditTrack:AuditTrack'; + + /** + * Returns true if the given object is an instance of AuditTrack. 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 AuditTrack { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === AuditTrack.__pulumiType; + } + + /** + * Data filtering criteria. + */ + public readonly filters!: pulumi.Output; + /** + * Tracking set name, which can only contain 3-48 letters, digits, hyphens, and underscores. + */ + public readonly name!: pulumi.Output; + /** + * Tracking set status (0: Not enabled; 1: Enabled). + */ + public readonly status!: pulumi.Output; + /** + * Storage type of shipped data. Valid values: `cos`, `cls`. + */ + public readonly storage!: pulumi.Output; + /** + * Whether to enable the feature of shipping organization members operation logs to the organization admin account or the trusted service admin account (0: Not enabled; 1: Enabled. This feature can only be enabled by the organization admin account or the trusted service admin account). + */ + public readonly trackForAllMembers!: pulumi.Output; + /** + * Whether the log list has come to an end. `true`: Yes. Pagination is not required. + */ + public /*out*/ readonly trackId!: pulumi.Output; + + /** + * Create a AuditTrack 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: AuditTrackArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: AuditTrackArgs | AuditTrackState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as AuditTrackState | undefined; + resourceInputs["filters"] = state ? state.filters : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["status"] = state ? state.status : undefined; + resourceInputs["storage"] = state ? state.storage : undefined; + resourceInputs["trackForAllMembers"] = state ? state.trackForAllMembers : undefined; + resourceInputs["trackId"] = state ? state.trackId : undefined; + } else { + const args = argsOrState as AuditTrackArgs | undefined; + if ((!args || args.filters === undefined) && !opts.urn) { + throw new Error("Missing required property 'filters'"); + } + if ((!args || args.status === undefined) && !opts.urn) { + throw new Error("Missing required property 'status'"); + } + if ((!args || args.storage === undefined) && !opts.urn) { + throw new Error("Missing required property 'storage'"); + } + resourceInputs["filters"] = args ? args.filters : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["status"] = args ? args.status : undefined; + resourceInputs["storage"] = args ? args.storage : undefined; + resourceInputs["trackForAllMembers"] = args ? args.trackForAllMembers : undefined; + resourceInputs["trackId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(AuditTrack.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering AuditTrack resources. + */ +export interface AuditTrackState { + /** + * Data filtering criteria. + */ + filters?: pulumi.Input; + /** + * Tracking set name, which can only contain 3-48 letters, digits, hyphens, and underscores. + */ + name?: pulumi.Input; + /** + * Tracking set status (0: Not enabled; 1: Enabled). + */ + status?: pulumi.Input; + /** + * Storage type of shipped data. Valid values: `cos`, `cls`. + */ + storage?: pulumi.Input; + /** + * Whether to enable the feature of shipping organization members operation logs to the organization admin account or the trusted service admin account (0: Not enabled; 1: Enabled. This feature can only be enabled by the organization admin account or the trusted service admin account). + */ + trackForAllMembers?: pulumi.Input; + /** + * Whether the log list has come to an end. `true`: Yes. Pagination is not required. + */ + trackId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a AuditTrack resource. + */ +export interface AuditTrackArgs { + /** + * Data filtering criteria. + */ + filters: pulumi.Input; + /** + * Tracking set name, which can only contain 3-48 letters, digits, hyphens, and underscores. + */ + name?: pulumi.Input; + /** + * Tracking set status (0: Not enabled; 1: Enabled). + */ + status: pulumi.Input; + /** + * Storage type of shipped data. Valid values: `cos`, `cls`. + */ + storage: pulumi.Input; + /** + * Whether to enable the feature of shipping organization members operation logs to the organization admin account or the trusted service admin account (0: Not enabled; 1: Enabled. This feature can only be enabled by the organization admin account or the trusted service admin account). + */ + trackForAllMembers?: pulumi.Input; +} diff --git a/sdk/nodejs/events/index.ts b/sdk/nodejs/events/index.ts new file mode 100644 index 000000000..2e9cf17b4 --- /dev/null +++ b/sdk/nodejs/events/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 { AuditTrackArgs, AuditTrackState } from "./auditTrack"; +export type AuditTrack = import("./auditTrack").AuditTrack; +export const AuditTrack: typeof import("./auditTrack").AuditTrack = null as any; +utilities.lazyLoad(exports, ["AuditTrack"], () => require("./auditTrack")); + + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "tencentcloud:Events/auditTrack:AuditTrack": + return new AuditTrack(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("tencentcloud", "Events/auditTrack", _module) diff --git a/sdk/nodejs/gaap/getLayer7Listeners.ts b/sdk/nodejs/gaap/getLayer7Listeners.ts index ed259f3db..6e19ed965 100644 --- a/sdk/nodejs/gaap/getLayer7Listeners.ts +++ b/sdk/nodejs/gaap/getLayer7Listeners.ts @@ -40,6 +40,7 @@ export function getLayer7Listeners(args: GetLayer7ListenersArgs, opts?: pulumi.I opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("tencentcloud:Gaap/getLayer7Listeners:getLayer7Listeners", { + "groupId": args.groupId, "listenerId": args.listenerId, "listenerName": args.listenerName, "port": args.port, @@ -53,6 +54,10 @@ export function getLayer7Listeners(args: GetLayer7ListenersArgs, opts?: pulumi.I * A collection of arguments for invoking getLayer7Listeners. */ export interface GetLayer7ListenersArgs { + /** + * Group id. + */ + groupId?: string; /** * ID of the layer7 listener to be queried. */ @@ -83,6 +88,7 @@ export interface GetLayer7ListenersArgs { * A collection of values returned by getLayer7Listeners. */ export interface GetLayer7ListenersResult { + readonly groupId?: string; /** * The provider-assigned unique ID for this managed resource. */ @@ -145,6 +151,10 @@ export function getLayer7ListenersOutput(args: GetLayer7ListenersOutputArgs, opt * A collection of arguments for invoking getLayer7Listeners. */ export interface GetLayer7ListenersOutputArgs { + /** + * Group id. + */ + groupId?: pulumi.Input; /** * ID of the layer7 listener to be queried. */ diff --git a/sdk/nodejs/gaap/getProxyStatistics.ts b/sdk/nodejs/gaap/getProxyStatistics.ts index 351f16b7a..82ce035e1 100644 --- a/sdk/nodejs/gaap/getProxyStatistics.ts +++ b/sdk/nodejs/gaap/getProxyStatistics.ts @@ -69,7 +69,7 @@ export interface GetProxyStatisticsArgs { */ isp?: string; /** - * Metric Names. Valid values: InBandwidth,OutBandwidth, Concurrent, InPackets, OutPackets, PacketLoss, Latency, HttpQPS, HttpsQPS. + * Metric Names. Valid values: InBandwidth,OutBandwidth, Concurrent, InPackets, OutPackets, PacketLoss, Latency, HttpQPS, HttpsQPS, HttpQPSPercent, HttpsQPSPercent. */ metricNames: string[]; /** @@ -159,7 +159,7 @@ export interface GetProxyStatisticsOutputArgs { */ isp?: pulumi.Input; /** - * Metric Names. Valid values: InBandwidth,OutBandwidth, Concurrent, InPackets, OutPackets, PacketLoss, Latency, HttpQPS, HttpsQPS. + * Metric Names. Valid values: InBandwidth,OutBandwidth, Concurrent, InPackets, OutPackets, PacketLoss, Latency, HttpQPS, HttpsQPS, HttpQPSPercent, HttpsQPSPercent. */ metricNames: pulumi.Input[]>; /** diff --git a/sdk/nodejs/gaap/httpDomain.ts b/sdk/nodejs/gaap/httpDomain.ts index 4a22ad329..772210cfd 100644 --- a/sdk/nodejs/gaap/httpDomain.ts +++ b/sdk/nodejs/gaap/httpDomain.ts @@ -102,6 +102,14 @@ export class HttpDomain extends pulumi.CustomResource { * ID of the SSL certificate. */ public readonly gaapAuthId!: pulumi.Output; + /** + * Group Id. + */ + public readonly groupId!: pulumi.Output; + /** + * Whether to use as the default domain name, the default is false. + */ + public readonly isDefaultServer!: pulumi.Output; /** * ID of the layer7 listener. */ @@ -146,6 +154,8 @@ export class HttpDomain extends pulumi.CustomResource { resourceInputs["domain"] = state ? state.domain : undefined; resourceInputs["gaapAuth"] = state ? state.gaapAuth : undefined; resourceInputs["gaapAuthId"] = state ? state.gaapAuthId : undefined; + resourceInputs["groupId"] = state ? state.groupId : undefined; + resourceInputs["isDefaultServer"] = state ? state.isDefaultServer : undefined; resourceInputs["listenerId"] = state ? state.listenerId : undefined; resourceInputs["realserverAuth"] = state ? state.realserverAuth : undefined; resourceInputs["realserverCertificateDomain"] = state ? state.realserverCertificateDomain : undefined; @@ -167,6 +177,8 @@ export class HttpDomain extends pulumi.CustomResource { resourceInputs["domain"] = args ? args.domain : undefined; resourceInputs["gaapAuth"] = args ? args.gaapAuth : undefined; resourceInputs["gaapAuthId"] = args ? args.gaapAuthId : undefined; + resourceInputs["groupId"] = args ? args.groupId : undefined; + resourceInputs["isDefaultServer"] = args ? args.isDefaultServer : undefined; resourceInputs["listenerId"] = args ? args.listenerId : undefined; resourceInputs["realserverAuth"] = args ? args.realserverAuth : undefined; resourceInputs["realserverCertificateDomain"] = args ? args.realserverCertificateDomain : undefined; @@ -216,6 +228,14 @@ export interface HttpDomainState { * ID of the SSL certificate. */ gaapAuthId?: pulumi.Input; + /** + * Group Id. + */ + groupId?: pulumi.Input; + /** + * Whether to use as the default domain name, the default is false. + */ + isDefaultServer?: pulumi.Input; /** * ID of the layer7 listener. */ @@ -278,6 +298,14 @@ export interface HttpDomainArgs { * ID of the SSL certificate. */ gaapAuthId?: pulumi.Input; + /** + * Group Id. + */ + groupId?: pulumi.Input; + /** + * Whether to use as the default domain name, the default is false. + */ + isDefaultServer?: pulumi.Input; /** * ID of the layer7 listener. */ 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/gaap/layer7Listener.ts b/sdk/nodejs/gaap/layer7Listener.ts index 85fd91818..c5e80350e 100644 --- a/sdk/nodejs/gaap/layer7Listener.ts +++ b/sdk/nodejs/gaap/layer7Listener.ts @@ -90,6 +90,10 @@ export class Layer7Listener extends pulumi.CustomResource { * Protocol type of the forwarding. Valid value: `HTTP` and `HTTPS`. NOTES: Only supports listeners of `HTTPS` protocol. */ public readonly forwardProtocol!: pulumi.Output; + /** + * Group ID. + */ + public readonly groupId!: pulumi.Output; /** * Name of the layer7 listener, the maximum length is 30. */ @@ -105,11 +109,19 @@ export class Layer7Listener extends pulumi.CustomResource { /** * ID of the GAAP proxy. */ - public readonly proxyId!: pulumi.Output; + public readonly proxyId!: pulumi.Output; /** * Status of the layer7 listener. */ public /*out*/ readonly status!: pulumi.Output; + /** + * Password Suite, optional GAAP_TLS_CIPHERS_STRICT, GAAP_TLS_CIPHERS_GENERAL, GAAP_TLS_CIPHERS_WIDE(default). + */ + public readonly tlsCiphers!: pulumi.Output; + /** + * TLS version, optional TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. + */ + public readonly tlsSupportVersions!: pulumi.Output; /** * Create a Layer7Listener resource with the given unique name, arguments, and options. @@ -130,11 +142,14 @@ export class Layer7Listener extends pulumi.CustomResource { resourceInputs["clientCertificateIds"] = state ? state.clientCertificateIds : undefined; resourceInputs["createTime"] = state ? state.createTime : undefined; resourceInputs["forwardProtocol"] = state ? state.forwardProtocol : undefined; + resourceInputs["groupId"] = state ? state.groupId : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["port"] = state ? state.port : undefined; resourceInputs["protocol"] = state ? state.protocol : undefined; resourceInputs["proxyId"] = state ? state.proxyId : undefined; resourceInputs["status"] = state ? state.status : undefined; + resourceInputs["tlsCiphers"] = state ? state.tlsCiphers : undefined; + resourceInputs["tlsSupportVersions"] = state ? state.tlsSupportVersions : undefined; } else { const args = argsOrState as Layer7ListenerArgs | undefined; if ((!args || args.port === undefined) && !opts.urn) { @@ -143,18 +158,18 @@ export class Layer7Listener extends pulumi.CustomResource { if ((!args || args.protocol === undefined) && !opts.urn) { throw new Error("Missing required property 'protocol'"); } - if ((!args || args.proxyId === undefined) && !opts.urn) { - throw new Error("Missing required property 'proxyId'"); - } resourceInputs["authType"] = args ? args.authType : undefined; resourceInputs["certificateId"] = args ? args.certificateId : undefined; resourceInputs["clientCertificateId"] = args ? args.clientCertificateId : undefined; resourceInputs["clientCertificateIds"] = args ? args.clientCertificateIds : undefined; resourceInputs["forwardProtocol"] = args ? args.forwardProtocol : undefined; + resourceInputs["groupId"] = args ? args.groupId : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["port"] = args ? args.port : undefined; resourceInputs["protocol"] = args ? args.protocol : undefined; resourceInputs["proxyId"] = args ? args.proxyId : undefined; + resourceInputs["tlsCiphers"] = args ? args.tlsCiphers : undefined; + resourceInputs["tlsSupportVersions"] = args ? args.tlsSupportVersions : undefined; resourceInputs["createTime"] = undefined /*out*/; resourceInputs["status"] = undefined /*out*/; } @@ -193,6 +208,10 @@ export interface Layer7ListenerState { * Protocol type of the forwarding. Valid value: `HTTP` and `HTTPS`. NOTES: Only supports listeners of `HTTPS` protocol. */ forwardProtocol?: pulumi.Input; + /** + * Group ID. + */ + groupId?: pulumi.Input; /** * Name of the layer7 listener, the maximum length is 30. */ @@ -213,6 +232,14 @@ export interface Layer7ListenerState { * Status of the layer7 listener. */ status?: pulumi.Input; + /** + * Password Suite, optional GAAP_TLS_CIPHERS_STRICT, GAAP_TLS_CIPHERS_GENERAL, GAAP_TLS_CIPHERS_WIDE(default). + */ + tlsCiphers?: pulumi.Input; + /** + * TLS version, optional TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. + */ + tlsSupportVersions?: pulumi.Input[]>; } /** @@ -241,6 +268,10 @@ export interface Layer7ListenerArgs { * Protocol type of the forwarding. Valid value: `HTTP` and `HTTPS`. NOTES: Only supports listeners of `HTTPS` protocol. */ forwardProtocol?: pulumi.Input; + /** + * Group ID. + */ + groupId?: pulumi.Input; /** * Name of the layer7 listener, the maximum length is 30. */ @@ -256,5 +287,13 @@ export interface Layer7ListenerArgs { /** * ID of the GAAP proxy. */ - proxyId: pulumi.Input; + proxyId?: pulumi.Input; + /** + * Password Suite, optional GAAP_TLS_CIPHERS_STRICT, GAAP_TLS_CIPHERS_GENERAL, GAAP_TLS_CIPHERS_WIDE(default). + */ + tlsCiphers?: pulumi.Input; + /** + * TLS version, optional TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. + */ + tlsSupportVersions?: 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/centerRoleConfigurationPermissionCustomPoliciesAttachment.ts b/sdk/nodejs/identity/centerRoleConfigurationPermissionCustomPoliciesAttachment.ts new file mode 100644 index 000000000..8a2f16527 --- /dev/null +++ b/sdk/nodejs/identity/centerRoleConfigurationPermissionCustomPoliciesAttachment.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 inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as utilities from "../utilities"; + +/** + * Provides a resource to create a organization tencentcloud.Identity.CenterRoleConfigurationPermissionCustomPoliciesAttachment + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const identityCenterRoleConfigurationPermissionCustomPoliciesAttachment = new tencentcloud.identity.CenterRoleConfigurationPermissionCustomPoliciesAttachment("identityCenterRoleConfigurationPermissionCustomPoliciesAttachment", { + * zoneId: "z-xxxxxx", + * roleConfigurationId: "rc-xxxxxx", + * policies: [ + * { + * rolePolicyName: "CustomPolicy2", + * rolePolicyDocument: `{ + * "version": "2.0", + * "statement": [ + * { + * "effect": "allow", + * "action": [ + * "vpc:AcceptAttachCcnInstances" + * ], + * "resource": [ + * "*" + * ] + * } + * ] + * } + * `, + * }, + * { + * rolePolicyName: "CustomPolicy1", + * rolePolicyDocument: `{ + * "version": "2.0", + * "statement": [ + * { + * "effect": "allow", + * "action": [ + * "vpc:AcceptAttachCcnInstances" + * ], + * "resource": [ + * "*" + * ] + * } + * ] + * } + * `, + * }, + * ], + * }); + * ``` + * + * + * ## Import + * + * organization tencentcloud_identity_center_role_configuration_permission_custom_policies_attachment can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Identity/centerRoleConfigurationPermissionCustomPoliciesAttachment:CenterRoleConfigurationPermissionCustomPoliciesAttachment identity_center_role_configuration_permission_custom_policies_attachment ${zoneId}#${roleConfigurationId}#${rolePolicyName1},...${rolePolicyNameN} + * ``` + */ +export class CenterRoleConfigurationPermissionCustomPoliciesAttachment extends pulumi.CustomResource { + /** + * Get an existing CenterRoleConfigurationPermissionCustomPoliciesAttachment 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?: CenterRoleConfigurationPermissionCustomPoliciesAttachmentState, opts?: pulumi.CustomResourceOptions): CenterRoleConfigurationPermissionCustomPoliciesAttachment { + return new CenterRoleConfigurationPermissionCustomPoliciesAttachment(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Identity/centerRoleConfigurationPermissionCustomPoliciesAttachment:CenterRoleConfigurationPermissionCustomPoliciesAttachment'; + + /** + * Returns true if the given object is an instance of CenterRoleConfigurationPermissionCustomPoliciesAttachment. 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 CenterRoleConfigurationPermissionCustomPoliciesAttachment { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === CenterRoleConfigurationPermissionCustomPoliciesAttachment.__pulumiType; + } + + /** + * Policies. + */ + public readonly policies!: pulumi.Output; + /** + * Permission configuration ID. + */ + public readonly roleConfigurationId!: pulumi.Output; + /** + * Space ID. + */ + public readonly zoneId!: pulumi.Output; + + /** + * Create a CenterRoleConfigurationPermissionCustomPoliciesAttachment 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: CenterRoleConfigurationPermissionCustomPoliciesAttachmentArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: CenterRoleConfigurationPermissionCustomPoliciesAttachmentArgs | CenterRoleConfigurationPermissionCustomPoliciesAttachmentState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as CenterRoleConfigurationPermissionCustomPoliciesAttachmentState | undefined; + resourceInputs["policies"] = state ? state.policies : undefined; + resourceInputs["roleConfigurationId"] = state ? state.roleConfigurationId : undefined; + resourceInputs["zoneId"] = state ? state.zoneId : undefined; + } else { + const args = argsOrState as CenterRoleConfigurationPermissionCustomPoliciesAttachmentArgs | undefined; + if ((!args || args.policies === undefined) && !opts.urn) { + throw new Error("Missing required property 'policies'"); + } + if ((!args || args.roleConfigurationId === undefined) && !opts.urn) { + throw new Error("Missing required property 'roleConfigurationId'"); + } + if ((!args || args.zoneId === undefined) && !opts.urn) { + throw new Error("Missing required property 'zoneId'"); + } + resourceInputs["policies"] = args ? args.policies : undefined; + resourceInputs["roleConfigurationId"] = args ? args.roleConfigurationId : undefined; + resourceInputs["zoneId"] = args ? args.zoneId : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(CenterRoleConfigurationPermissionCustomPoliciesAttachment.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering CenterRoleConfigurationPermissionCustomPoliciesAttachment resources. + */ +export interface CenterRoleConfigurationPermissionCustomPoliciesAttachmentState { + /** + * Policies. + */ + policies?: pulumi.Input[]>; + /** + * Permission configuration ID. + */ + roleConfigurationId?: pulumi.Input; + /** + * Space ID. + */ + zoneId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a CenterRoleConfigurationPermissionCustomPoliciesAttachment resource. + */ +export interface CenterRoleConfigurationPermissionCustomPoliciesAttachmentArgs { + /** + * Policies. + */ + policies: pulumi.Input[]>; + /** + * Permission configuration ID. + */ + roleConfigurationId: 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/centerScimCredential.ts b/sdk/nodejs/identity/centerScimCredential.ts new file mode 100644 index 000000000..c4658276b --- /dev/null +++ b/sdk/nodejs/identity/centerScimCredential.ts @@ -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! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +/** + * Provides a resource to create an identity center scim credential + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const identityCenterScimCredential = new tencentcloud.identity.CenterScimCredential("identityCenterScimCredential", {zoneId: "z-xxxxxx"}); + * ``` + * + * + * ## Import + * + * organization identity_center_scim_credential can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Identity/centerScimCredential:CenterScimCredential identity_center_scim_credential ${zone_id}#${credential_id} + * ``` + */ +export class CenterScimCredential extends pulumi.CustomResource { + /** + * Get an existing CenterScimCredential 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?: CenterScimCredentialState, opts?: pulumi.CustomResourceOptions): CenterScimCredential { + return new CenterScimCredential(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Identity/centerScimCredential:CenterScimCredential'; + + /** + * Returns true if the given object is an instance of CenterScimCredential. 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 CenterScimCredential { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === CenterScimCredential.__pulumiType; + } + + /** + * SCIM create time. + */ + public /*out*/ readonly createTime!: pulumi.Output; + /** + * SCIM key ID. scimcred-prefix and followed by 12 random digits/lowercase letters. + */ + public /*out*/ readonly credentialId!: pulumi.Output; + /** + * SCIM credential type. + */ + public /*out*/ readonly credentialType!: pulumi.Output; + /** + * SCIM expire time. + */ + public /*out*/ readonly expireTime!: pulumi.Output; + /** + * SCIM key status, Enabled-On, Disabled-Closed. + */ + public /*out*/ readonly status!: pulumi.Output; + /** + * Space ID. z-prefix starts with 12 random digits/lowercase letters. + */ + public readonly zoneId!: pulumi.Output; + + /** + * Create a CenterScimCredential 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: CenterScimCredentialArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: CenterScimCredentialArgs | CenterScimCredentialState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as CenterScimCredentialState | undefined; + resourceInputs["createTime"] = state ? state.createTime : undefined; + resourceInputs["credentialId"] = state ? state.credentialId : undefined; + resourceInputs["credentialType"] = state ? state.credentialType : undefined; + resourceInputs["expireTime"] = state ? state.expireTime : undefined; + resourceInputs["status"] = state ? state.status : undefined; + resourceInputs["zoneId"] = state ? state.zoneId : undefined; + } else { + const args = argsOrState as CenterScimCredentialArgs | undefined; + if ((!args || args.zoneId === undefined) && !opts.urn) { + throw new Error("Missing required property 'zoneId'"); + } + resourceInputs["zoneId"] = args ? args.zoneId : undefined; + resourceInputs["createTime"] = undefined /*out*/; + resourceInputs["credentialId"] = undefined /*out*/; + resourceInputs["credentialType"] = undefined /*out*/; + resourceInputs["expireTime"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(CenterScimCredential.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering CenterScimCredential resources. + */ +export interface CenterScimCredentialState { + /** + * SCIM create time. + */ + createTime?: pulumi.Input; + /** + * SCIM key ID. scimcred-prefix and followed by 12 random digits/lowercase letters. + */ + credentialId?: pulumi.Input; + /** + * SCIM credential type. + */ + credentialType?: pulumi.Input; + /** + * SCIM expire time. + */ + expireTime?: pulumi.Input; + /** + * SCIM key status, Enabled-On, Disabled-Closed. + */ + status?: pulumi.Input; + /** + * Space ID. z-prefix starts with 12 random digits/lowercase letters. + */ + zoneId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a CenterScimCredential resource. + */ +export interface CenterScimCredentialArgs { + /** + * Space ID. z-prefix starts with 12 random digits/lowercase letters. + */ + zoneId: pulumi.Input; +} diff --git a/sdk/nodejs/identity/centerScimCredentialStatus.ts b/sdk/nodejs/identity/centerScimCredentialStatus.ts new file mode 100644 index 000000000..9d3f281e5 --- /dev/null +++ b/sdk/nodejs/identity/centerScimCredentialStatus.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 manage identity center scim credential status + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const identityCenterScimCredentialStatus = new tencentcloud.identity.CenterScimCredentialStatus("identityCenterScimCredentialStatus", { + * credentialId: "scimcred-xxxxxx", + * status: "Enabled", + * zoneId: "z-xxxxxx", + * }); + * ``` + * + * + * ## Import + * + * organization identity_center_scim_credential_status can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Identity/centerScimCredentialStatus:CenterScimCredentialStatus identity_center_scim_credential_status ${zone_id}#${credential_id} + * ``` + */ +export class CenterScimCredentialStatus extends pulumi.CustomResource { + /** + * Get an existing CenterScimCredentialStatus 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?: CenterScimCredentialStatusState, opts?: pulumi.CustomResourceOptions): CenterScimCredentialStatus { + return new CenterScimCredentialStatus(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Identity/centerScimCredentialStatus:CenterScimCredentialStatus'; + + /** + * Returns true if the given object is an instance of CenterScimCredentialStatus. 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 CenterScimCredentialStatus { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === CenterScimCredentialStatus.__pulumiType; + } + + /** + * SCIM key ID. scimcred-prefix and followed by 12 random digits/lowercase letters. + */ + public readonly credentialId!: pulumi.Output; + /** + * SCIM key status. Enabled-enabled. Disabled-disabled. + */ + public readonly status!: pulumi.Output; + /** + * Space ID. z-prefix starts with 12 random digits/lowercase letters. + */ + public readonly zoneId!: pulumi.Output; + + /** + * Create a CenterScimCredentialStatus 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: CenterScimCredentialStatusArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: CenterScimCredentialStatusArgs | CenterScimCredentialStatusState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as CenterScimCredentialStatusState | undefined; + resourceInputs["credentialId"] = state ? state.credentialId : undefined; + resourceInputs["status"] = state ? state.status : undefined; + resourceInputs["zoneId"] = state ? state.zoneId : undefined; + } else { + const args = argsOrState as CenterScimCredentialStatusArgs | undefined; + if ((!args || args.credentialId === undefined) && !opts.urn) { + throw new Error("Missing required property 'credentialId'"); + } + if ((!args || args.status === undefined) && !opts.urn) { + throw new Error("Missing required property 'status'"); + } + if ((!args || args.zoneId === undefined) && !opts.urn) { + throw new Error("Missing required property 'zoneId'"); + } + resourceInputs["credentialId"] = args ? args.credentialId : undefined; + resourceInputs["status"] = args ? args.status : undefined; + resourceInputs["zoneId"] = args ? args.zoneId : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(CenterScimCredentialStatus.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering CenterScimCredentialStatus resources. + */ +export interface CenterScimCredentialStatusState { + /** + * SCIM key ID. scimcred-prefix and followed by 12 random digits/lowercase letters. + */ + credentialId?: pulumi.Input; + /** + * SCIM key status. Enabled-enabled. Disabled-disabled. + */ + status?: pulumi.Input; + /** + * Space ID. z-prefix starts with 12 random digits/lowercase letters. + */ + zoneId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a CenterScimCredentialStatus resource. + */ +export interface CenterScimCredentialStatusArgs { + /** + * SCIM key ID. scimcred-prefix and followed by 12 random digits/lowercase letters. + */ + credentialId: pulumi.Input; + /** + * SCIM key status. Enabled-enabled. Disabled-disabled. + */ + status: pulumi.Input; + /** + * Space ID. z-prefix starts with 12 random digits/lowercase letters. + */ + zoneId: pulumi.Input; +} diff --git a/sdk/nodejs/identity/centerScimSynchronizationStatus.ts b/sdk/nodejs/identity/centerScimSynchronizationStatus.ts new file mode 100644 index 000000000..5e319d9ea --- /dev/null +++ b/sdk/nodejs/identity/centerScimSynchronizationStatus.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 utilities from "../utilities"; + +/** + * Provides a resource to manage identity center scim synchronization status + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const identityCenterScimSynchronizationStatus = new tencentcloud.identity.CenterScimSynchronizationStatus("identityCenterScimSynchronizationStatus", { + * scimSynchronizationStatus: "Enabled", + * zoneId: "z-xxxxxx", + * }); + * ``` + * + * + * ## Import + * + * organization identity_center_scim_synchronization_status can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Identity/centerScimSynchronizationStatus:CenterScimSynchronizationStatus identity_center_scim_synchronization_status ${zone_id} + * ``` + */ +export class CenterScimSynchronizationStatus extends pulumi.CustomResource { + /** + * Get an existing CenterScimSynchronizationStatus 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?: CenterScimSynchronizationStatusState, opts?: pulumi.CustomResourceOptions): CenterScimSynchronizationStatus { + return new CenterScimSynchronizationStatus(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Identity/centerScimSynchronizationStatus:CenterScimSynchronizationStatus'; + + /** + * Returns true if the given object is an instance of CenterScimSynchronizationStatus. 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 CenterScimSynchronizationStatus { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === CenterScimSynchronizationStatus.__pulumiType; + } + + /** + * SCIM synchronization status. Enabled-enabled. Disabled-disables. + */ + public readonly scimSynchronizationStatus!: pulumi.Output; + /** + * Space ID. z-prefix starts with 12 random digits/lowercase letters. + */ + public readonly zoneId!: pulumi.Output; + + /** + * Create a CenterScimSynchronizationStatus 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: CenterScimSynchronizationStatusArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: CenterScimSynchronizationStatusArgs | CenterScimSynchronizationStatusState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as CenterScimSynchronizationStatusState | undefined; + resourceInputs["scimSynchronizationStatus"] = state ? state.scimSynchronizationStatus : undefined; + resourceInputs["zoneId"] = state ? state.zoneId : undefined; + } else { + const args = argsOrState as CenterScimSynchronizationStatusArgs | undefined; + if ((!args || args.scimSynchronizationStatus === undefined) && !opts.urn) { + throw new Error("Missing required property 'scimSynchronizationStatus'"); + } + if ((!args || args.zoneId === undefined) && !opts.urn) { + throw new Error("Missing required property 'zoneId'"); + } + resourceInputs["scimSynchronizationStatus"] = args ? args.scimSynchronizationStatus : undefined; + resourceInputs["zoneId"] = args ? args.zoneId : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(CenterScimSynchronizationStatus.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering CenterScimSynchronizationStatus resources. + */ +export interface CenterScimSynchronizationStatusState { + /** + * SCIM synchronization status. Enabled-enabled. Disabled-disables. + */ + scimSynchronizationStatus?: pulumi.Input; + /** + * Space ID. z-prefix starts with 12 random digits/lowercase letters. + */ + zoneId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a CenterScimSynchronizationStatus resource. + */ +export interface CenterScimSynchronizationStatusArgs { + /** + * SCIM synchronization status. Enabled-enabled. Disabled-disables. + */ + scimSynchronizationStatus: pulumi.Input; + /** + * Space ID. z-prefix starts with 12 random digits/lowercase letters. + */ + 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/getCenterGroups.ts b/sdk/nodejs/identity/getCenterGroups.ts new file mode 100644 index 000000000..c155909de --- /dev/null +++ b/sdk/nodejs/identity/getCenterGroups.ts @@ -0,0 +1,145 @@ +// *** WARNING: this file 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 identity center groups + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const identityCenterGroups = tencentcloud.Identity.getCenterGroups({ + * zoneId: "z-xxxxxx", + * }); + * ``` + * + */ +export function getCenterGroups(args: GetCenterGroupsArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("tencentcloud:Identity/getCenterGroups:getCenterGroups", { + "filter": args.filter, + "filterUsers": args.filterUsers, + "groupType": args.groupType, + "resultOutputFile": args.resultOutputFile, + "sortField": args.sortField, + "sortType": args.sortType, + "zoneId": args.zoneId, + }, opts); +} + +/** + * A collection of arguments for invoking getCenterGroups. + */ +export interface GetCenterGroupsArgs { + /** + * Filter criterion. Format: , case-insensitive. Currently, supports only GroupName, and supports only eq (Equals) and sw (Start With). For example, Filter = "GroupName sw test" indicates querying all user groups with names starting with test; Filter = "GroupName eq testgroup" indicates querying the user group with the name testgroup. + */ + filter?: string; + /** + * Filtered user. IsSelected=1 will be returned for the user group associated with this user. + */ + filterUsers?: string[]; + /** + * User group type. Manual: manually created; Synchronized: externally imported. + */ + groupType?: string; + /** + * Used to save results. + */ + resultOutputFile?: string; + /** + * Sorting field, which currently only supports CreateTime. The default is the CreateTime field. + */ + sortField?: string; + /** + * Sorting type. Desc: descending order; Asc: ascending order. It should be set along with SortField. + */ + sortType?: string; + /** + * Space ID. + */ + zoneId: string; +} + +/** + * A collection of values returned by getCenterGroups. + */ +export interface GetCenterGroupsResult { + readonly filter?: string; + readonly filterUsers?: string[]; + readonly groupType?: string; + /** + * User group list. + */ + readonly groups: outputs.Identity.GetCenterGroupsGroup[]; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + readonly resultOutputFile?: string; + readonly sortField?: string; + readonly sortType?: string; + readonly zoneId: string; +} +/** + * Use this data source to query detailed information of identity center groups + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const identityCenterGroups = tencentcloud.Identity.getCenterGroups({ + * zoneId: "z-xxxxxx", + * }); + * ``` + * + */ +export function getCenterGroupsOutput(args: GetCenterGroupsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getCenterGroups(a, opts)) +} + +/** + * A collection of arguments for invoking getCenterGroups. + */ +export interface GetCenterGroupsOutputArgs { + /** + * Filter criterion. Format: , case-insensitive. Currently, supports only GroupName, and supports only eq (Equals) and sw (Start With). For example, Filter = "GroupName sw test" indicates querying all user groups with names starting with test; Filter = "GroupName eq testgroup" indicates querying the user group with the name testgroup. + */ + filter?: pulumi.Input; + /** + * Filtered user. IsSelected=1 will be returned for the user group associated with this user. + */ + filterUsers?: pulumi.Input[]>; + /** + * User group type. Manual: manually created; Synchronized: externally imported. + */ + groupType?: pulumi.Input; + /** + * Used to save results. + */ + resultOutputFile?: pulumi.Input; + /** + * Sorting field, which currently only supports CreateTime. The default is the CreateTime field. + */ + sortField?: pulumi.Input; + /** + * Sorting type. Desc: descending order; Asc: ascending order. It should be set along with SortField. + */ + sortType?: pulumi.Input; + /** + * Space ID. + */ + zoneId: pulumi.Input; +} diff --git a/sdk/nodejs/identity/getCenterRoleConfigurations.ts b/sdk/nodejs/identity/getCenterRoleConfigurations.ts new file mode 100644 index 000000000..c72339212 --- /dev/null +++ b/sdk/nodejs/identity/getCenterRoleConfigurations.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 identity center role configurations + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const identityCenterRoleConfigurations = tencentcloud.Identity.getCenterRoleConfigurations({ + * zoneId: "z-xxxxxx", + * }); + * ``` + * + */ +export function getCenterRoleConfigurations(args: GetCenterRoleConfigurationsArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("tencentcloud:Identity/getCenterRoleConfigurations:getCenterRoleConfigurations", { + "filter": args.filter, + "filterTargets": args.filterTargets, + "principalId": args.principalId, + "resultOutputFile": args.resultOutputFile, + "zoneId": args.zoneId, + }, opts); +} + +/** + * A collection of arguments for invoking getCenterRoleConfigurations. + */ +export interface GetCenterRoleConfigurationsArgs { + /** + * Filter criteria, which are case insensitive. Currently, only RoleConfigurationName is supported and only eq (Equals) and sw (Start With) are supported. Example: Filter = "RoleConfigurationName, only sw test" means querying all permission configurations starting with test. Filter = "RoleConfigurationName, only eq TestRoleConfiguration" means querying the permission configuration named TestRoleConfiguration. + */ + filter?: string; + /** + * Check whether the member account has been configured with permissions. If configured, return IsSelected: true; otherwise, return false. + */ + filterTargets?: number[]; + /** + * UserId of the authorized user or GroupId of the authorized user group, which must be set together with the input parameter FilterTargets. + */ + principalId?: string; + /** + * Used to save results. + */ + resultOutputFile?: string; + /** + * Space ID. + */ + zoneId: string; +} + +/** + * A collection of values returned by getCenterRoleConfigurations. + */ +export interface GetCenterRoleConfigurationsResult { + readonly filter?: string; + readonly filterTargets?: number[]; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + readonly principalId?: string; + readonly resultOutputFile?: string; + /** + * Permission configuration list. + */ + readonly roleConfigurations: outputs.Identity.GetCenterRoleConfigurationsRoleConfiguration[]; + readonly zoneId: string; +} +/** + * Use this data source to query detailed information of identity center role configurations + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const identityCenterRoleConfigurations = tencentcloud.Identity.getCenterRoleConfigurations({ + * zoneId: "z-xxxxxx", + * }); + * ``` + * + */ +export function getCenterRoleConfigurationsOutput(args: GetCenterRoleConfigurationsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getCenterRoleConfigurations(a, opts)) +} + +/** + * A collection of arguments for invoking getCenterRoleConfigurations. + */ +export interface GetCenterRoleConfigurationsOutputArgs { + /** + * Filter criteria, which are case insensitive. Currently, only RoleConfigurationName is supported and only eq (Equals) and sw (Start With) are supported. Example: Filter = "RoleConfigurationName, only sw test" means querying all permission configurations starting with test. Filter = "RoleConfigurationName, only eq TestRoleConfiguration" means querying the permission configuration named TestRoleConfiguration. + */ + filter?: pulumi.Input; + /** + * Check whether the member account has been configured with permissions. If configured, return IsSelected: true; otherwise, return false. + */ + filterTargets?: pulumi.Input[]>; + /** + * UserId of the authorized user or GroupId of the authorized user group, which must be set together with the input parameter FilterTargets. + */ + principalId?: pulumi.Input; + /** + * Used to save results. + */ + resultOutputFile?: pulumi.Input; + /** + * Space ID. + */ + zoneId: pulumi.Input; +} diff --git a/sdk/nodejs/identity/getCenterUsers.ts b/sdk/nodejs/identity/getCenterUsers.ts new file mode 100644 index 000000000..6c82e3ff0 --- /dev/null +++ b/sdk/nodejs/identity/getCenterUsers.ts @@ -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! *** + +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 identity center users + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const identityCenterUsers = tencentcloud.Identity.getCenterUsers({ + * zoneId: "z-xxxxxx", + * }); + * ``` + * + */ +export function getCenterUsers(args: GetCenterUsersArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("tencentcloud:Identity/getCenterUsers:getCenterUsers", { + "filter": args.filter, + "filterGroups": args.filterGroups, + "resultOutputFile": args.resultOutputFile, + "sortField": args.sortField, + "sortType": args.sortType, + "userStatus": args.userStatus, + "userType": args.userType, + "zoneId": args.zoneId, + }, opts); +} + +/** + * A collection of arguments for invoking getCenterUsers. + */ +export interface GetCenterUsersArgs { + /** + * Filter criterion, which currently only supports username, email address, userId, and description. + */ + filter?: string; + /** + * Filtered user group. IsSelected=1 will be returned for the sub-user associated with this user group. + */ + filterGroups?: string[]; + /** + * Used to save results. + */ + resultOutputFile?: string; + /** + * Sorting field, which currently only supports CreateTime. The default is the CreateTime field. + */ + sortField?: string; + /** + * Sorting type. Desc: descending order; Asc: ascending order. It should be set along with SortField. + */ + sortType?: string; + /** + * User status: Enabled, Disabled. + */ + userStatus?: string; + /** + * User type. Manual: manually created; Synchronized: externally imported. + */ + userType?: string; + /** + * Space ID. + */ + zoneId: string; +} + +/** + * A collection of values returned by getCenterUsers. + */ +export interface GetCenterUsersResult { + readonly filter?: string; + readonly filterGroups?: string[]; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + readonly resultOutputFile?: string; + readonly sortField?: string; + readonly sortType?: string; + readonly userStatus?: string; + readonly userType?: string; + /** + * User list. + */ + readonly users: outputs.Identity.GetCenterUsersUser[]; + readonly zoneId: string; +} +/** + * Use this data source to query detailed information of identity center users + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const identityCenterUsers = tencentcloud.Identity.getCenterUsers({ + * zoneId: "z-xxxxxx", + * }); + * ``` + * + */ +export function getCenterUsersOutput(args: GetCenterUsersOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getCenterUsers(a, opts)) +} + +/** + * A collection of arguments for invoking getCenterUsers. + */ +export interface GetCenterUsersOutputArgs { + /** + * Filter criterion, which currently only supports username, email address, userId, and description. + */ + filter?: pulumi.Input; + /** + * Filtered user group. IsSelected=1 will be returned for the sub-user associated with this user group. + */ + filterGroups?: pulumi.Input[]>; + /** + * Used to save results. + */ + resultOutputFile?: pulumi.Input; + /** + * Sorting field, which currently only supports CreateTime. The default is the CreateTime field. + */ + sortField?: pulumi.Input; + /** + * Sorting type. Desc: descending order; Asc: ascending order. It should be set along with SortField. + */ + sortType?: pulumi.Input; + /** + * User status: Enabled, Disabled. + */ + userStatus?: pulumi.Input; + /** + * User type. Manual: manually created; Synchronized: externally imported. + */ + userType?: 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..f4a926a70 --- /dev/null +++ b/sdk/nodejs/identity/index.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"; + +// 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 { CenterRoleConfigurationPermissionCustomPoliciesAttachmentArgs, CenterRoleConfigurationPermissionCustomPoliciesAttachmentState } from "./centerRoleConfigurationPermissionCustomPoliciesAttachment"; +export type CenterRoleConfigurationPermissionCustomPoliciesAttachment = import("./centerRoleConfigurationPermissionCustomPoliciesAttachment").CenterRoleConfigurationPermissionCustomPoliciesAttachment; +export const CenterRoleConfigurationPermissionCustomPoliciesAttachment: typeof import("./centerRoleConfigurationPermissionCustomPoliciesAttachment").CenterRoleConfigurationPermissionCustomPoliciesAttachment = null as any; +utilities.lazyLoad(exports, ["CenterRoleConfigurationPermissionCustomPoliciesAttachment"], () => require("./centerRoleConfigurationPermissionCustomPoliciesAttachment")); + +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 { CenterScimCredentialArgs, CenterScimCredentialState } from "./centerScimCredential"; +export type CenterScimCredential = import("./centerScimCredential").CenterScimCredential; +export const CenterScimCredential: typeof import("./centerScimCredential").CenterScimCredential = null as any; +utilities.lazyLoad(exports, ["CenterScimCredential"], () => require("./centerScimCredential")); + +export { CenterScimCredentialStatusArgs, CenterScimCredentialStatusState } from "./centerScimCredentialStatus"; +export type CenterScimCredentialStatus = import("./centerScimCredentialStatus").CenterScimCredentialStatus; +export const CenterScimCredentialStatus: typeof import("./centerScimCredentialStatus").CenterScimCredentialStatus = null as any; +utilities.lazyLoad(exports, ["CenterScimCredentialStatus"], () => require("./centerScimCredentialStatus")); + +export { CenterScimSynchronizationStatusArgs, CenterScimSynchronizationStatusState } from "./centerScimSynchronizationStatus"; +export type CenterScimSynchronizationStatus = import("./centerScimSynchronizationStatus").CenterScimSynchronizationStatus; +export const CenterScimSynchronizationStatus: typeof import("./centerScimSynchronizationStatus").CenterScimSynchronizationStatus = null as any; +utilities.lazyLoad(exports, ["CenterScimSynchronizationStatus"], () => require("./centerScimSynchronizationStatus")); + +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")); + +export { GetCenterGroupsArgs, GetCenterGroupsResult, GetCenterGroupsOutputArgs } from "./getCenterGroups"; +export const getCenterGroups: typeof import("./getCenterGroups").getCenterGroups = null as any; +export const getCenterGroupsOutput: typeof import("./getCenterGroups").getCenterGroupsOutput = null as any; +utilities.lazyLoad(exports, ["getCenterGroups","getCenterGroupsOutput"], () => require("./getCenterGroups")); + +export { GetCenterRoleConfigurationsArgs, GetCenterRoleConfigurationsResult, GetCenterRoleConfigurationsOutputArgs } from "./getCenterRoleConfigurations"; +export const getCenterRoleConfigurations: typeof import("./getCenterRoleConfigurations").getCenterRoleConfigurations = null as any; +export const getCenterRoleConfigurationsOutput: typeof import("./getCenterRoleConfigurations").getCenterRoleConfigurationsOutput = null as any; +utilities.lazyLoad(exports, ["getCenterRoleConfigurations","getCenterRoleConfigurationsOutput"], () => require("./getCenterRoleConfigurations")); + +export { GetCenterUsersArgs, GetCenterUsersResult, GetCenterUsersOutputArgs } from "./getCenterUsers"; +export const getCenterUsers: typeof import("./getCenterUsers").getCenterUsers = null as any; +export const getCenterUsersOutput: typeof import("./getCenterUsers").getCenterUsersOutput = null as any; +utilities.lazyLoad(exports, ["getCenterUsers","getCenterUsersOutput"], () => require("./getCenterUsers")); + + +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/centerRoleConfigurationPermissionCustomPoliciesAttachment:CenterRoleConfigurationPermissionCustomPoliciesAttachment": + return new CenterRoleConfigurationPermissionCustomPoliciesAttachment(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/centerScimCredential:CenterScimCredential": + return new CenterScimCredential(name, undefined, { urn }) + case "tencentcloud:Identity/centerScimCredentialStatus:CenterScimCredentialStatus": + return new CenterScimCredentialStatus(name, undefined, { urn }) + case "tencentcloud:Identity/centerScimSynchronizationStatus:CenterScimSynchronizationStatus": + return new CenterScimSynchronizationStatus(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/centerRoleConfigurationPermissionCustomPoliciesAttachment", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Identity/centerRoleConfigurationPermissionCustomPolicyAttachment", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Identity/centerRoleConfigurationPermissionPolicyAttachment", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Identity/centerScimCredential", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Identity/centerScimCredentialStatus", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Identity/centerScimSynchronizationStatus", _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/image/getFromFamily.ts b/sdk/nodejs/image/getFromFamily.ts new file mode 100644 index 000000000..0847bf440 --- /dev/null +++ b/sdk/nodejs/image/getFromFamily.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"; + +/** + * Provides query image from family. + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const example = tencentcloud.Image.getFromFamily({ + * imageFamily: "business-daily-update", + * }); + * ``` + * + */ +export function getFromFamily(args: GetFromFamilyArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("tencentcloud:Image/getFromFamily:getFromFamily", { + "imageFamily": args.imageFamily, + "resultOutputFile": args.resultOutputFile, + }, opts); +} + +/** + * A collection of arguments for invoking getFromFamily. + */ +export interface GetFromFamilyArgs { + /** + * Image family name. + */ + imageFamily: string; + /** + * Used to save results. + */ + resultOutputFile?: string; +} + +/** + * A collection of values returned by getFromFamily. + */ +export interface GetFromFamilyResult { + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + readonly imageFamily: string; + /** + * Information of Image. + */ + readonly images: outputs.Image.GetFromFamilyImage[]; + readonly resultOutputFile?: string; +} +/** + * Provides query image from family. + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const example = tencentcloud.Image.getFromFamily({ + * imageFamily: "business-daily-update", + * }); + * ``` + * + */ +export function getFromFamilyOutput(args: GetFromFamilyOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getFromFamily(a, opts)) +} + +/** + * A collection of arguments for invoking getFromFamily. + */ +export interface GetFromFamilyOutputArgs { + /** + * Image family name. + */ + imageFamily: pulumi.Input; + /** + * Used to save results. + */ + resultOutputFile?: pulumi.Input; +} diff --git a/sdk/nodejs/image/index.ts b/sdk/nodejs/image/index.ts index 3eca3280d..4a56a26a1 100644 --- a/sdk/nodejs/image/index.ts +++ b/sdk/nodejs/image/index.ts @@ -5,6 +5,11 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; // Export members: +export { GetFromFamilyArgs, GetFromFamilyResult, GetFromFamilyOutputArgs } from "./getFromFamily"; +export const getFromFamily: typeof import("./getFromFamily").getFromFamily = null as any; +export const getFromFamilyOutput: typeof import("./getFromFamily").getFromFamilyOutput = null as any; +utilities.lazyLoad(exports, ["getFromFamily","getFromFamilyOutput"], () => require("./getFromFamily")); + export { GetInstanceArgs, GetInstanceResult, GetInstanceOutputArgs } from "./getInstance"; export const getInstance: typeof import("./getInstance").getInstance = null as any; export const getInstanceOutput: typeof import("./getInstance").getInstanceOutput = null as any; diff --git a/sdk/nodejs/image/instance.ts b/sdk/nodejs/image/instance.ts index 4e817033c..c6456abbc 100644 --- a/sdk/nodejs/image/instance.ts +++ b/sdk/nodejs/image/instance.ts @@ -26,6 +26,23 @@ import * as utilities from "../utilities"; * ``` * * + * ### Use image family + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const imageFamily = new tencentcloud.image.Instance("imageFamily", { + * dataDiskIds: [], + * imageDescription: "create image with snapshot 12323", + * imageFamily: "business-daily-update", + * imageName: "image-family-test123", + * snapshotIds: ["snap-7uuvrcoj"], + * }); + * ``` + * + * * ## Import * * image instance can be imported using the id, e.g. @@ -74,6 +91,10 @@ export class Instance extends pulumi.CustomResource { * Image Description. */ public readonly imageDescription!: pulumi.Output; + /** + * Set image family. Example value: `business-daily-update`. + */ + public readonly imageFamily!: pulumi.Output; /** * Image name. */ @@ -111,6 +132,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["dataDiskIds"] = state ? state.dataDiskIds : undefined; resourceInputs["forcePoweroff"] = state ? state.forcePoweroff : undefined; resourceInputs["imageDescription"] = state ? state.imageDescription : undefined; + resourceInputs["imageFamily"] = state ? state.imageFamily : undefined; resourceInputs["imageName"] = state ? state.imageName : undefined; resourceInputs["instanceId"] = state ? state.instanceId : undefined; resourceInputs["snapshotIds"] = state ? state.snapshotIds : undefined; @@ -124,6 +146,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["dataDiskIds"] = args ? args.dataDiskIds : undefined; resourceInputs["forcePoweroff"] = args ? args.forcePoweroff : undefined; resourceInputs["imageDescription"] = args ? args.imageDescription : undefined; + resourceInputs["imageFamily"] = args ? args.imageFamily : undefined; resourceInputs["imageName"] = args ? args.imageName : undefined; resourceInputs["instanceId"] = args ? args.instanceId : undefined; resourceInputs["snapshotIds"] = args ? args.snapshotIds : undefined; @@ -151,6 +174,10 @@ export interface InstanceState { * Image Description. */ imageDescription?: pulumi.Input; + /** + * Set image family. Example value: `business-daily-update`. + */ + imageFamily?: pulumi.Input; /** * Image name. */ @@ -189,6 +216,10 @@ export interface InstanceArgs { * Image Description. */ imageDescription?: pulumi.Input; + /** + * Set image family. Example value: `business-daily-update`. + */ + imageFamily?: pulumi.Input; /** * Image name. */ diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index dd3233e4c..b1aef41f4 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"; @@ -63,17 +66,21 @@ import * as elasticsearch from "./elasticsearch"; import * as emr from "./emr"; import * as eni from "./eni"; import * as enis from "./enis"; +import * as events from "./events"; 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"; @@ -82,6 +89,7 @@ import * as mps from "./mps"; import * as mysql from "./mysql"; import * as nat from "./nat"; import * as oceanus from "./oceanus"; +import * as open from "./open"; import * as organization from "./organization"; import * as placement from "./placement"; import * as postgresql from "./postgresql"; @@ -91,28 +99,33 @@ import * as projects from "./projects"; import * as protocol from "./protocol"; import * as pts from "./pts"; import * as redis from "./redis"; +import * as reserve from "./reserve"; import * as reserved from "./reserved"; import * as route from "./route"; import * as rum from "./rum"; import * as scf from "./scf"; import * as security from "./security"; import * as ses from "./ses"; +import * as sg from "./sg"; import * as sms from "./sms"; import * as sqlserver from "./sqlserver"; import * as ssl from "./ssl"; import * as ssm from "./ssm"; import * as sts from "./sts"; import * as subnet from "./subnet"; +import * as subscribe from "./subscribe"; import * as tag from "./tag"; import * as tat from "./tat"; import * as tcaplus from "./tcaplus"; import * as tcm from "./tcm"; import * as tcmq from "./tcmq"; import * as tcr from "./tcr"; +import * as tcss from "./tcss"; 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 +146,16 @@ export { audit, audits, availability, + batch, bi, cam, cat, cbs, ccn, + cdc, cdh, cdn, + cdwdoris, cdwpg, cfs, cfw, @@ -176,17 +192,21 @@ export { emr, eni, enis, + events, gaap, ha, + identity, image, images, instance, instances, + invite, ipv6, key, kms, kubernetes, lighthouse, + lite, mariadb, mdl, mongodb, @@ -195,6 +215,7 @@ export { mysql, nat, oceanus, + open, organization, placement, postgresql, @@ -204,28 +225,33 @@ export { protocol, pts, redis, + reserve, reserved, route, rum, scf, security, ses, + sg, sms, sqlserver, ssl, ssm, sts, subnet, + subscribe, tag, tat, tcaplus, tcm, tcmq, tcr, + tcss, tdcpg, tdmq, tem, teo, + thpc, trocket, tse, tsf, diff --git a/sdk/nodejs/instance/instance.ts b/sdk/nodejs/instance/instance.ts index af91a458d..7d7e70e13 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,10 +211,18 @@ 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. */ public readonly disableApiTermination!: pulumi.Output; + /** + * Disable enhance service for automation, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset. + */ + public readonly disableAutomationService!: pulumi.Output; /** * 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. */ @@ -227,6 +361,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,7 +416,9 @@ 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["disableAutomationService"] = state ? state.disableAutomationService : undefined; resourceInputs["disableMonitorService"] = state ? state.disableMonitorService : undefined; resourceInputs["disableSecurityService"] = state ? state.disableSecurityService : undefined; resourceInputs["expiredTime"] = state ? state.expiredTime : undefined; @@ -312,6 +452,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,7 +475,9 @@ 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["disableAutomationService"] = args ? args.disableAutomationService : undefined; resourceInputs["disableMonitorService"] = args ? args.disableMonitorService : undefined; resourceInputs["disableSecurityService"] = args ? args.disableSecurityService : undefined; resourceInputs["forceDelete"] = args ? args.forceDelete : undefined; @@ -363,6 +506,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,10 +569,18 @@ 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. */ disableApiTermination?: pulumi.Input; + /** + * Disable enhance service for automation, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset. + */ + disableAutomationService?: pulumi.Input; /** * 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. */ @@ -567,6 +719,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,10 +785,18 @@ 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. */ disableApiTermination?: pulumi.Input; + /** + * Disable enhance service for automation, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset. + */ + disableAutomationService?: pulumi.Input; /** * 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. */ @@ -751,6 +915,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/authAttachment.ts b/sdk/nodejs/kubernetes/authAttachment.ts index 34e316237..44bd15bac 100644 --- a/sdk/nodejs/kubernetes/authAttachment.ts +++ b/sdk/nodejs/kubernetes/authAttachment.ts @@ -58,7 +58,7 @@ import * as utilities from "../utilities"; * }], * clusterDeployType: "MANAGED_CLUSTER", * }); - * const testAuthAttach = new tencentcloud.kubernetes.AuthAttachment("testAuthAttach", { + * const example = new tencentcloud.kubernetes.AuthAttachment("example", { * clusterId: managedCluster.id, * jwksUri: pulumi.interpolate`https://${managedCluster.id}.ccs.tencent-cloud.com/openid/v1/jwks`, * issuer: pulumi.interpolate`https://${managedCluster.id}.ccs.tencent-cloud.com`, @@ -117,7 +117,7 @@ import * as utilities from "../utilities"; * clusterDeployType: "MANAGED_CLUSTER", * }); * // if you want to use tke default issuer and jwks_uri, please set use_tke_default to true and set issuer to empty string. - * const testUseTkeDefaultAuthAttach = new tencentcloud.kubernetes.AuthAttachment("testUseTkeDefaultAuthAttach", { + * const example = new tencentcloud.kubernetes.AuthAttachment("example", { * clusterId: managedCluster.id, * autoCreateDiscoveryAnonymousAuth: true, * useTkeDefault: true, @@ -133,7 +133,7 @@ import * as utilities from "../utilities"; * import * as tencentcloud from "@pulumi/tencentcloud"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * - * const testAuthAttach = new tencentcloud.kubernetes.AuthAttachment("testAuthAttach", { + * const example = new tencentcloud.kubernetes.AuthAttachment("example", { * clusterId: tencentcloud_kubernetes_cluster.managed_cluster.id, * useTkeDefault: true, * autoCreateDiscoveryAnonymousAuth: true, @@ -153,7 +153,7 @@ import * as utilities from "../utilities"; * tke cluster authentication can be imported, e.g. * * ```sh - * $ pulumi import tencentcloud:Kubernetes/authAttachment:AuthAttachment test cls-xxx + * $ pulumi import tencentcloud:Kubernetes/authAttachment:AuthAttachment example cls-fp5o961e * ``` */ export class AuthAttachment extends pulumi.CustomResource { diff --git a/sdk/nodejs/kubernetes/cluster.ts b/sdk/nodejs/kubernetes/cluster.ts index b89a07bf3..1d405c176 100644 --- a/sdk/nodejs/kubernetes/cluster.ts +++ b/sdk/nodejs/kubernetes/cluster.ts @@ -7,13 +7,6 @@ import * as outputs from "../types/output"; import * as utilities from "../utilities"; /** - * Provide a resource to create a kubernetes cluster. - * - * > **NOTE:** To use the custom Kubernetes component startup parameter function (parameter `extraArgs`), you need to submit a ticket for application. - * - * > **NOTE:** We recommend this usage that uses the `tencentcloud.Kubernetes.Cluster` resource to create a cluster without any `workerConfig`, then adds nodes by the `tencentcloud.Kubernetes.NodePool` resource. - * It's more flexible than managing worker config directly with `tencentcloud.Kubernetes.Cluster`, `tencentcloud.Kubernetes.ScaleWorker`, or existing node management of `tencentcloudKubernetesAttachment`. The reason is that `workerConfig` is unchangeable and may cause the whole cluster resource to `ForceNew`. - * * ## Example Usage * * ### Use node pool global config @@ -150,12 +143,68 @@ import * as utilities from "../utilities"; * ``` * * + * ### Use delete options to delete CBS when deleting the Cluster + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const example = new tencentcloud.kubernetes.Cluster("example", { + * vpcId: local.first_vpc_id, + * clusterCidr: _var.example_cluster_cidr, + * clusterMaxPodNum: 32, + * clusterName: "example", + * clusterDesc: "example for tke cluster", + * clusterMaxServiceNum: 32, + * clusterLevel: "L50", + * autoUpgradeClusterLevel: true, + * clusterInternet: false, + * clusterVersion: "1.30.0", + * clusterOs: "tlinux2.2(tkernel3)x86_64", + * clusterDeployType: "MANAGED_CLUSTER", + * containerRuntime: "containerd", + * dockerGraphPath: "/var/lib/containerd", + * tags: { + * demo: "test", + * }, + * workerConfigs: [{ + * count: 1, + * availabilityZone: _var.availability_zone_first, + * instanceType: "SA2.MEDIUM2", + * systemDiskType: "CLOUD_SSD", + * systemDiskSize: 60, + * internetChargeType: "TRAFFIC_POSTPAID_BY_HOUR", + * internetMaxBandwidthOut: 100, + * publicIpAssigned: true, + * subnetId: local.first_subnet_id, + * dataDisks: [{ + * diskType: "CLOUD_PREMIUM", + * diskSize: 50, + * }], + * enhancedSecurityService: false, + * enhancedMonitorService: false, + * userData: "dGVzdA==", + * disasterRecoverGroupIds: [], + * securityGroupIds: [], + * keyIds: [], + * camRoleName: "CVM_QcsRole", + * password: "ZZXXccvv1212", + * }], + * resourceDeleteOptions: [{ + * resourceType: "CBS", + * deleteMode: "terminate", + * }], + * }); + * ``` + * + * * ## Import * * tke cluster can be imported, e.g. * * ```sh - * $ pulumi import tencentcloud:Kubernetes/cluster:Cluster test cls-xxx + * $ pulumi import tencentcloud:Kubernetes/cluster:Cluster example cls-n2h4jbtk * ``` */ export class Cluster extends pulumi.CustomResource { @@ -202,6 +251,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 +405,14 @@ 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; + /** + * The strategy for deleting cluster instances: terminate (destroy instances, only support pay as you go cloud host instances) retain (remove only, keep instances), Default is terminate. + */ + public readonly instanceDeleteMode!: pulumi.Output; /** * Indicates whether non-static ip mode is enabled. Default is false. */ @@ -410,10 +471,18 @@ 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. */ public readonly projectId!: pulumi.Output; + /** + * The resource deletion policy when the cluster is deleted. Currently, CBS is supported (CBS is retained by default). Only valid when deleting cluster. + */ + public readonly resourceDeleteOptions!: pulumi.Output; /** * Container Runtime version. */ @@ -476,6 +545,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 +583,8 @@ 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["instanceDeleteMode"] = state ? state.instanceDeleteMode : undefined; resourceInputs["isNonStaticIpMode"] = state ? state.isNonStaticIpMode : undefined; resourceInputs["kubeConfig"] = state ? state.kubeConfig : undefined; resourceInputs["kubeConfigIntranet"] = state ? state.kubeConfigIntranet : undefined; @@ -527,7 +599,9 @@ 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["resourceDeleteOptions"] = state ? state.resourceDeleteOptions : undefined; resourceInputs["runtimeVersion"] = state ? state.runtimeVersion : undefined; resourceInputs["securityPolicies"] = state ? state.securityPolicies : undefined; resourceInputs["serviceCidr"] = state ? state.serviceCidr : undefined; @@ -548,6 +622,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 +655,8 @@ 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["instanceDeleteMode"] = args ? args.instanceDeleteMode : undefined; resourceInputs["isNonStaticIpMode"] = args ? args.isNonStaticIpMode : undefined; resourceInputs["kubeProxyMode"] = args ? args.kubeProxyMode : undefined; resourceInputs["labels"] = args ? args.labels : undefined; @@ -590,7 +667,9 @@ 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["resourceDeleteOptions"] = args ? args.resourceDeleteOptions : undefined; resourceInputs["runtimeVersion"] = args ? args.runtimeVersion : undefined; resourceInputs["serviceCidr"] = args ? args.serviceCidr : undefined; resourceInputs["tags"] = args ? args.tags : undefined; @@ -637,6 +716,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 +870,14 @@ 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; + /** + * The strategy for deleting cluster instances: terminate (destroy instances, only support pay as you go cloud host instances) retain (remove only, keep instances), Default is terminate. + */ + instanceDeleteMode?: pulumi.Input; /** * Indicates whether non-static ip mode is enabled. Default is false. */ @@ -845,10 +936,18 @@ 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. */ projectId?: pulumi.Input; + /** + * The resource deletion policy when the cluster is deleted. Currently, CBS is supported (CBS is retained by default). Only valid when deleting cluster. + */ + resourceDeleteOptions?: pulumi.Input[]>; /** * Container Runtime version. */ @@ -915,6 +1014,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 +1146,14 @@ 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; + /** + * The strategy for deleting cluster instances: terminate (destroy instances, only support pay as you go cloud host instances) retain (remove only, keep instances), Default is terminate. + */ + instanceDeleteMode?: pulumi.Input; /** * Indicates whether non-static ip mode is enabled. Default is false. */ @@ -1085,10 +1196,18 @@ 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. */ projectId?: pulumi.Input; + /** + * The resource deletion policy when the cluster is deleted. Currently, CBS is supported (CBS is retained by default). Only valid when deleting cluster. + */ + resourceDeleteOptions?: pulumi.Input[]>; /** * Container Runtime version. */ diff --git a/sdk/nodejs/kubernetes/clusterAttachment.ts b/sdk/nodejs/kubernetes/clusterAttachment.ts index e469a4c64..e6016d6b5 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. */ @@ -143,13 +149,13 @@ export class ClusterAttachment extends pulumi.CustomResource { /** * A list of security group IDs after attach to cluster. */ - public /*out*/ readonly securityGroups!: pulumi.Output; + public readonly securityGroups!: pulumi.Output; /** * State of the node. */ 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,14 +202,15 @@ 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; resourceInputs["password"] = args?.password ? pulumi.secret(args.password) : undefined; + resourceInputs["securityGroups"] = args ? args.securityGroups : undefined; resourceInputs["unschedulable"] = args ? args.unschedulable : undefined; resourceInputs["workerConfig"] = args ? args.workerConfig : undefined; resourceInputs["workerConfigOverrides"] = args ? args.workerConfigOverrides : undefined; - resourceInputs["securityGroups"] = undefined /*out*/; resourceInputs["state"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -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,11 @@ export interface ClusterAttachmentArgs { */ password?: pulumi.Input; /** - * Sets whether the joining node participates in the schedule. Default is '0'. Participate in scheduling. + * A list of security group IDs after attach to cluster. + */ + securityGroups?: pulumi.Input[]>; + /** + * 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/clusterMasterAttachment.ts b/sdk/nodejs/kubernetes/clusterMasterAttachment.ts new file mode 100644 index 000000000..75826d6b3 --- /dev/null +++ b/sdk/nodejs/kubernetes/clusterMasterAttachment.ts @@ -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! *** + +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 kubernetes cluster master attachment + */ +export class ClusterMasterAttachment extends pulumi.CustomResource { + /** + * Get an existing ClusterMasterAttachment 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?: ClusterMasterAttachmentState, opts?: pulumi.CustomResourceOptions): ClusterMasterAttachment { + return new ClusterMasterAttachment(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Kubernetes/clusterMasterAttachment:ClusterMasterAttachment'; + + /** + * Returns true if the given object is an instance of ClusterMasterAttachment. 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 ClusterMasterAttachment { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ClusterMasterAttachment.__pulumiType; + } + + /** + * ID of the cluster. + */ + public readonly clusterId!: pulumi.Output; + /** + * When the node belongs to the podCIDR size customization mode, the maximum number of pods running on the node can be specified. + */ + public readonly desiredPodNumbers!: pulumi.Output; + /** + * Activate TencentCloud Automation Tools (TAT) service. If this parameter is not specified, the public image will default to enabling the Cloud Automation Assistant service, while other images will default to not enabling the Cloud Automation Assistant service. + */ + public readonly enhancedAutomationService!: pulumi.Output; + /** + * To specify whether to enable cloud monitor service. Default is TRUE. + */ + public readonly enhancedMonitorService!: pulumi.Output; + /** + * To specify whether to enable cloud security service. Default is TRUE. + */ + public readonly enhancedSecurityService!: pulumi.Output; + /** + * Custom parameters for cluster master component. + */ + public readonly extraArgs!: pulumi.Output; + /** + * When reinstalling the system, you can specify the HostName of the instance to be modified (this parameter must be passed when the cluster is in HostName mode, and the rule name should be consistent with the HostName of the CVM instance creation interface except that uppercase characters are not supported). + */ + public readonly hostName!: pulumi.Output; + /** + * ID of the CVM instance, this cvm will reinstall the system. + */ + public readonly instanceId!: pulumi.Output; + /** + * The key pair to use for the instance, it looks like skey-16jig7tx, it should be set if `password` not set. + */ + public readonly keyIds!: pulumi.Output; + /** + * Advanced Node Settings. commonly used to attach existing instances. + */ + public readonly masterConfig!: pulumi.Output; + /** + * Node role, values: MASTER_ETCD, WORKER. MASTER_ETCD needs to be specified only when creating an INDEPENDENT_CLUSTER independent cluster. The number of MASTER_ETCD nodes is 3-7, and it is recommended to have an odd number. The minimum configuration for MASTER_ETCD is 4C8G. + */ + public readonly nodeRole!: pulumi.Output; + /** + * Password to access, should be set if `keyIds` not set. + */ + public readonly password!: pulumi.Output; + /** + * The security group to which the instance belongs. This parameter can be obtained by calling the sgId field in the return value of DescribeSecureGroups. If this parameter is not specified, the default security group will be bound. + */ + public readonly securityGroupIds!: pulumi.Output; + + /** + * Create a ClusterMasterAttachment 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: ClusterMasterAttachmentArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ClusterMasterAttachmentArgs | ClusterMasterAttachmentState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as ClusterMasterAttachmentState | undefined; + resourceInputs["clusterId"] = state ? state.clusterId : undefined; + resourceInputs["desiredPodNumbers"] = state ? state.desiredPodNumbers : undefined; + resourceInputs["enhancedAutomationService"] = state ? state.enhancedAutomationService : undefined; + resourceInputs["enhancedMonitorService"] = state ? state.enhancedMonitorService : undefined; + resourceInputs["enhancedSecurityService"] = state ? state.enhancedSecurityService : undefined; + resourceInputs["extraArgs"] = state ? state.extraArgs : undefined; + resourceInputs["hostName"] = state ? state.hostName : undefined; + resourceInputs["instanceId"] = state ? state.instanceId : undefined; + resourceInputs["keyIds"] = state ? state.keyIds : undefined; + resourceInputs["masterConfig"] = state ? state.masterConfig : undefined; + resourceInputs["nodeRole"] = state ? state.nodeRole : undefined; + resourceInputs["password"] = state ? state.password : undefined; + resourceInputs["securityGroupIds"] = state ? state.securityGroupIds : undefined; + } else { + const args = argsOrState as ClusterMasterAttachmentArgs | undefined; + if ((!args || args.clusterId === undefined) && !opts.urn) { + throw new Error("Missing required property 'clusterId'"); + } + if ((!args || args.instanceId === undefined) && !opts.urn) { + throw new Error("Missing required property 'instanceId'"); + } + if ((!args || args.nodeRole === undefined) && !opts.urn) { + throw new Error("Missing required property 'nodeRole'"); + } + resourceInputs["clusterId"] = args ? args.clusterId : undefined; + resourceInputs["desiredPodNumbers"] = args ? args.desiredPodNumbers : undefined; + resourceInputs["enhancedAutomationService"] = args ? args.enhancedAutomationService : undefined; + resourceInputs["enhancedMonitorService"] = args ? args.enhancedMonitorService : undefined; + resourceInputs["enhancedSecurityService"] = args ? args.enhancedSecurityService : undefined; + resourceInputs["extraArgs"] = args ? args.extraArgs : undefined; + resourceInputs["hostName"] = args ? args.hostName : undefined; + resourceInputs["instanceId"] = args ? args.instanceId : undefined; + resourceInputs["keyIds"] = args ? args.keyIds : undefined; + resourceInputs["masterConfig"] = args ? args.masterConfig : undefined; + resourceInputs["nodeRole"] = args ? args.nodeRole : undefined; + resourceInputs["password"] = args?.password ? pulumi.secret(args.password) : undefined; + resourceInputs["securityGroupIds"] = args ? args.securityGroupIds : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["password"] }; + opts = pulumi.mergeOptions(opts, secretOpts); + super(ClusterMasterAttachment.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering ClusterMasterAttachment resources. + */ +export interface ClusterMasterAttachmentState { + /** + * ID of the cluster. + */ + clusterId?: pulumi.Input; + /** + * When the node belongs to the podCIDR size customization mode, the maximum number of pods running on the node can be specified. + */ + desiredPodNumbers?: pulumi.Input[]>; + /** + * Activate TencentCloud Automation Tools (TAT) service. If this parameter is not specified, the public image will default to enabling the Cloud Automation Assistant service, while other images will default to not enabling the Cloud Automation Assistant service. + */ + enhancedAutomationService?: pulumi.Input; + /** + * To specify whether to enable cloud monitor service. Default is TRUE. + */ + enhancedMonitorService?: pulumi.Input; + /** + * To specify whether to enable cloud security service. Default is TRUE. + */ + enhancedSecurityService?: pulumi.Input; + /** + * Custom parameters for cluster master component. + */ + extraArgs?: pulumi.Input; + /** + * When reinstalling the system, you can specify the HostName of the instance to be modified (this parameter must be passed when the cluster is in HostName mode, and the rule name should be consistent with the HostName of the CVM instance creation interface except that uppercase characters are not supported). + */ + hostName?: pulumi.Input; + /** + * ID of the CVM instance, this cvm will reinstall the system. + */ + instanceId?: pulumi.Input; + /** + * The key pair to use for the instance, it looks like skey-16jig7tx, it should be set if `password` not set. + */ + keyIds?: pulumi.Input; + /** + * Advanced Node Settings. commonly used to attach existing instances. + */ + masterConfig?: pulumi.Input; + /** + * Node role, values: MASTER_ETCD, WORKER. MASTER_ETCD needs to be specified only when creating an INDEPENDENT_CLUSTER independent cluster. The number of MASTER_ETCD nodes is 3-7, and it is recommended to have an odd number. The minimum configuration for MASTER_ETCD is 4C8G. + */ + nodeRole?: pulumi.Input; + /** + * Password to access, should be set if `keyIds` not set. + */ + password?: pulumi.Input; + /** + * The security group to which the instance belongs. This parameter can be obtained by calling the sgId field in the return value of DescribeSecureGroups. If this parameter is not specified, the default security group will be bound. + */ + securityGroupIds?: pulumi.Input[]>; +} + +/** + * The set of arguments for constructing a ClusterMasterAttachment resource. + */ +export interface ClusterMasterAttachmentArgs { + /** + * ID of the cluster. + */ + clusterId: pulumi.Input; + /** + * When the node belongs to the podCIDR size customization mode, the maximum number of pods running on the node can be specified. + */ + desiredPodNumbers?: pulumi.Input[]>; + /** + * Activate TencentCloud Automation Tools (TAT) service. If this parameter is not specified, the public image will default to enabling the Cloud Automation Assistant service, while other images will default to not enabling the Cloud Automation Assistant service. + */ + enhancedAutomationService?: pulumi.Input; + /** + * To specify whether to enable cloud monitor service. Default is TRUE. + */ + enhancedMonitorService?: pulumi.Input; + /** + * To specify whether to enable cloud security service. Default is TRUE. + */ + enhancedSecurityService?: pulumi.Input; + /** + * Custom parameters for cluster master component. + */ + extraArgs?: pulumi.Input; + /** + * When reinstalling the system, you can specify the HostName of the instance to be modified (this parameter must be passed when the cluster is in HostName mode, and the rule name should be consistent with the HostName of the CVM instance creation interface except that uppercase characters are not supported). + */ + hostName?: pulumi.Input; + /** + * ID of the CVM instance, this cvm will reinstall the system. + */ + instanceId: pulumi.Input; + /** + * The key pair to use for the instance, it looks like skey-16jig7tx, it should be set if `password` not set. + */ + keyIds?: pulumi.Input; + /** + * Advanced Node Settings. commonly used to attach existing instances. + */ + masterConfig?: pulumi.Input; + /** + * Node role, values: MASTER_ETCD, WORKER. MASTER_ETCD needs to be specified only when creating an INDEPENDENT_CLUSTER independent cluster. The number of MASTER_ETCD nodes is 3-7, and it is recommended to have an odd number. The minimum configuration for MASTER_ETCD is 4C8G. + */ + nodeRole: pulumi.Input; + /** + * Password to access, should be set if `keyIds` not set. + */ + password?: pulumi.Input; + /** + * The security group to which the instance belongs. This parameter can be obtained by calling the sgId field in the return value of DescribeSecureGroups. If this parameter is not specified, the default security group will be bound. + */ + securityGroupIds?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/kubernetes/getClusterCommonNames.ts b/sdk/nodejs/kubernetes/getClusterCommonNames.ts index 049a7816b..f1f96b4b3 100644 --- a/sdk/nodejs/kubernetes/getClusterCommonNames.ts +++ b/sdk/nodejs/kubernetes/getClusterCommonNames.ts @@ -11,20 +11,36 @@ import * as utilities from "../utilities"; * * ## Example Usage * + * ### Query common names by subaccount uins + * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@pulumi/tencentcloud"; * - * const foo = tencentcloud.Kubernetes.getClusterCommonNames({ - * clusterId: "cls-12345678", + * const example = tencentcloud.Kubernetes.getClusterCommonNames({ + * clusterId: "cls-fdy7hm1q", * subaccountUins: [ - * "1234567890", - * "0987654321", + * "100037718139", + * "100031340176", * ], * }); * ``` * + * + * ### Query common names by role ids + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const example = tencentcloud.Kubernetes.getClusterCommonNames({ + * clusterId: "cls-fdy7hm1q", + * roleIds: ["4611686018441060141"], + * }); + * ``` + * */ export function getClusterCommonNames(args?: GetClusterCommonNamesArgs, opts?: pulumi.InvokeOptions): Promise { args = args || {}; @@ -82,20 +98,36 @@ export interface GetClusterCommonNamesResult { * * ## Example Usage * + * ### Query common names by subaccount uins + * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@pulumi/tencentcloud"; * - * const foo = tencentcloud.Kubernetes.getClusterCommonNames({ - * clusterId: "cls-12345678", + * const example = tencentcloud.Kubernetes.getClusterCommonNames({ + * clusterId: "cls-fdy7hm1q", * subaccountUins: [ - * "1234567890", - * "0987654321", + * "100037718139", + * "100031340176", * ], * }); * ``` * + * + * ### Query common names by role ids + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const example = tencentcloud.Kubernetes.getClusterCommonNames({ + * clusterId: "cls-fdy7hm1q", + * roleIds: ["4611686018441060141"], + * }); + * ``` + * */ export function getClusterCommonNamesOutput(args?: GetClusterCommonNamesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { return pulumi.output(args).apply((a: any) => getClusterCommonNames(a, opts)) 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..bcaad3cf8 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; @@ -40,6 +45,11 @@ export type ClusterEndpoint = import("./clusterEndpoint").ClusterEndpoint; export const ClusterEndpoint: typeof import("./clusterEndpoint").ClusterEndpoint = null as any; utilities.lazyLoad(exports, ["ClusterEndpoint"], () => require("./clusterEndpoint")); +export { ClusterMasterAttachmentArgs, ClusterMasterAttachmentState } from "./clusterMasterAttachment"; +export type ClusterMasterAttachment = import("./clusterMasterAttachment").ClusterMasterAttachment; +export const ClusterMasterAttachment: typeof import("./clusterMasterAttachment").ClusterMasterAttachment = null as any; +utilities.lazyLoad(exports, ["ClusterMasterAttachment"], () => require("./clusterMasterAttachment")); + export { EncryptionProtectionArgs, EncryptionProtectionState } from "./encryptionProtection"; export type EncryptionProtection = import("./encryptionProtection").EncryptionProtection; export const EncryptionProtection: typeof import("./encryptionProtection").EncryptionProtection = null as any; @@ -90,6 +100,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 +139,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": @@ -129,8 +151,14 @@ const _module = { return new ClusterAttachment(name, undefined, { urn }) case "tencentcloud:Kubernetes/clusterEndpoint:ClusterEndpoint": return new ClusterEndpoint(name, undefined, { urn }) + case "tencentcloud:Kubernetes/clusterMasterAttachment:ClusterMasterAttachment": + return new ClusterMasterAttachment(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 +174,16 @@ 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/clusterMasterAttachment", _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..88535f257 100644 --- a/sdk/nodejs/kubernetes/nodePool.ts +++ b/sdk/nodejs/kubernetes/nodePool.ts @@ -32,7 +32,7 @@ import * as utilities from "../utilities"; * }); * const defaultInstanceType = config.get("defaultInstanceType") || "S1.SMALL1"; * //this is the cluster with empty worker config - * const managedCluster = new tencentcloud.kubernetes.Cluster("managedCluster", { + * const exampleCluster = new tencentcloud.kubernetes.Cluster("exampleCluster", { * vpcId: vpc.then(vpc => vpc.instanceLists?.[0]?.vpcId), * clusterCidr: clusterCidr, * clusterMaxPodNum: 32, @@ -43,8 +43,8 @@ import * as utilities from "../utilities"; * clusterDeployType: "MANAGED_CLUSTER", * }); * //this is one example of managing node using node pool - * const mynodepool = new tencentcloud.kubernetes.NodePool("mynodepool", { - * clusterId: managedCluster.id, + * const exampleNodePool = new tencentcloud.kubernetes.NodePool("exampleNodePool", { + * clusterId: exampleCluster.id, * maxSize: 6, * minSize: 1, * vpcId: vpc.then(vpc => vpc.instanceLists?.[0]?.vpcId), @@ -53,6 +53,7 @@ import * as utilities from "../utilities"; * desiredCapacity: 4, * enableAutoScale: true, * multiZoneSubnetPolicy: "EQUALITY", + * nodeOs: "img-9qrfy1xt", * autoScalingConfig: { * instanceType: defaultInstanceType, * systemDiskType: "CLOUD_PREMIUM", @@ -88,6 +89,7 @@ import * as utilities from "../utilities"; * }, * ], * nodeConfig: { + * dockerGraphPath: "/var/lib/docker", * extraArgs: ["root-dir=/var/lib/kubelet"], * }, * }); @@ -101,7 +103,7 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * - * const mynodepool = new tencentcloud.kubernetes.NodePool("mynodepool", { + * const example = new tencentcloud.kubernetes.NodePool("example", { * clusterId: tencentcloud_kubernetes_cluster.managed_cluster.id, * maxSize: 6, * minSize: 1, @@ -147,7 +149,7 @@ import * as utilities from "../utilities"; * tke node pool can be imported, e.g. * * ```sh - * $ pulumi import tencentcloud:Kubernetes/nodePool:NodePool test cls-xxx#np-xxx + * $ pulumi import tencentcloud:Kubernetes/nodePool:NodePool example cls-d2xdg3io#np-380ay1o8 * ``` */ export class NodePool extends pulumi.CustomResource { @@ -178,6 +180,10 @@ export class NodePool extends pulumi.CustomResource { return obj['__pulumiType'] === NodePool.__pulumiType; } + /** + * Node Annotation List. + */ + public readonly annotations!: pulumi.Output; /** * Auto scaling config parameters. */ @@ -285,7 +291,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. */ @@ -320,6 +326,7 @@ export class NodePool extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as NodePoolState | undefined; + resourceInputs["annotations"] = state ? state.annotations : undefined; resourceInputs["autoScalingConfig"] = state ? state.autoScalingConfig : undefined; resourceInputs["autoScalingGroupId"] = state ? state.autoScalingGroupId : undefined; resourceInputs["autoscalingAddedTotal"] = state ? state.autoscalingAddedTotal : undefined; @@ -369,6 +376,7 @@ export class NodePool extends pulumi.CustomResource { if ((!args || args.vpcId === undefined) && !opts.urn) { throw new Error("Missing required property 'vpcId'"); } + resourceInputs["annotations"] = args ? args.annotations : undefined; resourceInputs["autoScalingConfig"] = args ? args.autoScalingConfig : undefined; resourceInputs["clusterId"] = args ? args.clusterId : undefined; resourceInputs["defaultCooldown"] = args ? args.defaultCooldown : undefined; @@ -411,6 +419,10 @@ export class NodePool extends pulumi.CustomResource { * Input properties used for looking up and filtering NodePool resources. */ export interface NodePoolState { + /** + * Node Annotation List. + */ + annotations?: pulumi.Input[]>; /** * Auto scaling config parameters. */ @@ -545,6 +557,10 @@ export interface NodePoolState { * The set of arguments for constructing a NodePool resource. */ export interface NodePoolArgs { + /** + * Node Annotation List. + */ + annotations?: pulumi.Input[]>; /** * Auto scaling config parameters. */ diff --git a/sdk/nodejs/kubernetes/scaleWorker.ts b/sdk/nodejs/kubernetes/scaleWorker.ts index 60eed4f5d..683daed6d 100644 --- a/sdk/nodejs/kubernetes/scaleWorker.ts +++ b/sdk/nodejs/kubernetes/scaleWorker.ts @@ -13,6 +13,8 @@ import * as utilities from "../utilities"; * * > **NOTE:** Import Node: Currently, only one node can be imported at a time. * + * > **NOTE:** If you need to view error messages during instance creation, you can use parameter `createResultOutputFile` to set the file save path + * * ## Example Usage * * @@ -24,7 +26,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: { @@ -50,6 +52,7 @@ import * as utilities from "../utilities"; * userData: "dGVzdA==", * password: "AABBccdd1122", * }, + * createResultOutputFile: "my_output_file_path", * }); * ``` * @@ -65,7 +68,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 +103,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 * ``` */ export class ScaleWorker extends pulumi.CustomResource { @@ -136,7 +139,11 @@ export class ScaleWorker extends pulumi.CustomResource { */ public readonly clusterId!: pulumi.Output; /** - * Configurations of data disk. + * Used to save results of CVMs creation error messages. + */ + public readonly createResultOutputFile!: pulumi.Output; + /** + * Configurations of tke data disk. */ public readonly dataDisks!: pulumi.Output; /** @@ -167,6 +174,10 @@ export class ScaleWorker extends pulumi.CustomResource { * Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. */ public readonly preStartUserScript!: pulumi.Output; + /** + * Node taint. + */ + public readonly taints!: pulumi.Output; /** * Set whether the added node participates in scheduling. The default value is 0, which means participating in scheduling; non-0 means not participating in scheduling. After the node initialization is completed, you can execute kubectl uncordon nodename to join the node in scheduling. */ @@ -198,6 +209,7 @@ export class ScaleWorker extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as ScaleWorkerState | undefined; resourceInputs["clusterId"] = state ? state.clusterId : undefined; + resourceInputs["createResultOutputFile"] = state ? state.createResultOutputFile : undefined; resourceInputs["dataDisks"] = state ? state.dataDisks : undefined; resourceInputs["desiredPodNum"] = state ? state.desiredPodNum : undefined; resourceInputs["dockerGraphPath"] = state ? state.dockerGraphPath : undefined; @@ -206,6 +218,7 @@ export class ScaleWorker extends pulumi.CustomResource { resourceInputs["labels"] = state ? state.labels : undefined; resourceInputs["mountTarget"] = state ? state.mountTarget : undefined; resourceInputs["preStartUserScript"] = state ? state.preStartUserScript : undefined; + resourceInputs["taints"] = state ? state.taints : undefined; resourceInputs["unschedulable"] = state ? state.unschedulable : undefined; resourceInputs["userScript"] = state ? state.userScript : undefined; resourceInputs["workerConfig"] = state ? state.workerConfig : undefined; @@ -219,6 +232,7 @@ export class ScaleWorker extends pulumi.CustomResource { throw new Error("Missing required property 'workerConfig'"); } resourceInputs["clusterId"] = args ? args.clusterId : undefined; + resourceInputs["createResultOutputFile"] = args ? args.createResultOutputFile : undefined; resourceInputs["dataDisks"] = args ? args.dataDisks : undefined; resourceInputs["desiredPodNum"] = args ? args.desiredPodNum : undefined; resourceInputs["dockerGraphPath"] = args ? args.dockerGraphPath : undefined; @@ -227,6 +241,7 @@ export class ScaleWorker extends pulumi.CustomResource { resourceInputs["labels"] = args ? args.labels : undefined; resourceInputs["mountTarget"] = args ? args.mountTarget : undefined; resourceInputs["preStartUserScript"] = args ? args.preStartUserScript : undefined; + resourceInputs["taints"] = args ? args.taints : undefined; resourceInputs["unschedulable"] = args ? args.unschedulable : undefined; resourceInputs["userScript"] = args ? args.userScript : undefined; resourceInputs["workerConfig"] = args ? args.workerConfig : undefined; @@ -246,7 +261,11 @@ export interface ScaleWorkerState { */ clusterId?: pulumi.Input; /** - * Configurations of data disk. + * Used to save results of CVMs creation error messages. + */ + createResultOutputFile?: pulumi.Input; + /** + * Configurations of tke data disk. */ dataDisks?: pulumi.Input[]>; /** @@ -277,6 +296,10 @@ export interface ScaleWorkerState { * Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. */ preStartUserScript?: pulumi.Input; + /** + * Node taint. + */ + taints?: pulumi.Input[]>; /** * Set whether the added node participates in scheduling. The default value is 0, which means participating in scheduling; non-0 means not participating in scheduling. After the node initialization is completed, you can execute kubectl uncordon nodename to join the node in scheduling. */ @@ -304,7 +327,11 @@ export interface ScaleWorkerArgs { */ clusterId: pulumi.Input; /** - * Configurations of data disk. + * Used to save results of CVMs creation error messages. + */ + createResultOutputFile?: pulumi.Input; + /** + * Configurations of tke data disk. */ dataDisks?: pulumi.Input[]>; /** @@ -335,6 +362,10 @@ export interface ScaleWorkerArgs { * Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. */ preStartUserScript?: pulumi.Input; + /** + * Node taint. + */ + taints?: pulumi.Input[]>; /** * Set whether the added node participates in scheduling. The default value is 0, which means participating in scheduling; non-0 means not participating in scheduling. After the node initialization is completed, you can execute kubectl uncordon nodename to join the node in scheduling. */ 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..f20e4bf70 --- /dev/null +++ b/sdk/nodejs/mysql/clsLogAttachment.ts @@ -0,0 +1,315 @@ +// *** WARNING: this file 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", + * }); + * ``` + * + */ +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..3cd6b22e0 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. Cross-region query requires master instance permission. + */ + 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. Cross-region query requires master instance permission. + */ + 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. Cross-region query requires master instance permission. + */ + 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/nat/gateway.ts b/sdk/nodejs/nat/gateway.ts index c26dc9fd0..80d473d4c 100644 --- a/sdk/nodejs/nat/gateway.ts +++ b/sdk/nodejs/nat/gateway.ts @@ -7,6 +7,10 @@ import * as utilities from "../utilities"; /** * Provides a resource to create a NAT gateway. * + * > **NOTE:** If `natProductVersion` is `1`, `maxConcurrent` valid values is `1000000`, `3000000`, `10000000`. + * + * > **NOTE:** If set `stockPublicIpAddressesBandwidthOut`, do not set the `internetMaxBandwidthOut` parameter of resource `tencentcloud.Eip.Instance` at the same time, otherwise conflicts may occur. + * * ## Example Usage * * ### Create a traditional NAT gateway. @@ -21,6 +25,7 @@ import * as utilities from "../utilities"; * const eipExample2 = new tencentcloud.eip.Instance("eipExample2", {}); * const example = new tencentcloud.nat.Gateway("example", { * vpcId: vpc.id, + * natProductVersion: 1, * bandwidth: 100, * maxConcurrent: 1000000, * assignedEipSets: [ @@ -28,7 +33,7 @@ import * as utilities from "../utilities"; * eipExample2.publicIp, * ], * tags: { - * tf_tag_key: "tf_tag_value", + * createBy: "terraform", * }, * }); * ``` @@ -46,13 +51,38 @@ import * as utilities from "../utilities"; * const eipExample2 = new tencentcloud.eip.Instance("eipExample2", {}); * const example = new tencentcloud.nat.Gateway("example", { * vpcId: vpc.id, + * natProductVersion: 2, * assignedEipSets: [ * eipExample1.publicIp, * eipExample2.publicIp, * ], + * tags: { + * createBy: "terraform", + * }, + * }); + * ``` + * + * + * ### Or set stock public ip addresses bandwidth out + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "10.0.0.0/16"}); + * const eipExample1 = new tencentcloud.eip.Instance("eipExample1", {}); + * const eipExample2 = new tencentcloud.eip.Instance("eipExample2", {}); + * const example = new tencentcloud.nat.Gateway("example", { + * vpcId: vpc.id, * natProductVersion: 2, + * stockPublicIpAddressesBandwidthOut: 100, + * assignedEipSets: [ + * eipExample1.publicIp, + * eipExample2.publicIp, + * ], * tags: { - * tf_tag_key: "tf_tag_value", + * createBy: "terraform", * }, * }); * ``` @@ -63,7 +93,7 @@ import * as utilities from "../utilities"; * NAT gateway can be imported using the id, e.g. * * ```sh - * $ pulumi import tencentcloud:Nat/gateway:Gateway foo nat-1asg3t63 + * $ pulumi import tencentcloud:Nat/gateway:Gateway example nat-1asg3t63 * ``` */ export class Gateway extends pulumi.CustomResource { @@ -99,17 +129,17 @@ export class Gateway extends pulumi.CustomResource { */ public readonly assignedEipSets!: pulumi.Output; /** - * The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is 100. + * The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is `100`. When the value of parameter `natProductVersion` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `5000`. */ - public readonly bandwidth!: pulumi.Output; + public readonly bandwidth!: pulumi.Output; /** * Create time of the NAT gateway. */ public /*out*/ readonly createdTime!: pulumi.Output; /** - * The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. + * The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. When the value of parameter `natProductVersion` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `2000000`. */ - public readonly maxConcurrent!: pulumi.Output; + public readonly maxConcurrent!: pulumi.Output; /** * Name of the NAT gateway. */ @@ -118,6 +148,10 @@ export class Gateway extends pulumi.CustomResource { * 1: traditional NAT, 2: standard NAT, default value is 1. */ public readonly natProductVersion!: pulumi.Output; + /** + * The elastic public IP bandwidth value (unit: Mbps) for binding NAT gateway. When this parameter is not filled in, it defaults to the bandwidth value of the elastic public IP, and for some users, it defaults to the bandwidth limit of the elastic public IP of that user type. + */ + public readonly stockPublicIpAddressesBandwidthOut!: pulumi.Output; /** * Subnet of NAT. */ @@ -154,6 +188,7 @@ export class Gateway extends pulumi.CustomResource { resourceInputs["maxConcurrent"] = state ? state.maxConcurrent : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["natProductVersion"] = state ? state.natProductVersion : undefined; + resourceInputs["stockPublicIpAddressesBandwidthOut"] = state ? state.stockPublicIpAddressesBandwidthOut : undefined; resourceInputs["subnetId"] = state ? state.subnetId : undefined; resourceInputs["tags"] = state ? state.tags : undefined; resourceInputs["vpcId"] = state ? state.vpcId : undefined; @@ -171,6 +206,7 @@ export class Gateway extends pulumi.CustomResource { resourceInputs["maxConcurrent"] = args ? args.maxConcurrent : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["natProductVersion"] = args ? args.natProductVersion : undefined; + resourceInputs["stockPublicIpAddressesBandwidthOut"] = args ? args.stockPublicIpAddressesBandwidthOut : undefined; resourceInputs["subnetId"] = args ? args.subnetId : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["vpcId"] = args ? args.vpcId : undefined; @@ -191,7 +227,7 @@ export interface GatewayState { */ assignedEipSets?: pulumi.Input[]>; /** - * The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is 100. + * The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is `100`. When the value of parameter `natProductVersion` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `5000`. */ bandwidth?: pulumi.Input; /** @@ -199,7 +235,7 @@ export interface GatewayState { */ createdTime?: pulumi.Input; /** - * The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. + * The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. When the value of parameter `natProductVersion` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `2000000`. */ maxConcurrent?: pulumi.Input; /** @@ -210,6 +246,10 @@ export interface GatewayState { * 1: traditional NAT, 2: standard NAT, default value is 1. */ natProductVersion?: pulumi.Input; + /** + * The elastic public IP bandwidth value (unit: Mbps) for binding NAT gateway. When this parameter is not filled in, it defaults to the bandwidth value of the elastic public IP, and for some users, it defaults to the bandwidth limit of the elastic public IP of that user type. + */ + stockPublicIpAddressesBandwidthOut?: pulumi.Input; /** * Subnet of NAT. */ @@ -237,11 +277,11 @@ export interface GatewayArgs { */ assignedEipSets: pulumi.Input[]>; /** - * The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is 100. + * The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is `100`. When the value of parameter `natProductVersion` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `5000`. */ bandwidth?: pulumi.Input; /** - * The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. + * The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. When the value of parameter `natProductVersion` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `2000000`. */ maxConcurrent?: pulumi.Input; /** @@ -252,6 +292,10 @@ export interface GatewayArgs { * 1: traditional NAT, 2: standard NAT, default value is 1. */ natProductVersion?: pulumi.Input; + /** + * The elastic public IP bandwidth value (unit: Mbps) for binding NAT gateway. When this parameter is not filled in, it defaults to the bandwidth value of the elastic public IP, and for some users, it defaults to the bandwidth limit of the elastic public IP of that user type. + */ + stockPublicIpAddressesBandwidthOut?: pulumi.Input; /** * Subnet of NAT. */ diff --git a/sdk/nodejs/open/identityCenterOperation.ts b/sdk/nodejs/open/identityCenterOperation.ts new file mode 100644 index 000000000..eabcffeeb --- /dev/null +++ b/sdk/nodejs/open/identityCenterOperation.ts @@ -0,0 +1,108 @@ +// *** WARNING: this file 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 open identity center + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const openIdentityCenterOperation = new tencentcloud.open.IdentityCenterOperation("openIdentityCenterOperation", {zoneName: "test"}); + * ``` + * + */ +export class IdentityCenterOperation extends pulumi.CustomResource { + /** + * Get an existing IdentityCenterOperation 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?: IdentityCenterOperationState, opts?: pulumi.CustomResourceOptions): IdentityCenterOperation { + return new IdentityCenterOperation(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Open/identityCenterOperation:IdentityCenterOperation'; + + /** + * Returns true if the given object is an instance of IdentityCenterOperation. 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 IdentityCenterOperation { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === IdentityCenterOperation.__pulumiType; + } + + /** + * Space ID. z-Prefix starts with 12 random numbers/lowercase letters followed by. + */ + public /*out*/ readonly zoneId!: pulumi.Output; + /** + * Space name, which must be globally unique and contain 2-64 characters including lowercase letters, digits, and hyphens (-). It can neither start or end with a hyphen (-) nor contain two consecutive hyphens (-). + */ + public readonly zoneName!: pulumi.Output; + + /** + * Create a IdentityCenterOperation 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: IdentityCenterOperationArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: IdentityCenterOperationArgs | IdentityCenterOperationState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as IdentityCenterOperationState | undefined; + resourceInputs["zoneId"] = state ? state.zoneId : undefined; + resourceInputs["zoneName"] = state ? state.zoneName : undefined; + } else { + const args = argsOrState as IdentityCenterOperationArgs | undefined; + if ((!args || args.zoneName === undefined) && !opts.urn) { + throw new Error("Missing required property 'zoneName'"); + } + resourceInputs["zoneName"] = args ? args.zoneName : undefined; + resourceInputs["zoneId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(IdentityCenterOperation.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering IdentityCenterOperation resources. + */ +export interface IdentityCenterOperationState { + /** + * Space ID. z-Prefix starts with 12 random numbers/lowercase letters followed by. + */ + zoneId?: pulumi.Input; + /** + * Space name, which must be globally unique and contain 2-64 characters including lowercase letters, digits, and hyphens (-). It can neither start or end with a hyphen (-) nor contain two consecutive hyphens (-). + */ + zoneName?: pulumi.Input; +} + +/** + * The set of arguments for constructing a IdentityCenterOperation resource. + */ +export interface IdentityCenterOperationArgs { + /** + * Space name, which must be globally unique and contain 2-64 characters including lowercase letters, digits, and hyphens (-). It can neither start or end with a hyphen (-) nor contain two consecutive hyphens (-). + */ + zoneName: pulumi.Input; +} diff --git a/sdk/nodejs/open/index.ts b/sdk/nodejs/open/index.ts new file mode 100644 index 000000000..d6b05530a --- /dev/null +++ b/sdk/nodejs/open/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 { IdentityCenterOperationArgs, IdentityCenterOperationState } from "./identityCenterOperation"; +export type IdentityCenterOperation = import("./identityCenterOperation").IdentityCenterOperation; +export const IdentityCenterOperation: typeof import("./identityCenterOperation").IdentityCenterOperation = null as any; +utilities.lazyLoad(exports, ["IdentityCenterOperation"], () => require("./identityCenterOperation")); + + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "tencentcloud:Open/identityCenterOperation:IdentityCenterOperation": + return new IdentityCenterOperation(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("tencentcloud", "Open/identityCenterOperation", _module) diff --git a/sdk/nodejs/organization/getNodes.ts b/sdk/nodejs/organization/getNodes.ts new file mode 100644 index 000000000..32acc5a91 --- /dev/null +++ b/sdk/nodejs/organization/getNodes.ts @@ -0,0 +1,102 @@ +// *** WARNING: this file 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 nodes + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const organizationNodes = tencentcloud.Organization.getNodes({ + * tags: [{ + * tagKey: "createBy", + * tagValue: "terraform", + * }], + * }); + * ``` + * + */ +export function getNodes(args?: GetNodesArgs, opts?: pulumi.InvokeOptions): Promise { + args = args || {}; + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("tencentcloud:Organization/getNodes:getNodes", { + "resultOutputFile": args.resultOutputFile, + "tags": args.tags, + }, opts); +} + +/** + * A collection of arguments for invoking getNodes. + */ +export interface GetNodesArgs { + /** + * Used to save results. + */ + resultOutputFile?: string; + /** + * Department tag search list, with a maximum of 10. + */ + tags?: inputs.Organization.GetNodesTag[]; +} + +/** + * A collection of values returned by getNodes. + */ +export interface GetNodesResult { + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + /** + * List details. + */ + readonly items: outputs.Organization.GetNodesItem[]; + readonly resultOutputFile?: string; + readonly tags?: outputs.Organization.GetNodesTag[]; +} +/** + * Use this data source to query detailed information of organization nodes + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const organizationNodes = tencentcloud.Organization.getNodes({ + * tags: [{ + * tagKey: "createBy", + * tagValue: "terraform", + * }], + * }); + * ``` + * + */ +export function getNodesOutput(args?: GetNodesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getNodes(a, opts)) +} + +/** + * A collection of arguments for invoking getNodes. + */ +export interface GetNodesOutputArgs { + /** + * Used to save results. + */ + resultOutputFile?: pulumi.Input; + /** + * Department tag search list, with a maximum of 10. + */ + tags?: 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..364074745 100644 --- a/sdk/nodejs/organization/index.ts +++ b/sdk/nodejs/organization/index.ts @@ -10,6 +10,11 @@ export const getMembers: typeof import("./getMembers").getMembers = null as any; export const getMembersOutput: typeof import("./getMembers").getMembersOutput = null as any; utilities.lazyLoad(exports, ["getMembers","getMembersOutput"], () => require("./getMembers")); +export { GetNodesArgs, GetNodesResult, GetNodesOutputArgs } from "./getNodes"; +export const getNodes: typeof import("./getNodes").getNodes = null as any; +export const getNodesOutput: typeof import("./getNodes").getNodesOutput = null as any; +utilities.lazyLoad(exports, ["getNodes","getNodesOutput"], () => require("./getNodes")); + export { GetOrgAuthNodeArgs, GetOrgAuthNodeResult, GetOrgAuthNodeOutputArgs } from "./getOrgAuthNode"; export const getOrgAuthNode: typeof import("./getOrgAuthNode").getOrgAuthNode = null as any; export const getOrgAuthNodeOutput: typeof import("./getOrgAuthNode").getOrgAuthNodeOutput = null as any; @@ -35,6 +40,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 +115,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 +153,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 +174,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/applyParameterTemplateOperation.ts b/sdk/nodejs/postgresql/applyParameterTemplateOperation.ts new file mode 100644 index 000000000..0031304de --- /dev/null +++ b/sdk/nodejs/postgresql/applyParameterTemplateOperation.ts @@ -0,0 +1,118 @@ +// *** WARNING: this file 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 apply parameter template + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const applyParameterTemplateOperation = new tencentcloud.postgresql.ApplyParameterTemplateOperation("applyParameterTemplateOperation", { + * dbInstanceId: "postgres-xxxxxx", + * templateId: "xxxxxx", + * }); + * ``` + * + */ +export class ApplyParameterTemplateOperation extends pulumi.CustomResource { + /** + * Get an existing ApplyParameterTemplateOperation 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?: ApplyParameterTemplateOperationState, opts?: pulumi.CustomResourceOptions): ApplyParameterTemplateOperation { + return new ApplyParameterTemplateOperation(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Postgresql/applyParameterTemplateOperation:ApplyParameterTemplateOperation'; + + /** + * Returns true if the given object is an instance of ApplyParameterTemplateOperation. 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 ApplyParameterTemplateOperation { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ApplyParameterTemplateOperation.__pulumiType; + } + + /** + * Instance ID. + */ + public readonly dbInstanceId!: pulumi.Output; + /** + * Template ID. + */ + public readonly templateId!: pulumi.Output; + + /** + * Create a ApplyParameterTemplateOperation 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: ApplyParameterTemplateOperationArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ApplyParameterTemplateOperationArgs | ApplyParameterTemplateOperationState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as ApplyParameterTemplateOperationState | undefined; + resourceInputs["dbInstanceId"] = state ? state.dbInstanceId : undefined; + resourceInputs["templateId"] = state ? state.templateId : undefined; + } else { + const args = argsOrState as ApplyParameterTemplateOperationArgs | undefined; + if ((!args || args.dbInstanceId === undefined) && !opts.urn) { + throw new Error("Missing required property 'dbInstanceId'"); + } + if ((!args || args.templateId === undefined) && !opts.urn) { + throw new Error("Missing required property 'templateId'"); + } + resourceInputs["dbInstanceId"] = args ? args.dbInstanceId : undefined; + resourceInputs["templateId"] = args ? args.templateId : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(ApplyParameterTemplateOperation.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering ApplyParameterTemplateOperation resources. + */ +export interface ApplyParameterTemplateOperationState { + /** + * Instance ID. + */ + dbInstanceId?: pulumi.Input; + /** + * Template ID. + */ + templateId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a ApplyParameterTemplateOperation resource. + */ +export interface ApplyParameterTemplateOperationArgs { + /** + * Instance ID. + */ + dbInstanceId: pulumi.Input; + /** + * Template ID. + */ + templateId: pulumi.Input; +} diff --git a/sdk/nodejs/postgresql/cloneDbInstance.ts b/sdk/nodejs/postgresql/cloneDbInstance.ts new file mode 100644 index 000000000..bb9e9a659 --- /dev/null +++ b/sdk/nodejs/postgresql/cloneDbInstance.ts @@ -0,0 +1,487 @@ +// *** WARNING: this file 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 postgresql clone db instance + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const example = new tencentcloud.postgresql.CloneDbInstance("example", { + * autoRenewFlag: 0, + * dbInstanceId: "postgres-evsqpyap", + * dbNodeSets: [ + * { + * role: "Primary", + * zone: "ap-guangzhou-6", + * }, + * { + * role: "Standby", + * zone: "ap-guangzhou-6", + * }, + * ], + * instanceChargeType: "POSTPAID_BY_HOUR", + * period: 1, + * projectId: 0, + * recoveryTargetTime: "2024-10-12 18:17:00", + * securityGroupIds: ["sg-8stavs03"], + * specCode: "pg.it.medium4", + * storage: 200, + * subnetId: "subnet-b8hintyy", + * tagLists: [{ + * tagKey: "createBy", + * tagValue: "terraform", + * }], + * vpcId: "vpc-a6zec4mf", + * }); + * ``` + * + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const baseBackups = tencentcloud.Postgresql.getBaseBackups({ + * filters: [{ + * name: "db-instance-id", + * values: ["postgres-evsqpyap"], + * }], + * orderBy: "Size", + * orderByType: "asc", + * }); + * const example = new tencentcloud.postgresql.CloneDbInstance("example", { + * dbInstanceId: "postgres-evsqpyap", + * specCode: "pg.it.medium4", + * storage: 200, + * period: 1, + * autoRenewFlag: 0, + * vpcId: "vpc-a6zec4mf", + * subnetId: "subnet-b8hintyy", + * instanceChargeType: "POSTPAID_BY_HOUR", + * securityGroupIds: ["sg-8stavs03"], + * projectId: 0, + * backupSetId: baseBackups.then(baseBackups => baseBackups.baseBackupSets?.[0]?.id), + * dbNodeSets: [ + * { + * role: "Primary", + * zone: "ap-guangzhou-6", + * }, + * { + * role: "Standby", + * zone: "ap-guangzhou-6", + * }, + * ], + * tagLists: [{ + * tagKey: "createBy", + * tagValue: "terraform", + * }], + * }); + * ``` + * + * + * ### Clone db instance from CDC + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const example = new tencentcloud.postgresql.CloneDbInstance("example", { + * autoRenewFlag: 0, + * dbInstanceId: "postgres-evsqpyap", + * dbNodeSets: [ + * { + * dedicatedClusterId: "cluster-262n63e8", + * role: "Primary", + * zone: "ap-guangzhou-6", + * }, + * { + * dedicatedClusterId: "cluster-262n63e8", + * role: "Standby", + * zone: "ap-guangzhou-6", + * }, + * ], + * instanceChargeType: "POSTPAID_BY_HOUR", + * period: 1, + * projectId: 0, + * recoveryTargetTime: "2024-10-12 18:17:00", + * securityGroupIds: ["sg-8stavs03"], + * specCode: "pg.it.medium4", + * storage: 200, + * subnetId: "subnet-b8hintyy", + * tagLists: [{ + * tagKey: "createBy", + * tagValue: "terraform", + * }], + * vpcId: "vpc-a6zec4mf", + * }); + * ``` + * + */ +export class CloneDbInstance extends pulumi.CustomResource { + /** + * Get an existing CloneDbInstance 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?: CloneDbInstanceState, opts?: pulumi.CustomResourceOptions): CloneDbInstance { + return new CloneDbInstance(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Postgresql/cloneDbInstance:CloneDbInstance'; + + /** + * Returns true if the given object is an instance of CloneDbInstance. 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 CloneDbInstance { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === CloneDbInstance.__pulumiType; + } + + /** + * Campaign ID. + */ + public readonly activityId!: pulumi.Output; + /** + * Renewal Flag: + */ + public readonly autoRenewFlag!: pulumi.Output; + /** + * Basic backup set ID. + */ + public readonly backupSetId!: pulumi.Output; + /** + * ID of the original instance to be cloned. + */ + public readonly dbInstanceId!: pulumi.Output; + /** + * Deployment information of the instance node, which will display the information of each AZ when the instance node is deployed across multiple AZs. + * The information of AZ can be obtained from the `Zone` field in the return value of the [DescribeZones](https://intl.cloud.tencent.com/document/api/409/16769?from_cn_redirect=1) API. + */ + public readonly dbNodeSets!: pulumi.Output; + /** + * Instance billing type, which currently supports: + * + * - PREPAID: Prepaid, i.e., monthly subscription + * - POSTPAID_BY_HOUR: Pay-as-you-go, i.e., pay by consumption + * + * Default value: PREPAID. + */ + public readonly instanceChargeType!: pulumi.Output; + /** + * Name of the newly purchased instance, which can contain up to 60 letters, digits, or symbols (-_). If this parameter is not specified, "Unnamed" will be displayed by default. + */ + public readonly name!: pulumi.Output; + /** + * Purchase duration, in months. + * - Prepaid: Supports `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, and `36`. + * - Pay-as-you-go: Only supports `1`. + */ + public readonly period!: pulumi.Output; + /** + * Project ID. + */ + public readonly projectId!: pulumi.Output; + /** + * Restoration point in time. + */ + public readonly recoveryTargetTime!: pulumi.Output; + /** + * Security group of the instance, which can be obtained from the `sgld` field in the return value of the [DescribeSecurityGroups](https://intl.cloud.tencent.com/document/api/215/15808?from_cn_redirect=1) API. If this parameter is not specified, the default security group will be bound. + */ + public readonly securityGroupIds!: pulumi.Output; + /** + * Purchasable code, which can be obtained from the `SpecCode` field in the return value of the [DescribeClasses](https://intl.cloud.tencent.com/document/api/409/89019?from_cn_redirect=1) API. + */ + public readonly specCode!: pulumi.Output; + /** + * Instance storage capacity in GB. + */ + public readonly storage!: pulumi.Output; + /** + * VPC subnet ID in the format of `subnet-xxxxxxxx`, which can be obtained in the console or from the `unSubnetId` field in the return value of the [DescribeSubnets](https://intl.cloud.tencent.com/document/api/215/15784?from_cn_redirect=1) API. + */ + public readonly subnetId!: pulumi.Output; + /** + * Primary-standby sync mode, which supports: + * Semi-sync: Semi-sync + * Async: Asynchronous + * Default value for the primary instance: Semi-sync + * Default value for the read-only instance: Async. + */ + public readonly syncMode!: pulumi.Output; + /** + * The information of tags to be bound with the instance, which is left empty by default. This parameter can be obtained from the `Tags` field in the return value of the [DescribeTags](https://intl.cloud.tencent.com/document/api/651/35316?from_cn_redirect=1) API. + */ + public readonly tagLists!: pulumi.Output; + /** + * VPC ID in the format of `vpc-xxxxxxx`, which can be obtained in the console or from the `unVpcId` field in the return value of the [DescribeVpcEx](https://intl.cloud.tencent.com/document/api/215/1372?from_cn_redirect=1) API. + */ + public readonly vpcId!: pulumi.Output; + + /** + * Create a CloneDbInstance 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: CloneDbInstanceArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: CloneDbInstanceArgs | CloneDbInstanceState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as CloneDbInstanceState | undefined; + resourceInputs["activityId"] = state ? state.activityId : undefined; + resourceInputs["autoRenewFlag"] = state ? state.autoRenewFlag : undefined; + resourceInputs["backupSetId"] = state ? state.backupSetId : undefined; + resourceInputs["dbInstanceId"] = state ? state.dbInstanceId : undefined; + resourceInputs["dbNodeSets"] = state ? state.dbNodeSets : undefined; + resourceInputs["instanceChargeType"] = state ? state.instanceChargeType : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["period"] = state ? state.period : undefined; + resourceInputs["projectId"] = state ? state.projectId : undefined; + resourceInputs["recoveryTargetTime"] = state ? state.recoveryTargetTime : undefined; + resourceInputs["securityGroupIds"] = state ? state.securityGroupIds : undefined; + resourceInputs["specCode"] = state ? state.specCode : undefined; + resourceInputs["storage"] = state ? state.storage : undefined; + resourceInputs["subnetId"] = state ? state.subnetId : undefined; + resourceInputs["syncMode"] = state ? state.syncMode : undefined; + resourceInputs["tagLists"] = state ? state.tagLists : undefined; + resourceInputs["vpcId"] = state ? state.vpcId : undefined; + } else { + const args = argsOrState as CloneDbInstanceArgs | undefined; + if ((!args || args.autoRenewFlag === undefined) && !opts.urn) { + throw new Error("Missing required property 'autoRenewFlag'"); + } + if ((!args || args.dbInstanceId === undefined) && !opts.urn) { + throw new Error("Missing required property 'dbInstanceId'"); + } + if ((!args || args.period === undefined) && !opts.urn) { + throw new Error("Missing required property 'period'"); + } + if ((!args || args.specCode === undefined) && !opts.urn) { + throw new Error("Missing required property 'specCode'"); + } + if ((!args || args.storage === undefined) && !opts.urn) { + throw new Error("Missing required property 'storage'"); + } + if ((!args || args.subnetId === undefined) && !opts.urn) { + throw new Error("Missing required property 'subnetId'"); + } + if ((!args || args.vpcId === undefined) && !opts.urn) { + throw new Error("Missing required property 'vpcId'"); + } + resourceInputs["activityId"] = args ? args.activityId : undefined; + resourceInputs["autoRenewFlag"] = args ? args.autoRenewFlag : undefined; + resourceInputs["backupSetId"] = args ? args.backupSetId : undefined; + resourceInputs["dbInstanceId"] = args ? args.dbInstanceId : undefined; + resourceInputs["dbNodeSets"] = args ? args.dbNodeSets : undefined; + resourceInputs["instanceChargeType"] = args ? args.instanceChargeType : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["period"] = args ? args.period : undefined; + resourceInputs["projectId"] = args ? args.projectId : undefined; + resourceInputs["recoveryTargetTime"] = args ? args.recoveryTargetTime : undefined; + resourceInputs["securityGroupIds"] = args ? args.securityGroupIds : undefined; + resourceInputs["specCode"] = args ? args.specCode : undefined; + resourceInputs["storage"] = args ? args.storage : undefined; + resourceInputs["subnetId"] = args ? args.subnetId : undefined; + resourceInputs["syncMode"] = args ? args.syncMode : undefined; + resourceInputs["tagLists"] = args ? args.tagLists : undefined; + resourceInputs["vpcId"] = args ? args.vpcId : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(CloneDbInstance.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering CloneDbInstance resources. + */ +export interface CloneDbInstanceState { + /** + * Campaign ID. + */ + activityId?: pulumi.Input; + /** + * Renewal Flag: + */ + autoRenewFlag?: pulumi.Input; + /** + * Basic backup set ID. + */ + backupSetId?: pulumi.Input; + /** + * ID of the original instance to be cloned. + */ + dbInstanceId?: pulumi.Input; + /** + * Deployment information of the instance node, which will display the information of each AZ when the instance node is deployed across multiple AZs. + * The information of AZ can be obtained from the `Zone` field in the return value of the [DescribeZones](https://intl.cloud.tencent.com/document/api/409/16769?from_cn_redirect=1) API. + */ + dbNodeSets?: pulumi.Input[]>; + /** + * Instance billing type, which currently supports: + * + * - PREPAID: Prepaid, i.e., monthly subscription + * - POSTPAID_BY_HOUR: Pay-as-you-go, i.e., pay by consumption + * + * Default value: PREPAID. + */ + instanceChargeType?: pulumi.Input; + /** + * Name of the newly purchased instance, which can contain up to 60 letters, digits, or symbols (-_). If this parameter is not specified, "Unnamed" will be displayed by default. + */ + name?: pulumi.Input; + /** + * Purchase duration, in months. + * - Prepaid: Supports `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, and `36`. + * - Pay-as-you-go: Only supports `1`. + */ + period?: pulumi.Input; + /** + * Project ID. + */ + projectId?: pulumi.Input; + /** + * Restoration point in time. + */ + recoveryTargetTime?: pulumi.Input; + /** + * Security group of the instance, which can be obtained from the `sgld` field in the return value of the [DescribeSecurityGroups](https://intl.cloud.tencent.com/document/api/215/15808?from_cn_redirect=1) API. If this parameter is not specified, the default security group will be bound. + */ + securityGroupIds?: pulumi.Input[]>; + /** + * Purchasable code, which can be obtained from the `SpecCode` field in the return value of the [DescribeClasses](https://intl.cloud.tencent.com/document/api/409/89019?from_cn_redirect=1) API. + */ + specCode?: pulumi.Input; + /** + * Instance storage capacity in GB. + */ + storage?: pulumi.Input; + /** + * VPC subnet ID in the format of `subnet-xxxxxxxx`, which can be obtained in the console or from the `unSubnetId` field in the return value of the [DescribeSubnets](https://intl.cloud.tencent.com/document/api/215/15784?from_cn_redirect=1) API. + */ + subnetId?: pulumi.Input; + /** + * Primary-standby sync mode, which supports: + * Semi-sync: Semi-sync + * Async: Asynchronous + * Default value for the primary instance: Semi-sync + * Default value for the read-only instance: Async. + */ + syncMode?: pulumi.Input; + /** + * The information of tags to be bound with the instance, which is left empty by default. This parameter can be obtained from the `Tags` field in the return value of the [DescribeTags](https://intl.cloud.tencent.com/document/api/651/35316?from_cn_redirect=1) API. + */ + tagLists?: pulumi.Input[]>; + /** + * VPC ID in the format of `vpc-xxxxxxx`, which can be obtained in the console or from the `unVpcId` field in the return value of the [DescribeVpcEx](https://intl.cloud.tencent.com/document/api/215/1372?from_cn_redirect=1) API. + */ + vpcId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a CloneDbInstance resource. + */ +export interface CloneDbInstanceArgs { + /** + * Campaign ID. + */ + activityId?: pulumi.Input; + /** + * Renewal Flag: + */ + autoRenewFlag: pulumi.Input; + /** + * Basic backup set ID. + */ + backupSetId?: pulumi.Input; + /** + * ID of the original instance to be cloned. + */ + dbInstanceId: pulumi.Input; + /** + * Deployment information of the instance node, which will display the information of each AZ when the instance node is deployed across multiple AZs. + * The information of AZ can be obtained from the `Zone` field in the return value of the [DescribeZones](https://intl.cloud.tencent.com/document/api/409/16769?from_cn_redirect=1) API. + */ + dbNodeSets?: pulumi.Input[]>; + /** + * Instance billing type, which currently supports: + * + * - PREPAID: Prepaid, i.e., monthly subscription + * - POSTPAID_BY_HOUR: Pay-as-you-go, i.e., pay by consumption + * + * Default value: PREPAID. + */ + instanceChargeType?: pulumi.Input; + /** + * Name of the newly purchased instance, which can contain up to 60 letters, digits, or symbols (-_). If this parameter is not specified, "Unnamed" will be displayed by default. + */ + name?: pulumi.Input; + /** + * Purchase duration, in months. + * - Prepaid: Supports `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, and `36`. + * - Pay-as-you-go: Only supports `1`. + */ + period: pulumi.Input; + /** + * Project ID. + */ + projectId?: pulumi.Input; + /** + * Restoration point in time. + */ + recoveryTargetTime?: pulumi.Input; + /** + * Security group of the instance, which can be obtained from the `sgld` field in the return value of the [DescribeSecurityGroups](https://intl.cloud.tencent.com/document/api/215/15808?from_cn_redirect=1) API. If this parameter is not specified, the default security group will be bound. + */ + securityGroupIds?: pulumi.Input[]>; + /** + * Purchasable code, which can be obtained from the `SpecCode` field in the return value of the [DescribeClasses](https://intl.cloud.tencent.com/document/api/409/89019?from_cn_redirect=1) API. + */ + specCode: pulumi.Input; + /** + * Instance storage capacity in GB. + */ + storage: pulumi.Input; + /** + * VPC subnet ID in the format of `subnet-xxxxxxxx`, which can be obtained in the console or from the `unSubnetId` field in the return value of the [DescribeSubnets](https://intl.cloud.tencent.com/document/api/215/15784?from_cn_redirect=1) API. + */ + subnetId: pulumi.Input; + /** + * Primary-standby sync mode, which supports: + * Semi-sync: Semi-sync + * Async: Asynchronous + * Default value for the primary instance: Semi-sync + * Default value for the read-only instance: Async. + */ + syncMode?: pulumi.Input; + /** + * The information of tags to be bound with the instance, which is left empty by default. This parameter can be obtained from the `Tags` field in the return value of the [DescribeTags](https://intl.cloud.tencent.com/document/api/651/35316?from_cn_redirect=1) API. + */ + tagLists?: pulumi.Input[]>; + /** + * VPC ID in the format of `vpc-xxxxxxx`, which can be obtained in the console or from the `unVpcId` field in the return value of the [DescribeVpcEx](https://intl.cloud.tencent.com/document/api/215/1372?from_cn_redirect=1) API. + */ + vpcId: 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..a1fdea500 100644 --- a/sdk/nodejs/postgresql/index.ts +++ b/sdk/nodejs/postgresql/index.ts @@ -5,6 +5,21 @@ 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 { ApplyParameterTemplateOperationArgs, ApplyParameterTemplateOperationState } from "./applyParameterTemplateOperation"; +export type ApplyParameterTemplateOperation = import("./applyParameterTemplateOperation").ApplyParameterTemplateOperation; +export const ApplyParameterTemplateOperation: typeof import("./applyParameterTemplateOperation").ApplyParameterTemplateOperation = null as any; +utilities.lazyLoad(exports, ["ApplyParameterTemplateOperation"], () => require("./applyParameterTemplateOperation")); + export { BackupDownloadRestrictionConfigArgs, BackupDownloadRestrictionConfigState } from "./backupDownloadRestrictionConfig"; export type BackupDownloadRestrictionConfig = import("./backupDownloadRestrictionConfig").BackupDownloadRestrictionConfig; export const BackupDownloadRestrictionConfig: typeof import("./backupDownloadRestrictionConfig").BackupDownloadRestrictionConfig = null as any; @@ -20,6 +35,11 @@ export type BaseBackup = import("./baseBackup").BaseBackup; export const BaseBackup: typeof import("./baseBackup").BaseBackup = null as any; utilities.lazyLoad(exports, ["BaseBackup"], () => require("./baseBackup")); +export { CloneDbInstanceArgs, CloneDbInstanceState } from "./cloneDbInstance"; +export type CloneDbInstance = import("./cloneDbInstance").CloneDbInstance; +export const CloneDbInstance: typeof import("./cloneDbInstance").CloneDbInstance = null as any; +utilities.lazyLoad(exports, ["CloneDbInstance"], () => require("./cloneDbInstance")); + export { DeleteLogBackupOperationArgs, DeleteLogBackupOperationState } from "./deleteLogBackupOperation"; export type DeleteLogBackupOperation = import("./deleteLogBackupOperation").DeleteLogBackupOperation; export const DeleteLogBackupOperation: typeof import("./deleteLogBackupOperation").DeleteLogBackupOperation = null as any; @@ -30,6 +50,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 +75,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,12 +200,20 @@ 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/applyParameterTemplateOperation:ApplyParameterTemplateOperation": + return new ApplyParameterTemplateOperation(name, undefined, { urn }) case "tencentcloud:Postgresql/backupDownloadRestrictionConfig:BackupDownloadRestrictionConfig": return new BackupDownloadRestrictionConfig(name, undefined, { urn }) case "tencentcloud:Postgresql/backupPlanConfig:BackupPlanConfig": return new BackupPlanConfig(name, undefined, { urn }) case "tencentcloud:Postgresql/baseBackup:BaseBackup": return new BaseBackup(name, undefined, { urn }) + case "tencentcloud:Postgresql/cloneDbInstance:CloneDbInstance": + return new CloneDbInstance(name, undefined, { urn }) case "tencentcloud:Postgresql/deleteLogBackupOperation:DeleteLogBackupOperation": return new DeleteLogBackupOperation(name, undefined, { urn }) case "tencentcloud:Postgresql/disisolateDbInstanceOperation:DisisolateDbInstanceOperation": @@ -211,9 +249,13 @@ const _module = { } }, }; +pulumi.runtime.registerResourceModule("tencentcloud", "Postgresql/account", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Postgresql/accountPrivilegesOperation", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Postgresql/applyParameterTemplateOperation", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Postgresql/backupDownloadRestrictionConfig", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Postgresql/backupPlanConfig", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Postgresql/baseBackup", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Postgresql/cloneDbInstance", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Postgresql/deleteLogBackupOperation", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Postgresql/disisolateDbInstanceOperation", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Postgresql/instance", _module) diff --git a/sdk/nodejs/postgresql/instance.ts b/sdk/nodejs/postgresql/instance.ts index 22cbe2f95..f00a872e9 100644 --- a/sdk/nodejs/postgresql/instance.ts +++ b/sdk/nodejs/postgresql/instance.ts @@ -10,10 +10,53 @@ import * as utilities from "../utilities"; * Use this resource to create postgresql instance. * * > **Note:** To update the charge type, please update the `chargeType` and specify the `period` for the charging period. It only supports updating from `POSTPAID_BY_HOUR` to `PREPAID`, and the `period` field only valid in that upgrading case. - * **Note:** If no values are set for the two parameters: `dbMajorVersion` and `engineVersion`, then `engineVersion` is set to `10.4` by default. Suggest using parameter `dbMajorVersion` to create an instance + * + * > **Note:** If no values are set for the two parameters: `dbMajorVersion` and `engineVersion`, then `engineVersion` is set to `10.4` by default. Suggest using parameter `dbMajorVersion` to create an instance * * ## Example Usage * + * ### 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 +88,7 @@ import * as utilities from "../utilities"; * cpu: 1, * memory: 2, * storage: 10, + * deleteProtection: true, * tags: { * test: "tf", * }, @@ -52,7 +96,7 @@ import * as utilities from "../utilities"; * ``` * * - * ### Create a multi available zone bucket + * ### Create a multi available zone postgresql instance * * * ```typescript @@ -101,7 +145,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 +236,7 @@ import * as utilities from "../utilities"; * ``` * * - * ### upgrade kernel version + * ### Upgrade kernel version * * * ```typescript @@ -233,7 +327,7 @@ export class Instance extends pulumi.CustomResource { /** * Specify DB backup plan. */ - public readonly backupPlan!: pulumi.Output; + public readonly backupPlan!: pulumi.Output; /** * Pay type of the postgresql instance. Values `POSTPAID_BY_HOUR` (Default), `PREPAID`. It only support to update the type from `POSTPAID_BY_HOUR` to `PREPAID`. */ @@ -268,6 +362,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 +488,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 +544,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 +632,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 +784,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/endPoint.ts b/sdk/nodejs/privatedns/endPoint.ts new file mode 100644 index 000000000..736471d5f --- /dev/null +++ b/sdk/nodejs/privatedns/endPoint.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 utilities from "../utilities"; + +/** + * Provides a resource to create a privatedns end point + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const example = new tencentcloud.privatedns.EndPoint("example", { + * endPointName: "tf-example", + * endPointRegion: "ap-guangzhou", + * endPointServiceId: "vpcsvc-61wcwmar", + * ipNum: 1, + * }); + * ``` + * + * + * ## Import + * + * private dns end point can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:PrivateDns/endPoint:EndPoint example eid-77a246c867 + * ``` + */ +export class EndPoint extends pulumi.CustomResource { + /** + * Get an existing EndPoint 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?: EndPointState, opts?: pulumi.CustomResourceOptions): EndPoint { + return new EndPoint(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:PrivateDns/endPoint:EndPoint'; + + /** + * Returns true if the given object is an instance of EndPoint. 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 EndPoint { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === EndPoint.__pulumiType; + } + + /** + * Endpoint name. + */ + public readonly endPointName!: pulumi.Output; + /** + * Endpoint region, which should be consistent with the region of the endpoint service. + */ + public readonly endPointRegion!: pulumi.Output; + /** + * Endpoint service ID (namely, VPC endpoint service ID). + */ + public readonly endPointServiceId!: pulumi.Output; + /** + * Vip list of endpoint. + */ + public /*out*/ readonly endPointVipSets!: pulumi.Output; + /** + * Number of endpoint IP addresses. + */ + public readonly ipNum!: pulumi.Output; + + /** + * Create a EndPoint 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: EndPointArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: EndPointArgs | EndPointState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as EndPointState | undefined; + resourceInputs["endPointName"] = state ? state.endPointName : undefined; + resourceInputs["endPointRegion"] = state ? state.endPointRegion : undefined; + resourceInputs["endPointServiceId"] = state ? state.endPointServiceId : undefined; + resourceInputs["endPointVipSets"] = state ? state.endPointVipSets : undefined; + resourceInputs["ipNum"] = state ? state.ipNum : undefined; + } else { + const args = argsOrState as EndPointArgs | undefined; + if ((!args || args.endPointName === undefined) && !opts.urn) { + throw new Error("Missing required property 'endPointName'"); + } + if ((!args || args.endPointRegion === undefined) && !opts.urn) { + throw new Error("Missing required property 'endPointRegion'"); + } + if ((!args || args.endPointServiceId === undefined) && !opts.urn) { + throw new Error("Missing required property 'endPointServiceId'"); + } + resourceInputs["endPointName"] = args ? args.endPointName : undefined; + resourceInputs["endPointRegion"] = args ? args.endPointRegion : undefined; + resourceInputs["endPointServiceId"] = args ? args.endPointServiceId : undefined; + resourceInputs["ipNum"] = args ? args.ipNum : undefined; + resourceInputs["endPointVipSets"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(EndPoint.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering EndPoint resources. + */ +export interface EndPointState { + /** + * Endpoint name. + */ + endPointName?: pulumi.Input; + /** + * Endpoint region, which should be consistent with the region of the endpoint service. + */ + endPointRegion?: pulumi.Input; + /** + * Endpoint service ID (namely, VPC endpoint service ID). + */ + endPointServiceId?: pulumi.Input; + /** + * Vip list of endpoint. + */ + endPointVipSets?: pulumi.Input[]>; + /** + * Number of endpoint IP addresses. + */ + ipNum?: pulumi.Input; +} + +/** + * The set of arguments for constructing a EndPoint resource. + */ +export interface EndPointArgs { + /** + * Endpoint name. + */ + endPointName: pulumi.Input; + /** + * Endpoint region, which should be consistent with the region of the endpoint service. + */ + endPointRegion: pulumi.Input; + /** + * Endpoint service ID (namely, VPC endpoint service ID). + */ + endPointServiceId: pulumi.Input; + /** + * Number of endpoint IP addresses. + */ + ipNum?: pulumi.Input; +} diff --git a/sdk/nodejs/privatedns/forwardRule.ts b/sdk/nodejs/privatedns/forwardRule.ts new file mode 100644 index 000000000..823674bfd --- /dev/null +++ b/sdk/nodejs/privatedns/forwardRule.ts @@ -0,0 +1,168 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +/** + * Provides a resource to create a privatedns forward rule + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const exampleEndPoint = new tencentcloud.privatedns.EndPoint("exampleEndPoint", { + * endPointName: "tf-example", + * endPointServiceId: "vpcsvc-61wcwmar", + * endPointRegion: "ap-guangzhou", + * ipNum: 1, + * }); + * const exampleForwardRule = new tencentcloud.privatedns.ForwardRule("exampleForwardRule", { + * ruleName: "tf-example", + * ruleType: "DOWN", + * zoneId: "zone-cmmbvaq8", + * endPointId: exampleEndPoint.id, + * }); + * ``` + * + * + * ## Import + * + * private dns forward rule can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:PrivateDns/forwardRule:ForwardRule example fid-dbc2c0a97c + * ``` + */ +export class ForwardRule extends pulumi.CustomResource { + /** + * Get an existing ForwardRule 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?: ForwardRuleState, opts?: pulumi.CustomResourceOptions): ForwardRule { + return new ForwardRule(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:PrivateDns/forwardRule:ForwardRule'; + + /** + * Returns true if the given object is an instance of ForwardRule. 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 ForwardRule { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ForwardRule.__pulumiType; + } + + /** + * Endpoint ID. + */ + public readonly endPointId!: pulumi.Output; + /** + * Forwarding rule name. + */ + public readonly ruleName!: pulumi.Output; + /** + * Forwarding rule type. DOWN: From cloud to off-cloud; UP: From off-cloud to cloud. + */ + public readonly ruleType!: pulumi.Output; + /** + * Private domain ID, which can be viewed on the private domain list page. + */ + public readonly zoneId!: pulumi.Output; + + /** + * Create a ForwardRule 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: ForwardRuleArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ForwardRuleArgs | ForwardRuleState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as ForwardRuleState | undefined; + resourceInputs["endPointId"] = state ? state.endPointId : undefined; + resourceInputs["ruleName"] = state ? state.ruleName : undefined; + resourceInputs["ruleType"] = state ? state.ruleType : undefined; + resourceInputs["zoneId"] = state ? state.zoneId : undefined; + } else { + const args = argsOrState as ForwardRuleArgs | undefined; + if ((!args || args.endPointId === undefined) && !opts.urn) { + throw new Error("Missing required property 'endPointId'"); + } + if ((!args || args.ruleName === undefined) && !opts.urn) { + throw new Error("Missing required property 'ruleName'"); + } + if ((!args || args.ruleType === undefined) && !opts.urn) { + throw new Error("Missing required property 'ruleType'"); + } + if ((!args || args.zoneId === undefined) && !opts.urn) { + throw new Error("Missing required property 'zoneId'"); + } + resourceInputs["endPointId"] = args ? args.endPointId : undefined; + resourceInputs["ruleName"] = args ? args.ruleName : undefined; + resourceInputs["ruleType"] = args ? args.ruleType : undefined; + resourceInputs["zoneId"] = args ? args.zoneId : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(ForwardRule.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering ForwardRule resources. + */ +export interface ForwardRuleState { + /** + * Endpoint ID. + */ + endPointId?: pulumi.Input; + /** + * Forwarding rule name. + */ + ruleName?: pulumi.Input; + /** + * Forwarding rule type. DOWN: From cloud to off-cloud; UP: From off-cloud to cloud. + */ + ruleType?: pulumi.Input; + /** + * Private domain ID, which can be viewed on the private domain list page. + */ + zoneId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a ForwardRule resource. + */ +export interface ForwardRuleArgs { + /** + * Endpoint ID. + */ + endPointId: pulumi.Input; + /** + * Forwarding rule name. + */ + ruleName: pulumi.Input; + /** + * Forwarding rule type. DOWN: From cloud to off-cloud; UP: From off-cloud to cloud. + */ + ruleType: pulumi.Input; + /** + * Private domain ID, which can be viewed on the private domain list page. + */ + zoneId: pulumi.Input; +} diff --git a/sdk/nodejs/privatedns/getEndPoints.ts b/sdk/nodejs/privatedns/getEndPoints.ts new file mode 100644 index 000000000..712918bd8 --- /dev/null +++ b/sdk/nodejs/privatedns/getEndPoints.ts @@ -0,0 +1,157 @@ +// *** WARNING: this file 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 private dns dns end points + * + * ## Example Usage + * + * ### Query all private dns end points + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const example = tencentcloud.PrivateDns.getEndPoints({}); + * ``` + * + * + * ### Query all private dns end points by filters + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const example = tencentcloud.PrivateDns.getEndPoints({ + * filters: [ + * { + * name: "EndPointName", + * values: ["tf-example"], + * }, + * { + * name: "EndPointId", + * values: ["eid-72dc11b8f3"], + * }, + * { + * name: "EndPointServiceId", + * values: ["vpcsvc-61wcwmar"], + * }, + * { + * name: "EndPointVip", + * values: ["172.10.10.1"], + * }, + * ], + * }); + * ``` + * + */ +export function getEndPoints(args?: GetEndPointsArgs, opts?: pulumi.InvokeOptions): Promise { + args = args || {}; + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("tencentcloud:PrivateDns/getEndPoints:getEndPoints", { + "filters": args.filters, + "resultOutputFile": args.resultOutputFile, + }, opts); +} + +/** + * A collection of arguments for invoking getEndPoints. + */ +export interface GetEndPointsArgs { + /** + * Filter parameters. Valid values: EndPointName, EndPointId, EndPointServiceId, and EndPointVip. + */ + filters?: inputs.PrivateDns.GetEndPointsFilter[]; + /** + * Used to save results. + */ + resultOutputFile?: string; +} + +/** + * A collection of values returned by getEndPoints. + */ +export interface GetEndPointsResult { + /** + * Endpoint list. + * Note: This field may return null, indicating that no valid values can be obtained. + */ + readonly endPointSets: outputs.PrivateDns.GetEndPointsEndPointSet[]; + readonly filters?: outputs.PrivateDns.GetEndPointsFilter[]; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + readonly resultOutputFile?: string; +} +/** + * Use this data source to query detailed information of private dns dns end points + * + * ## Example Usage + * + * ### Query all private dns end points + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const example = tencentcloud.PrivateDns.getEndPoints({}); + * ``` + * + * + * ### Query all private dns end points by filters + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const example = tencentcloud.PrivateDns.getEndPoints({ + * filters: [ + * { + * name: "EndPointName", + * values: ["tf-example"], + * }, + * { + * name: "EndPointId", + * values: ["eid-72dc11b8f3"], + * }, + * { + * name: "EndPointServiceId", + * values: ["vpcsvc-61wcwmar"], + * }, + * { + * name: "EndPointVip", + * values: ["172.10.10.1"], + * }, + * ], + * }); + * ``` + * + */ +export function getEndPointsOutput(args?: GetEndPointsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getEndPoints(a, opts)) +} + +/** + * A collection of arguments for invoking getEndPoints. + */ +export interface GetEndPointsOutputArgs { + /** + * Filter parameters. Valid values: EndPointName, EndPointId, EndPointServiceId, and EndPointVip. + */ + filters?: pulumi.Input[]>; + /** + * Used to save results. + */ + resultOutputFile?: pulumi.Input; +} diff --git a/sdk/nodejs/privatedns/getForwardRules.ts b/sdk/nodejs/privatedns/getForwardRules.ts new file mode 100644 index 000000000..8f1b20c1b --- /dev/null +++ b/sdk/nodejs/privatedns/getForwardRules.ts @@ -0,0 +1,180 @@ +// *** WARNING: this file 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 private dns forward rules + * + * ## Example Usage + * + * ### Query all private dns forward rules + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const example = tencentcloud.PrivateDns.getForwardRules({}); + * ``` + * + * + * ### Query all private dns forward rules by filters + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const example = tencentcloud.PrivateDns.getForwardRules({ + * filters: [ + * { + * name: "RuleId", + * values: ["eid-e9d5880672"], + * }, + * { + * name: "RuleName", + * values: ["tf-example"], + * }, + * { + * name: "RuleName", + * values: ["tf-example"], + * }, + * { + * name: "RuleType", + * values: ["DOWN"], + * }, + * { + * name: "ZoneId", + * values: ["zone-04jlawty"], + * }, + * { + * name: "EndPointId", + * values: ["eid-e9d5880672"], + * }, + * { + * name: "EndPointName", + * values: ["tf-example"], + * }, + * ], + * }); + * ``` + * + */ +export function getForwardRules(args?: GetForwardRulesArgs, opts?: pulumi.InvokeOptions): Promise { + args = args || {}; + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("tencentcloud:PrivateDns/getForwardRules:getForwardRules", { + "filters": args.filters, + "resultOutputFile": args.resultOutputFile, + }, opts); +} + +/** + * A collection of arguments for invoking getForwardRules. + */ +export interface GetForwardRulesArgs { + /** + * Filter parameters. + */ + filters?: inputs.PrivateDns.GetForwardRulesFilter[]; + /** + * Used to save results. + */ + resultOutputFile?: string; +} + +/** + * A collection of values returned by getForwardRules. + */ +export interface GetForwardRulesResult { + readonly filters?: outputs.PrivateDns.GetForwardRulesFilter[]; + /** + * Private domain list. + */ + readonly forwardRuleSets: outputs.PrivateDns.GetForwardRulesForwardRuleSet[]; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + readonly resultOutputFile?: string; +} +/** + * Use this data source to query detailed information of private dns forward rules + * + * ## Example Usage + * + * ### Query all private dns forward rules + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const example = tencentcloud.PrivateDns.getForwardRules({}); + * ``` + * + * + * ### Query all private dns forward rules by filters + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const example = tencentcloud.PrivateDns.getForwardRules({ + * filters: [ + * { + * name: "RuleId", + * values: ["eid-e9d5880672"], + * }, + * { + * name: "RuleName", + * values: ["tf-example"], + * }, + * { + * name: "RuleName", + * values: ["tf-example"], + * }, + * { + * name: "RuleType", + * values: ["DOWN"], + * }, + * { + * name: "ZoneId", + * values: ["zone-04jlawty"], + * }, + * { + * name: "EndPointId", + * values: ["eid-e9d5880672"], + * }, + * { + * name: "EndPointName", + * values: ["tf-example"], + * }, + * ], + * }); + * ``` + * + */ +export function getForwardRulesOutput(args?: GetForwardRulesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getForwardRules(a, opts)) +} + +/** + * A collection of arguments for invoking getForwardRules. + */ +export interface GetForwardRulesOutputArgs { + /** + * Filter parameters. + */ + filters?: pulumi.Input[]>; + /** + * Used to save results. + */ + resultOutputFile?: pulumi.Input; +} diff --git a/sdk/nodejs/privatedns/index.ts b/sdk/nodejs/privatedns/index.ts index 3bcd6b8fd..37eb32346 100644 --- a/sdk/nodejs/privatedns/index.ts +++ b/sdk/nodejs/privatedns/index.ts @@ -5,6 +5,26 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; // Export members: +export { EndPointArgs, EndPointState } from "./endPoint"; +export type EndPoint = import("./endPoint").EndPoint; +export const EndPoint: typeof import("./endPoint").EndPoint = null as any; +utilities.lazyLoad(exports, ["EndPoint"], () => require("./endPoint")); + +export { ForwardRuleArgs, ForwardRuleState } from "./forwardRule"; +export type ForwardRule = import("./forwardRule").ForwardRule; +export const ForwardRule: typeof import("./forwardRule").ForwardRule = null as any; +utilities.lazyLoad(exports, ["ForwardRule"], () => require("./forwardRule")); + +export { GetEndPointsArgs, GetEndPointsResult, GetEndPointsOutputArgs } from "./getEndPoints"; +export const getEndPoints: typeof import("./getEndPoints").getEndPoints = null as any; +export const getEndPointsOutput: typeof import("./getEndPoints").getEndPointsOutput = null as any; +utilities.lazyLoad(exports, ["getEndPoints","getEndPointsOutput"], () => require("./getEndPoints")); + +export { GetForwardRulesArgs, GetForwardRulesResult, GetForwardRulesOutputArgs } from "./getForwardRules"; +export const getForwardRules: typeof import("./getForwardRules").getForwardRules = null as any; +export const getForwardRulesOutput: typeof import("./getForwardRules").getForwardRulesOutput = null as any; +utilities.lazyLoad(exports, ["getForwardRules","getForwardRulesOutput"], () => require("./getForwardRules")); + export { GetPrivateZoneListArgs, GetPrivateZoneListResult, GetPrivateZoneListOutputArgs } from "./getPrivateZoneList"; export const getPrivateZoneList: typeof import("./getPrivateZoneList").getPrivateZoneList = null as any; export const getPrivateZoneListOutput: typeof import("./getPrivateZoneList").getPrivateZoneListOutput = null as any; @@ -35,6 +55,10 @@ const _module = { version: utilities.getVersion(), construct: (name: string, type: string, urn: string): pulumi.Resource => { switch (type) { + case "tencentcloud:PrivateDns/endPoint:EndPoint": + return new EndPoint(name, undefined, { urn }) + case "tencentcloud:PrivateDns/forwardRule:ForwardRule": + return new ForwardRule(name, undefined, { urn }) case "tencentcloud:PrivateDns/record:Record": return new Record(name, undefined, { urn }) case "tencentcloud:PrivateDns/zone:Zone": @@ -46,6 +70,8 @@ const _module = { } }, }; +pulumi.runtime.registerResourceModule("tencentcloud", "PrivateDns/endPoint", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "PrivateDns/forwardRule", _module) pulumi.runtime.registerResourceModule("tencentcloud", "PrivateDns/record", _module) pulumi.runtime.registerResourceModule("tencentcloud", "PrivateDns/zone", _module) pulumi.runtime.registerResourceModule("tencentcloud", "PrivateDns/zoneVpcAttachment", _module) 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/privatedns/zone.ts b/sdk/nodejs/privatedns/zone.ts index cffc22e54..0af192e84 100644 --- a/sdk/nodejs/privatedns/zone.ts +++ b/sdk/nodejs/privatedns/zone.ts @@ -9,6 +9,8 @@ import * as utilities from "../utilities"; /** * Provide a resource to create a Private Dns Zone. * + * > **NOTE:** If you want to unbind all VPCs bound to the current private dns zone, simply clearing the declaration will not take effect; you need to set the `region` and `uniqVpcId` in `vpcSet` to an empty string. + * * ## Example Usage * * ### Create a basic Private Dns Zone 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..32c5e9f30 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 { @@ -99,7 +136,11 @@ export class Instance extends pulumi.CustomResource { */ public /*out*/ readonly createTime!: 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. + * 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. */ public readonly forceDelete!: pulumi.Output; /** @@ -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*/; } @@ -309,7 +364,11 @@ export interface InstanceState { */ createTime?: 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. + * 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. */ forceDelete?: pulumi.Input; /** @@ -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. */ @@ -429,7 +496,7 @@ export interface InstanceArgs { */ chargeType?: 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. + * 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. */ forceDelete?: pulumi.Input; /** @@ -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/reserve/index.ts b/sdk/nodejs/reserve/index.ts new file mode 100644 index 000000000..583693004 --- /dev/null +++ b/sdk/nodejs/reserve/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 { IpAddressArgs, IpAddressState } from "./ipAddress"; +export type IpAddress = import("./ipAddress").IpAddress; +export const IpAddress: typeof import("./ipAddress").IpAddress = null as any; +utilities.lazyLoad(exports, ["IpAddress"], () => require("./ipAddress")); + + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "tencentcloud:Reserve/ipAddress:IpAddress": + return new IpAddress(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("tencentcloud", "Reserve/ipAddress", _module) diff --git a/sdk/nodejs/reserve/ipAddress.ts b/sdk/nodejs/reserve/ipAddress.ts new file mode 100644 index 000000000..7fbc45b8c --- /dev/null +++ b/sdk/nodejs/reserve/ipAddress.ts @@ -0,0 +1,204 @@ +// *** WARNING: this file 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 class IpAddress extends pulumi.CustomResource { + /** + * Get an existing IpAddress 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?: IpAddressState, opts?: pulumi.CustomResourceOptions): IpAddress { + return new IpAddress(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Reserve/ipAddress:IpAddress'; + + /** + * Returns true if the given object is an instance of IpAddress. 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 IpAddress { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === IpAddress.__pulumiType; + } + + /** + * Created time. + */ + public /*out*/ readonly createdTime!: pulumi.Output; + /** + * The IP description is retained on the intranet. + */ + public readonly description!: pulumi.Output; + /** + * Specify the reserved IP address of the intranet for which the IP application is requested. + */ + public readonly ipAddress!: pulumi.Output; + /** + * Ip type for product application. + */ + public /*out*/ readonly ipType!: pulumi.Output; + /** + * The IP name is reserved for the intranet. + */ + public readonly name!: pulumi.Output; + /** + * Reserve ip ID. + */ + public /*out*/ readonly reserveIpId!: pulumi.Output; + /** + * The intranet retains the resource instance ID bound to the IPs. + */ + public /*out*/ readonly resourceId!: pulumi.Output; + /** + * Binding status. + */ + public /*out*/ readonly state!: pulumi.Output; + /** + * Subnet ID. + */ + public readonly subnetId!: pulumi.Output; + /** + * Tags. + */ + public readonly tags!: pulumi.Output<{[key: string]: any} | undefined>; + /** + * VPC unique ID. + */ + public readonly vpcId!: pulumi.Output; + + /** + * Create a IpAddress 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: IpAddressArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: IpAddressArgs | IpAddressState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as IpAddressState | undefined; + resourceInputs["createdTime"] = state ? state.createdTime : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["ipAddress"] = state ? state.ipAddress : undefined; + resourceInputs["ipType"] = state ? state.ipType : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["reserveIpId"] = state ? state.reserveIpId : undefined; + resourceInputs["resourceId"] = state ? state.resourceId : undefined; + resourceInputs["state"] = state ? state.state : undefined; + resourceInputs["subnetId"] = state ? state.subnetId : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["vpcId"] = state ? state.vpcId : undefined; + } else { + const args = argsOrState as IpAddressArgs | undefined; + if ((!args || args.vpcId === undefined) && !opts.urn) { + throw new Error("Missing required property 'vpcId'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["ipAddress"] = args ? args.ipAddress : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["subnetId"] = args ? args.subnetId : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["vpcId"] = args ? args.vpcId : undefined; + resourceInputs["createdTime"] = undefined /*out*/; + resourceInputs["ipType"] = undefined /*out*/; + resourceInputs["reserveIpId"] = undefined /*out*/; + resourceInputs["resourceId"] = undefined /*out*/; + resourceInputs["state"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(IpAddress.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering IpAddress resources. + */ +export interface IpAddressState { + /** + * Created time. + */ + createdTime?: pulumi.Input; + /** + * The IP description is retained on the intranet. + */ + description?: pulumi.Input; + /** + * Specify the reserved IP address of the intranet for which the IP application is requested. + */ + ipAddress?: pulumi.Input; + /** + * Ip type for product application. + */ + ipType?: pulumi.Input; + /** + * The IP name is reserved for the intranet. + */ + name?: pulumi.Input; + /** + * Reserve ip ID. + */ + reserveIpId?: pulumi.Input; + /** + * The intranet retains the resource instance ID bound to the IPs. + */ + resourceId?: pulumi.Input; + /** + * Binding status. + */ + state?: pulumi.Input; + /** + * Subnet ID. + */ + subnetId?: pulumi.Input; + /** + * Tags. + */ + tags?: pulumi.Input<{[key: string]: any}>; + /** + * VPC unique ID. + */ + vpcId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a IpAddress resource. + */ +export interface IpAddressArgs { + /** + * The IP description is retained on the intranet. + */ + description?: pulumi.Input; + /** + * Specify the reserved IP address of the intranet for which the IP application is requested. + */ + ipAddress?: pulumi.Input; + /** + * The IP name is reserved for the intranet. + */ + name?: pulumi.Input; + /** + * Subnet ID. + */ + subnetId?: pulumi.Input; + /** + * Tags. + */ + tags?: pulumi.Input<{[key: string]: any}>; + /** + * VPC unique ID. + */ + vpcId: 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/scf/function.ts b/sdk/nodejs/scf/function.ts index d4451c21a..3e63a2448 100644 --- a/sdk/nodejs/scf/function.ts +++ b/sdk/nodejs/scf/function.ts @@ -81,23 +81,34 @@ import * as utilities from "../utilities"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * * const foo = new tencentcloud.scf.Function("foo", { - * enablePublicNet: true, * handler: "first.do_it_first", * runtime: "Python3.6", + * enablePublicNet: true, + * zipFile: "/scf/first.zip", * triggers: [ * { * name: "tf-test-fn-trigger", - * triggerDesc: "*/5 * * * * * *", * type: "timer", + * triggerDesc: "*/5 * * * * * *", * }, * { - * cosRegion: "ap-guangzhou", * name: "scf-bucket-1308919341.cos.ap-guangzhou.myqcloud.com", - * triggerDesc: "{\"event\":\"cos:ObjectCreated:Put\",\"filter\":{\"Prefix\":\"\",\"Suffix\":\"\"}}", + * cosRegion: "ap-guangzhou", * type: "cos", + * triggerDesc: "{\"event\":\"cos:ObjectCreated:Put\",\"filter\":{\"Prefix\":\"\",\"Suffix\":\"\"}}", + * }, + * { + * name: "tf-test-fn-trigger", + * type: "http", + * triggerDesc: JSON.stringify({ + * AuthType: "NONE", + * NetConfig: { + * EnableIntranet: true, + * EnableExtranet: false, + * }, + * }), * }, * ], - * zipFile: "/scf/first.zip", * }); * ``` * diff --git a/sdk/nodejs/ses/emailAddress.ts b/sdk/nodejs/ses/emailAddress.ts index 4b4f04375..e8d9dbbfd 100644 --- a/sdk/nodejs/ses/emailAddress.ts +++ b/sdk/nodejs/ses/emailAddress.ts @@ -5,18 +5,35 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; /** - * Provides a resource to create a ses emailAddress + * Provides a resource to create a ses email address * * ## Example Usage * + * ### Create ses email address + * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * - * const emailAddress = new tencentcloud.ses.EmailAddress("emailAddress", { - * emailAddress: "aaa@iac-tf.cloud", - * emailSenderName: "aaa", + * const example = new tencentcloud.ses.EmailAddress("example", { + * emailAddress: "demo@iac-terraform.cloud", + * emailSenderName: "root", + * }); + * ``` + * + * + * ### Set smtp password + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const example = new tencentcloud.ses.EmailAddress("example", { + * emailAddress: "demo@iac-terraform.cloud", + * emailSenderName: "root", + * smtpPassword: "Password@123", * }); * ``` * @@ -26,7 +43,7 @@ import * as utilities from "../utilities"; * ses email_address can be imported using the id, e.g. * * ```sh - * $ pulumi import tencentcloud:Ses/emailAddress:EmailAddress email_address aaa@iac-tf.cloud + * $ pulumi import tencentcloud:Ses/emailAddress:EmailAddress example demo@iac-terraform.cloud * ``` */ export class EmailAddress extends pulumi.CustomResource { @@ -58,13 +75,17 @@ export class EmailAddress extends pulumi.CustomResource { } /** - * Your sender address. (You can create up to 10 sender addresses for each domain.). + * Your sender address(You can create up to 10 sender addresses for each domain). */ public readonly emailAddress!: pulumi.Output; /** * Sender name. */ public readonly emailSenderName!: pulumi.Output; + /** + * Password for SMTP, Length limit 64. + */ + public readonly smtpPassword!: pulumi.Output; /** * Create a EmailAddress resource with the given unique name, arguments, and options. @@ -81,6 +102,7 @@ export class EmailAddress extends pulumi.CustomResource { const state = argsOrState as EmailAddressState | undefined; resourceInputs["emailAddress"] = state ? state.emailAddress : undefined; resourceInputs["emailSenderName"] = state ? state.emailSenderName : undefined; + resourceInputs["smtpPassword"] = state ? state.smtpPassword : undefined; } else { const args = argsOrState as EmailAddressArgs | undefined; if ((!args || args.emailAddress === undefined) && !opts.urn) { @@ -88,8 +110,11 @@ export class EmailAddress extends pulumi.CustomResource { } resourceInputs["emailAddress"] = args ? args.emailAddress : undefined; resourceInputs["emailSenderName"] = args ? args.emailSenderName : undefined; + resourceInputs["smtpPassword"] = args?.smtpPassword ? pulumi.secret(args.smtpPassword) : undefined; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["smtpPassword"] }; + opts = pulumi.mergeOptions(opts, secretOpts); super(EmailAddress.__pulumiType, name, resourceInputs, opts); } } @@ -99,13 +124,17 @@ export class EmailAddress extends pulumi.CustomResource { */ export interface EmailAddressState { /** - * Your sender address. (You can create up to 10 sender addresses for each domain.). + * Your sender address(You can create up to 10 sender addresses for each domain). */ emailAddress?: pulumi.Input; /** * Sender name. */ emailSenderName?: pulumi.Input; + /** + * Password for SMTP, Length limit 64. + */ + smtpPassword?: pulumi.Input; } /** @@ -113,11 +142,15 @@ export interface EmailAddressState { */ export interface EmailAddressArgs { /** - * Your sender address. (You can create up to 10 sender addresses for each domain.). + * Your sender address(You can create up to 10 sender addresses for each domain). */ emailAddress: pulumi.Input; /** * Sender name. */ emailSenderName?: pulumi.Input; + /** + * Password for SMTP, Length limit 64. + */ + smtpPassword?: pulumi.Input; } diff --git a/sdk/nodejs/sg/index.ts b/sdk/nodejs/sg/index.ts new file mode 100644 index 000000000..4a1220c1d --- /dev/null +++ b/sdk/nodejs/sg/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 { RuleArgs, RuleState } from "./rule"; +export type Rule = import("./rule").Rule; +export const Rule: typeof import("./rule").Rule = null as any; +utilities.lazyLoad(exports, ["Rule"], () => require("./rule")); + + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "tencentcloud:Sg/rule:Rule": + return new Rule(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("tencentcloud", "Sg/rule", _module) diff --git a/sdk/nodejs/sg/rule.ts b/sdk/nodejs/sg/rule.ts new file mode 100644 index 000000000..a396a2d25 --- /dev/null +++ b/sdk/nodejs/sg/rule.ts @@ -0,0 +1,135 @@ +// *** WARNING: this file 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 cfw sgRule + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const sgRule = new tencentcloud.sg.Rule("sgRule", { + * data: { + * description: "1111112", + * destContent: "0.0.0.0/0", + * destType: "net", + * port: "-1/-1", + * protocol: "ANY", + * ruleAction: "accept", + * serviceTemplateId: "ppm-l9u5pf1y", + * sourceContent: "0.0.0.0/0", + * sourceType: "net", + * }, + * enable: 1, + * }); + * ``` + * + * + * ## Import + * + * cfw sg_rule can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Sg/rule:Rule sg_rule rule_id + * ``` + */ +export class Rule extends pulumi.CustomResource { + /** + * Get an existing Rule 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?: RuleState, opts?: pulumi.CustomResourceOptions): Rule { + return new Rule(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Sg/rule:Rule'; + + /** + * Returns true if the given object is an instance of Rule. 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 Rule { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Rule.__pulumiType; + } + + /** + * Creates rule data. + */ + public readonly data!: pulumi.Output; + /** + * Rule status. `0` is off, `1` is on. This parameter is not required or is 1 when creating. + */ + public readonly enable!: pulumi.Output; + + /** + * Create a Rule 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: RuleArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: RuleArgs | RuleState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as RuleState | undefined; + resourceInputs["data"] = state ? state.data : undefined; + resourceInputs["enable"] = state ? state.enable : undefined; + } else { + const args = argsOrState as RuleArgs | undefined; + if ((!args || args.data === undefined) && !opts.urn) { + throw new Error("Missing required property 'data'"); + } + resourceInputs["data"] = args ? args.data : undefined; + resourceInputs["enable"] = args ? args.enable : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Rule.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Rule resources. + */ +export interface RuleState { + /** + * Creates rule data. + */ + data?: pulumi.Input; + /** + * Rule status. `0` is off, `1` is on. This parameter is not required or is 1 when creating. + */ + enable?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Rule resource. + */ +export interface RuleArgs { + /** + * Creates rule data. + */ + data: pulumi.Input; + /** + * Rule status. `0` is off, `1` is on. This parameter is not required or is 1 when creating. + */ + enable?: pulumi.Input; +} diff --git a/sdk/nodejs/sqlserver/instance.ts b/sdk/nodejs/sqlserver/instance.ts index 49454b7a5..e263af4c9 100644 --- a/sdk/nodejs/sqlserver/instance.ts +++ b/sdk/nodejs/sqlserver/instance.ts @@ -98,7 +98,9 @@ export class Instance extends pulumi.CustomResource { */ public readonly engineVersion!: pulumi.Output; /** - * Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. + * It has been deprecated from version 1.81.136. Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. + * + * @deprecated It has been deprecated from version 1.81.136. */ public readonly haType!: pulumi.Output; /** @@ -120,7 +122,7 @@ export class Instance extends pulumi.CustomResource { /** * Indicate whether to deploy across availability zones. */ - public readonly multiZones!: pulumi.Output; + public readonly multiZones!: pulumi.Output; /** * Name of the SQL Server instance. */ @@ -288,7 +290,9 @@ export interface InstanceState { */ engineVersion?: pulumi.Input; /** - * Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. + * It has been deprecated from version 1.81.136. Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. + * + * @deprecated It has been deprecated from version 1.81.136. */ haType?: pulumi.Input; /** @@ -396,7 +400,9 @@ export interface InstanceArgs { */ engineVersion?: pulumi.Input; /** - * Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. + * It has been deprecated from version 1.81.136. Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. + * + * @deprecated It has been deprecated from version 1.81.136. */ haType?: pulumi.Input; /** diff --git a/sdk/nodejs/ssl/checkCertificateDomainVerificationOperation.ts b/sdk/nodejs/ssl/checkCertificateDomainVerificationOperation.ts new file mode 100644 index 000000000..9b4fd469b --- /dev/null +++ b/sdk/nodejs/ssl/checkCertificateDomainVerificationOperation.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"; + +/** + * Provides a resource to create a ssl Check Certificate Domain Verification + * + * > **NOTE:** You can customize the maximum timeout time by setting parameter `timeouts`, which defaults to 15 minutes. + * + * ## Example Usage + * + * ### Check certificate domain + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const example = new tencentcloud.ssl.CheckCertificateDomainVerificationOperation("example", {certificateId: "6BE701Jx"}); + * ``` + * + * + * ### Check certificate domain and set the maximum timeout period + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const example = new tencentcloud.ssl.CheckCertificateDomainVerificationOperation("example", {certificateId: "6BE701Jx"}); + * ``` + * + */ +export class CheckCertificateDomainVerificationOperation extends pulumi.CustomResource { + /** + * Get an existing CheckCertificateDomainVerificationOperation 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?: CheckCertificateDomainVerificationOperationState, opts?: pulumi.CustomResourceOptions): CheckCertificateDomainVerificationOperation { + return new CheckCertificateDomainVerificationOperation(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Ssl/checkCertificateDomainVerificationOperation:CheckCertificateDomainVerificationOperation'; + + /** + * Returns true if the given object is an instance of CheckCertificateDomainVerificationOperation. 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 CheckCertificateDomainVerificationOperation { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === CheckCertificateDomainVerificationOperation.__pulumiType; + } + + /** + * The certificate ID. + */ + public readonly certificateId!: pulumi.Output; + /** + * Domain name verification results. + */ + public /*out*/ readonly verificationResults!: pulumi.Output; + + /** + * Create a CheckCertificateDomainVerificationOperation 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: CheckCertificateDomainVerificationOperationArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: CheckCertificateDomainVerificationOperationArgs | CheckCertificateDomainVerificationOperationState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as CheckCertificateDomainVerificationOperationState | undefined; + resourceInputs["certificateId"] = state ? state.certificateId : undefined; + resourceInputs["verificationResults"] = state ? state.verificationResults : undefined; + } else { + const args = argsOrState as CheckCertificateDomainVerificationOperationArgs | undefined; + if ((!args || args.certificateId === undefined) && !opts.urn) { + throw new Error("Missing required property 'certificateId'"); + } + resourceInputs["certificateId"] = args ? args.certificateId : undefined; + resourceInputs["verificationResults"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(CheckCertificateDomainVerificationOperation.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering CheckCertificateDomainVerificationOperation resources. + */ +export interface CheckCertificateDomainVerificationOperationState { + /** + * The certificate ID. + */ + certificateId?: pulumi.Input; + /** + * Domain name verification results. + */ + verificationResults?: pulumi.Input[]>; +} + +/** + * The set of arguments for constructing a CheckCertificateDomainVerificationOperation resource. + */ +export interface CheckCertificateDomainVerificationOperationArgs { + /** + * The certificate ID. + */ + certificateId: pulumi.Input; +} diff --git a/sdk/nodejs/ssl/index.ts b/sdk/nodejs/ssl/index.ts index 95a9ec36a..29562cc28 100644 --- a/sdk/nodejs/ssl/index.ts +++ b/sdk/nodejs/ssl/index.ts @@ -15,6 +15,11 @@ export type CheckCertificateChainOperation = import("./checkCertificateChainOper export const CheckCertificateChainOperation: typeof import("./checkCertificateChainOperation").CheckCertificateChainOperation = null as any; utilities.lazyLoad(exports, ["CheckCertificateChainOperation"], () => require("./checkCertificateChainOperation")); +export { CheckCertificateDomainVerificationOperationArgs, CheckCertificateDomainVerificationOperationState } from "./checkCertificateDomainVerificationOperation"; +export type CheckCertificateDomainVerificationOperation = import("./checkCertificateDomainVerificationOperation").CheckCertificateDomainVerificationOperation; +export const CheckCertificateDomainVerificationOperation: typeof import("./checkCertificateDomainVerificationOperation").CheckCertificateDomainVerificationOperation = null as any; +utilities.lazyLoad(exports, ["CheckCertificateDomainVerificationOperation"], () => require("./checkCertificateDomainVerificationOperation")); + export { CompleteCertificateOperationArgs, CompleteCertificateOperationState } from "./completeCertificateOperation"; export type CompleteCertificateOperation = import("./completeCertificateOperation").CompleteCertificateOperation; export const CompleteCertificateOperation: typeof import("./completeCertificateOperation").CompleteCertificateOperation = null as any; @@ -189,6 +194,8 @@ const _module = { return new Certificate(name, undefined, { urn }) case "tencentcloud:Ssl/checkCertificateChainOperation:CheckCertificateChainOperation": return new CheckCertificateChainOperation(name, undefined, { urn }) + case "tencentcloud:Ssl/checkCertificateDomainVerificationOperation:CheckCertificateDomainVerificationOperation": + return new CheckCertificateDomainVerificationOperation(name, undefined, { urn }) case "tencentcloud:Ssl/completeCertificateOperation:CompleteCertificateOperation": return new CompleteCertificateOperation(name, undefined, { urn }) case "tencentcloud:Ssl/deployCertificateInstanceOperation:DeployCertificateInstanceOperation": @@ -222,6 +229,7 @@ const _module = { }; pulumi.runtime.registerResourceModule("tencentcloud", "Ssl/certificate", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Ssl/checkCertificateChainOperation", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Ssl/checkCertificateDomainVerificationOperation", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Ssl/completeCertificateOperation", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Ssl/deployCertificateInstanceOperation", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Ssl/deployCertificateRecordRetryOperation", _module) 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/subscribe/index.ts b/sdk/nodejs/subscribe/index.ts new file mode 100644 index 000000000..90cb653f4 --- /dev/null +++ b/sdk/nodejs/subscribe/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 { PrivateZoneServiceArgs, PrivateZoneServiceState } from "./privateZoneService"; +export type PrivateZoneService = import("./privateZoneService").PrivateZoneService; +export const PrivateZoneService: typeof import("./privateZoneService").PrivateZoneService = null as any; +utilities.lazyLoad(exports, ["PrivateZoneService"], () => require("./privateZoneService")); + + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "tencentcloud:Subscribe/privateZoneService:PrivateZoneService": + return new PrivateZoneService(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("tencentcloud", "Subscribe/privateZoneService", _module) diff --git a/sdk/nodejs/subscribe/privateZoneService.ts b/sdk/nodejs/subscribe/privateZoneService.ts new file mode 100644 index 000000000..8ffb70ec5 --- /dev/null +++ b/sdk/nodejs/subscribe/privateZoneService.ts @@ -0,0 +1,91 @@ +// *** WARNING: this file 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 privatedns subscribe private zone service + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const example = new tencentcloud.subscribe.PrivateZoneService("example", {}); + * ``` + * + */ +export class PrivateZoneService extends pulumi.CustomResource { + /** + * Get an existing PrivateZoneService 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?: PrivateZoneServiceState, opts?: pulumi.CustomResourceOptions): PrivateZoneService { + return new PrivateZoneService(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Subscribe/privateZoneService:PrivateZoneService'; + + /** + * Returns true if the given object is an instance of PrivateZoneService. 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 PrivateZoneService { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === PrivateZoneService.__pulumiType; + } + + /** + * Private domain resolution service activation status. + */ + public /*out*/ readonly serviceStatus!: pulumi.Output; + + /** + * Create a PrivateZoneService 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?: PrivateZoneServiceArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: PrivateZoneServiceArgs | PrivateZoneServiceState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as PrivateZoneServiceState | undefined; + resourceInputs["serviceStatus"] = state ? state.serviceStatus : undefined; + } else { + const args = argsOrState as PrivateZoneServiceArgs | undefined; + resourceInputs["serviceStatus"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(PrivateZoneService.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering PrivateZoneService resources. + */ +export interface PrivateZoneServiceState { + /** + * Private domain resolution service activation status. + */ + serviceStatus?: pulumi.Input; +} + +/** + * The set of arguments for constructing a PrivateZoneService resource. + */ +export interface PrivateZoneServiceArgs { +} diff --git a/sdk/nodejs/tcr/tagRetentionRule.ts b/sdk/nodejs/tcr/tagRetentionRule.ts index 9a04fea43..233fa191b 100644 --- a/sdk/nodejs/tcr/tagRetentionRule.ts +++ b/sdk/nodejs/tcr/tagRetentionRule.ts @@ -11,7 +11,7 @@ import * as utilities from "../utilities"; * * ## Example Usage * - * ### Create a tcr tag retention rule instance + * ### Create and enable a tcr tag retention rule instance * * * ```typescript @@ -43,7 +43,6 @@ import * as utilities from "../utilities"; * value: 2, * }, * cronSetting: "daily", - * disabled: true, * }); * ``` * diff --git a/sdk/nodejs/tcss/imageRegistry.ts b/sdk/nodejs/tcss/imageRegistry.ts new file mode 100644 index 000000000..db7f3ad89 --- /dev/null +++ b/sdk/nodejs/tcss/imageRegistry.ts @@ -0,0 +1,291 @@ +// *** WARNING: this file 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 tcss image registry + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const example = new tencentcloud.tcss.ImageRegistry("example", { + * connDetectConfigs: [{ + * quuid: "backend", + * uuid: "backend", + * }], + * needScan: true, + * netType: "public", + * password: "Password@demo", + * registryRegion: "default", + * registryType: "harbor", + * registryVersion: "V1", + * url: "https://example.com", + * username: "root", + * }); + * ``` + * + */ +export class ImageRegistry extends pulumi.CustomResource { + /** + * Get an existing ImageRegistry 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?: ImageRegistryState, opts?: pulumi.CustomResourceOptions): ImageRegistry { + return new ImageRegistry(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Tcss/imageRegistry:ImageRegistry'; + + /** + * Returns true if the given object is an instance of ImageRegistry. 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 ImageRegistry { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ImageRegistry.__pulumiType; + } + + /** + * Connectivity detection configuration. + */ + public readonly connDetectConfigs!: pulumi.Output; + /** + * Valid values: `0` (secure mode with certificate verification, which is the default value); `1` (unsecure mode that skips certificate verification). + */ + public readonly insecure!: pulumi.Output; + /** + * Repository name. + */ + public readonly name!: pulumi.Output; + /** + * Whether to scan the latest image. + */ + public readonly needScan!: pulumi.Output; + /** + * Network type, which can be `public` (public network). + */ + public readonly netType!: pulumi.Output; + /** + * Password. + */ + public readonly password!: pulumi.Output; + /** + * Region. Default value: `default`. + */ + public readonly registryRegion!: pulumi.Output; + /** + * Repository type, which can be `harbor`. Valid values: harbor, quay, jfrog, aws, azure, other-tcr. + */ + public readonly registryType!: pulumi.Output; + /** + * Repository version. + */ + public readonly registryVersion!: pulumi.Output; + /** + * Speed limit. + */ + public readonly speedLimit!: pulumi.Output; + /** + * Sync status. + */ + public /*out*/ readonly syncStatus!: pulumi.Output; + /** + * Repository URL. + */ + public readonly url!: pulumi.Output; + /** + * Username. + */ + public readonly username!: pulumi.Output; + + /** + * Create a ImageRegistry 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: ImageRegistryArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ImageRegistryArgs | ImageRegistryState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as ImageRegistryState | undefined; + resourceInputs["connDetectConfigs"] = state ? state.connDetectConfigs : undefined; + resourceInputs["insecure"] = state ? state.insecure : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["needScan"] = state ? state.needScan : undefined; + resourceInputs["netType"] = state ? state.netType : undefined; + resourceInputs["password"] = state ? state.password : undefined; + resourceInputs["registryRegion"] = state ? state.registryRegion : undefined; + resourceInputs["registryType"] = state ? state.registryType : undefined; + resourceInputs["registryVersion"] = state ? state.registryVersion : undefined; + resourceInputs["speedLimit"] = state ? state.speedLimit : undefined; + resourceInputs["syncStatus"] = state ? state.syncStatus : undefined; + resourceInputs["url"] = state ? state.url : undefined; + resourceInputs["username"] = state ? state.username : undefined; + } else { + const args = argsOrState as ImageRegistryArgs | undefined; + if ((!args || args.netType === undefined) && !opts.urn) { + throw new Error("Missing required property 'netType'"); + } + if ((!args || args.password === undefined) && !opts.urn) { + throw new Error("Missing required property 'password'"); + } + if ((!args || args.registryType === undefined) && !opts.urn) { + throw new Error("Missing required property 'registryType'"); + } + if ((!args || args.url === undefined) && !opts.urn) { + throw new Error("Missing required property 'url'"); + } + if ((!args || args.username === undefined) && !opts.urn) { + throw new Error("Missing required property 'username'"); + } + resourceInputs["connDetectConfigs"] = args ? args.connDetectConfigs : undefined; + resourceInputs["insecure"] = args ? args.insecure : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["needScan"] = args ? args.needScan : undefined; + resourceInputs["netType"] = args ? args.netType : undefined; + resourceInputs["password"] = args?.password ? pulumi.secret(args.password) : undefined; + resourceInputs["registryRegion"] = args ? args.registryRegion : undefined; + resourceInputs["registryType"] = args ? args.registryType : undefined; + resourceInputs["registryVersion"] = args ? args.registryVersion : undefined; + resourceInputs["speedLimit"] = args ? args.speedLimit : undefined; + resourceInputs["url"] = args ? args.url : undefined; + resourceInputs["username"] = args ? args.username : undefined; + resourceInputs["syncStatus"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["password"] }; + opts = pulumi.mergeOptions(opts, secretOpts); + super(ImageRegistry.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering ImageRegistry resources. + */ +export interface ImageRegistryState { + /** + * Connectivity detection configuration. + */ + connDetectConfigs?: pulumi.Input[]>; + /** + * Valid values: `0` (secure mode with certificate verification, which is the default value); `1` (unsecure mode that skips certificate verification). + */ + insecure?: pulumi.Input; + /** + * Repository name. + */ + name?: pulumi.Input; + /** + * Whether to scan the latest image. + */ + needScan?: pulumi.Input; + /** + * Network type, which can be `public` (public network). + */ + netType?: pulumi.Input; + /** + * Password. + */ + password?: pulumi.Input; + /** + * Region. Default value: `default`. + */ + registryRegion?: pulumi.Input; + /** + * Repository type, which can be `harbor`. Valid values: harbor, quay, jfrog, aws, azure, other-tcr. + */ + registryType?: pulumi.Input; + /** + * Repository version. + */ + registryVersion?: pulumi.Input; + /** + * Speed limit. + */ + speedLimit?: pulumi.Input; + /** + * Sync status. + */ + syncStatus?: pulumi.Input; + /** + * Repository URL. + */ + url?: pulumi.Input; + /** + * Username. + */ + username?: pulumi.Input; +} + +/** + * The set of arguments for constructing a ImageRegistry resource. + */ +export interface ImageRegistryArgs { + /** + * Connectivity detection configuration. + */ + connDetectConfigs?: pulumi.Input[]>; + /** + * Valid values: `0` (secure mode with certificate verification, which is the default value); `1` (unsecure mode that skips certificate verification). + */ + insecure?: pulumi.Input; + /** + * Repository name. + */ + name?: pulumi.Input; + /** + * Whether to scan the latest image. + */ + needScan?: pulumi.Input; + /** + * Network type, which can be `public` (public network). + */ + netType: pulumi.Input; + /** + * Password. + */ + password: pulumi.Input; + /** + * Region. Default value: `default`. + */ + registryRegion?: pulumi.Input; + /** + * Repository type, which can be `harbor`. Valid values: harbor, quay, jfrog, aws, azure, other-tcr. + */ + registryType: pulumi.Input; + /** + * Repository version. + */ + registryVersion?: pulumi.Input; + /** + * Speed limit. + */ + speedLimit?: pulumi.Input; + /** + * Repository URL. + */ + url: pulumi.Input; + /** + * Username. + */ + username: pulumi.Input; +} diff --git a/sdk/nodejs/tcss/index.ts b/sdk/nodejs/tcss/index.ts new file mode 100644 index 000000000..cb2273fec --- /dev/null +++ b/sdk/nodejs/tcss/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 { ImageRegistryArgs, ImageRegistryState } from "./imageRegistry"; +export type ImageRegistry = import("./imageRegistry").ImageRegistry; +export const ImageRegistry: typeof import("./imageRegistry").ImageRegistry = null as any; +utilities.lazyLoad(exports, ["ImageRegistry"], () => require("./imageRegistry")); + + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "tencentcloud:Tcss/imageRegistry:ImageRegistry": + return new ImageRegistry(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("tencentcloud", "Tcss/imageRegistry", _module) 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/teo/function.ts b/sdk/nodejs/teo/function.ts new file mode 100644 index 000000000..8f00ce81e --- /dev/null +++ b/sdk/nodejs/teo/function.ts @@ -0,0 +1,200 @@ +// *** WARNING: this file 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 teo teoFunction + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const teoFunction = new tencentcloud.teo.Function("teoFunction", { + * content: ` addEventListener('fetch', e => { + * const response = new Response('Hello World!!'); + * e.respondWith(response); + * }); + * + * `, + * remark: "test", + * zoneId: "zone-2qtuhspy7cr6", + * }); + * ``` + * + * + * ## Import + * + * teo teo_function can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Teo/function:Function teo_function zone_id#function_id + * ``` + */ +export class Function extends pulumi.CustomResource { + /** + * Get an existing Function 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?: FunctionState, opts?: pulumi.CustomResourceOptions): Function { + return new Function(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Teo/function:Function'; + + /** + * Returns true if the given object is an instance of Function. 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 Function { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Function.__pulumiType; + } + + /** + * Function content, currently only supports JavaScript code, with a maximum size of 5MB. + */ + public readonly content!: pulumi.Output; + /** + * Creation time. The time is in Coordinated Universal Time (UTC) and follows the date and time format specified by the ISO 8601 standard. + */ + public /*out*/ readonly createTime!: pulumi.Output; + /** + * The default domain name for the function. + */ + public /*out*/ readonly domain!: pulumi.Output; + /** + * ID of the Function. + */ + public /*out*/ readonly functionId!: pulumi.Output; + /** + * Function name. It can only contain lowercase letters, numbers, hyphens, must start and end with a letter or number, and can have a maximum length of 30 characters. + */ + public readonly name!: pulumi.Output; + /** + * Function description, maximum support of 60 characters. + */ + public readonly remark!: pulumi.Output; + /** + * Modification time. The time is in Coordinated Universal Time (UTC) and follows the date and time format specified by the ISO 8601 standard. + */ + public /*out*/ readonly updateTime!: pulumi.Output; + /** + * ID of the site. + */ + public readonly zoneId!: pulumi.Output; + + /** + * Create a Function 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: FunctionArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: FunctionArgs | FunctionState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as FunctionState | undefined; + resourceInputs["content"] = state ? state.content : undefined; + resourceInputs["createTime"] = state ? state.createTime : undefined; + resourceInputs["domain"] = state ? state.domain : undefined; + resourceInputs["functionId"] = state ? state.functionId : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["remark"] = state ? state.remark : undefined; + resourceInputs["updateTime"] = state ? state.updateTime : undefined; + resourceInputs["zoneId"] = state ? state.zoneId : undefined; + } else { + const args = argsOrState as FunctionArgs | undefined; + if ((!args || args.content === undefined) && !opts.urn) { + throw new Error("Missing required property 'content'"); + } + if ((!args || args.zoneId === undefined) && !opts.urn) { + throw new Error("Missing required property 'zoneId'"); + } + resourceInputs["content"] = args ? args.content : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["remark"] = args ? args.remark : undefined; + resourceInputs["zoneId"] = args ? args.zoneId : undefined; + resourceInputs["createTime"] = undefined /*out*/; + resourceInputs["domain"] = undefined /*out*/; + resourceInputs["functionId"] = undefined /*out*/; + resourceInputs["updateTime"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Function.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Function resources. + */ +export interface FunctionState { + /** + * Function content, currently only supports JavaScript code, with a maximum size of 5MB. + */ + content?: pulumi.Input; + /** + * Creation time. The time is in Coordinated Universal Time (UTC) and follows the date and time format specified by the ISO 8601 standard. + */ + createTime?: pulumi.Input; + /** + * The default domain name for the function. + */ + domain?: pulumi.Input; + /** + * ID of the Function. + */ + functionId?: pulumi.Input; + /** + * Function name. It can only contain lowercase letters, numbers, hyphens, must start and end with a letter or number, and can have a maximum length of 30 characters. + */ + name?: pulumi.Input; + /** + * Function description, maximum support of 60 characters. + */ + remark?: pulumi.Input; + /** + * Modification time. The time is in Coordinated Universal Time (UTC) and follows the date and time format specified by the ISO 8601 standard. + */ + updateTime?: pulumi.Input; + /** + * ID of the site. + */ + zoneId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Function resource. + */ +export interface FunctionArgs { + /** + * Function content, currently only supports JavaScript code, with a maximum size of 5MB. + */ + content: pulumi.Input; + /** + * Function name. It can only contain lowercase letters, numbers, hyphens, must start and end with a letter or number, and can have a maximum length of 30 characters. + */ + name?: pulumi.Input; + /** + * Function description, maximum support of 60 characters. + */ + remark?: pulumi.Input; + /** + * ID of the site. + */ + zoneId: pulumi.Input; +} diff --git a/sdk/nodejs/teo/functionRule.ts b/sdk/nodejs/teo/functionRule.ts new file mode 100644 index 000000000..8cb832424 --- /dev/null +++ b/sdk/nodejs/teo/functionRule.ts @@ -0,0 +1,228 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as utilities from "../utilities"; + +/** + * Provides a resource to create a teo teoFunctionRule + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const teoFunctionRule = new tencentcloud.teo.FunctionRule("teoFunctionRule", { + * functionId: "ef-txx7fnua", + * remark: "aaa", + * zoneId: "zone-2qtuhspy7cr6", + * functionRuleConditions: [ + * { + * ruleConditions: [ + * { + * ignoreCase: false, + * name: undefined, + * operator: "equal", + * target: "host", + * values: ["aaa.makn.cn"], + * }, + * { + * ignoreCase: false, + * name: undefined, + * operator: "equal", + * target: "extension", + * values: [".txt"], + * }, + * ], + * }, + * { + * ruleConditions: [ + * { + * ignoreCase: false, + * name: undefined, + * operator: "notequal", + * target: "host", + * values: ["aaa.makn.cn"], + * }, + * { + * ignoreCase: false, + * name: undefined, + * operator: "equal", + * target: "extension", + * values: [".png"], + * }, + * ], + * }, + * ], + * }); + * ``` + * + * + * ## Import + * + * teo teo_function_rule can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Teo/functionRule:FunctionRule teo_function_rule zone_id#function_id#rule_id + * ``` + */ +export class FunctionRule extends pulumi.CustomResource { + /** + * Get an existing FunctionRule 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?: FunctionRuleState, opts?: pulumi.CustomResourceOptions): FunctionRule { + return new FunctionRule(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Teo/functionRule:FunctionRule'; + + /** + * Returns true if the given object is an instance of FunctionRule. 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 FunctionRule { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === FunctionRule.__pulumiType; + } + + /** + * ID of the Function. + */ + public readonly functionId!: pulumi.Output; + /** + * The name of the function. + */ + public /*out*/ readonly functionName!: pulumi.Output; + /** + * The list of rule conditions, where the conditions are connected by an "OR" relationship. + */ + public readonly functionRuleConditions!: pulumi.Output; + /** + * The priority of the function trigger rule. A higher numerical value indicates a higher priority. + */ + public /*out*/ readonly priority!: pulumi.Output; + /** + * Rule description, maximum support of 60 characters. + */ + public readonly remark!: pulumi.Output; + /** + * ID of the Function Rule. + */ + public /*out*/ readonly ruleId!: pulumi.Output; + /** + * ID of the site. + */ + public readonly zoneId!: pulumi.Output; + + /** + * Create a FunctionRule 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: FunctionRuleArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: FunctionRuleArgs | FunctionRuleState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as FunctionRuleState | undefined; + resourceInputs["functionId"] = state ? state.functionId : undefined; + resourceInputs["functionName"] = state ? state.functionName : undefined; + resourceInputs["functionRuleConditions"] = state ? state.functionRuleConditions : undefined; + resourceInputs["priority"] = state ? state.priority : undefined; + resourceInputs["remark"] = state ? state.remark : undefined; + resourceInputs["ruleId"] = state ? state.ruleId : undefined; + resourceInputs["zoneId"] = state ? state.zoneId : undefined; + } else { + const args = argsOrState as FunctionRuleArgs | undefined; + if ((!args || args.functionId === undefined) && !opts.urn) { + throw new Error("Missing required property 'functionId'"); + } + if ((!args || args.functionRuleConditions === undefined) && !opts.urn) { + throw new Error("Missing required property 'functionRuleConditions'"); + } + if ((!args || args.zoneId === undefined) && !opts.urn) { + throw new Error("Missing required property 'zoneId'"); + } + resourceInputs["functionId"] = args ? args.functionId : undefined; + resourceInputs["functionRuleConditions"] = args ? args.functionRuleConditions : undefined; + resourceInputs["remark"] = args ? args.remark : undefined; + resourceInputs["zoneId"] = args ? args.zoneId : undefined; + resourceInputs["functionName"] = undefined /*out*/; + resourceInputs["priority"] = undefined /*out*/; + resourceInputs["ruleId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(FunctionRule.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering FunctionRule resources. + */ +export interface FunctionRuleState { + /** + * ID of the Function. + */ + functionId?: pulumi.Input; + /** + * The name of the function. + */ + functionName?: pulumi.Input; + /** + * The list of rule conditions, where the conditions are connected by an "OR" relationship. + */ + functionRuleConditions?: pulumi.Input[]>; + /** + * The priority of the function trigger rule. A higher numerical value indicates a higher priority. + */ + priority?: pulumi.Input; + /** + * Rule description, maximum support of 60 characters. + */ + remark?: pulumi.Input; + /** + * ID of the Function Rule. + */ + ruleId?: pulumi.Input; + /** + * ID of the site. + */ + zoneId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a FunctionRule resource. + */ +export interface FunctionRuleArgs { + /** + * ID of the Function. + */ + functionId: pulumi.Input; + /** + * The list of rule conditions, where the conditions are connected by an "OR" relationship. + */ + functionRuleConditions: pulumi.Input[]>; + /** + * Rule description, maximum support of 60 characters. + */ + remark?: pulumi.Input; + /** + * ID of the site. + */ + zoneId: pulumi.Input; +} diff --git a/sdk/nodejs/teo/functionRulePriority.ts b/sdk/nodejs/teo/functionRulePriority.ts new file mode 100644 index 000000000..a9d634a3a --- /dev/null +++ b/sdk/nodejs/teo/functionRulePriority.ts @@ -0,0 +1,147 @@ +// *** WARNING: this file 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 teo teoFunctionRulePriority + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const teoFunctionRulePriority = new tencentcloud.teo.FunctionRulePriority("teoFunctionRulePriority", { + * functionId: "ef-txx7fnua", + * ruleIds: [ + * "rule-equpbht3", + * "rule-ax28n3g6", + * ], + * zoneId: "zone-2qtuhspy7cr6", + * }); + * ``` + * + * + * ## Import + * + * teo teo_function_rule_priority can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Teo/functionRulePriority:FunctionRulePriority teo_function_rule_priority zone_id#function_id + * ``` + */ +export class FunctionRulePriority extends pulumi.CustomResource { + /** + * Get an existing FunctionRulePriority 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?: FunctionRulePriorityState, opts?: pulumi.CustomResourceOptions): FunctionRulePriority { + return new FunctionRulePriority(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Teo/functionRulePriority:FunctionRulePriority'; + + /** + * Returns true if the given object is an instance of FunctionRulePriority. 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 FunctionRulePriority { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === FunctionRulePriority.__pulumiType; + } + + /** + * ID of the Function. + */ + public readonly functionId!: pulumi.Output; + /** + * he list of rule IDs. It is required to include all rule IDs after adjusting their priorities. The execution order of multiple rules follows a top-down sequence. If not specified, the original priority order will be maintained. + */ + public readonly ruleIds!: pulumi.Output; + /** + * ID of the site. + */ + public readonly zoneId!: pulumi.Output; + + /** + * Create a FunctionRulePriority 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: FunctionRulePriorityArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: FunctionRulePriorityArgs | FunctionRulePriorityState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as FunctionRulePriorityState | undefined; + resourceInputs["functionId"] = state ? state.functionId : undefined; + resourceInputs["ruleIds"] = state ? state.ruleIds : undefined; + resourceInputs["zoneId"] = state ? state.zoneId : undefined; + } else { + const args = argsOrState as FunctionRulePriorityArgs | undefined; + if ((!args || args.functionId === undefined) && !opts.urn) { + throw new Error("Missing required property 'functionId'"); + } + if ((!args || args.ruleIds === undefined) && !opts.urn) { + throw new Error("Missing required property 'ruleIds'"); + } + if ((!args || args.zoneId === undefined) && !opts.urn) { + throw new Error("Missing required property 'zoneId'"); + } + resourceInputs["functionId"] = args ? args.functionId : undefined; + resourceInputs["ruleIds"] = args ? args.ruleIds : undefined; + resourceInputs["zoneId"] = args ? args.zoneId : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(FunctionRulePriority.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering FunctionRulePriority resources. + */ +export interface FunctionRulePriorityState { + /** + * ID of the Function. + */ + functionId?: pulumi.Input; + /** + * he list of rule IDs. It is required to include all rule IDs after adjusting their priorities. The execution order of multiple rules follows a top-down sequence. If not specified, the original priority order will be maintained. + */ + ruleIds?: pulumi.Input[]>; + /** + * ID of the site. + */ + zoneId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a FunctionRulePriority resource. + */ +export interface FunctionRulePriorityArgs { + /** + * ID of the Function. + */ + functionId: pulumi.Input; + /** + * he list of rule IDs. It is required to include all rule IDs after adjusting their priorities. The execution order of multiple rules follows a top-down sequence. If not specified, the original priority order will be maintained. + */ + ruleIds: pulumi.Input[]>; + /** + * ID of the site. + */ + zoneId: pulumi.Input; +} diff --git a/sdk/nodejs/teo/functionRuntimeEnvironment.ts b/sdk/nodejs/teo/functionRuntimeEnvironment.ts new file mode 100644 index 000000000..5911aab33 --- /dev/null +++ b/sdk/nodejs/teo/functionRuntimeEnvironment.ts @@ -0,0 +1,157 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as utilities from "../utilities"; + +/** + * Provides a resource to create a teo teoFunctionRuntimeEnvironment + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const teoFunctionRuntimeEnvironment = new tencentcloud.teo.FunctionRuntimeEnvironment("teoFunctionRuntimeEnvironment", { + * environmentVariables: [ + * { + * key: "test-a", + * type: "string", + * value: "AAA", + * }, + * { + * key: "test-b", + * type: "string", + * value: "BBB", + * }, + * ], + * functionId: "ef-txx7fnua", + * zoneId: "zone-2qtuhspy7cr6", + * }); + * ``` + * + * + * ## Import + * + * teo teo_function_runtime_environment can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Teo/functionRuntimeEnvironment:FunctionRuntimeEnvironment teo_function_runtime_environment zone_id#function_id + * ``` + */ +export class FunctionRuntimeEnvironment extends pulumi.CustomResource { + /** + * Get an existing FunctionRuntimeEnvironment 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?: FunctionRuntimeEnvironmentState, opts?: pulumi.CustomResourceOptions): FunctionRuntimeEnvironment { + return new FunctionRuntimeEnvironment(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Teo/functionRuntimeEnvironment:FunctionRuntimeEnvironment'; + + /** + * Returns true if the given object is an instance of FunctionRuntimeEnvironment. 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 FunctionRuntimeEnvironment { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === FunctionRuntimeEnvironment.__pulumiType; + } + + /** + * The environment variable list. + */ + public readonly environmentVariables!: pulumi.Output; + /** + * ID of the Function. + */ + public readonly functionId!: pulumi.Output; + /** + * ID of the site. + */ + public readonly zoneId!: pulumi.Output; + + /** + * Create a FunctionRuntimeEnvironment 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: FunctionRuntimeEnvironmentArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: FunctionRuntimeEnvironmentArgs | FunctionRuntimeEnvironmentState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as FunctionRuntimeEnvironmentState | undefined; + resourceInputs["environmentVariables"] = state ? state.environmentVariables : undefined; + resourceInputs["functionId"] = state ? state.functionId : undefined; + resourceInputs["zoneId"] = state ? state.zoneId : undefined; + } else { + const args = argsOrState as FunctionRuntimeEnvironmentArgs | undefined; + if ((!args || args.environmentVariables === undefined) && !opts.urn) { + throw new Error("Missing required property 'environmentVariables'"); + } + if ((!args || args.functionId === undefined) && !opts.urn) { + throw new Error("Missing required property 'functionId'"); + } + if ((!args || args.zoneId === undefined) && !opts.urn) { + throw new Error("Missing required property 'zoneId'"); + } + resourceInputs["environmentVariables"] = args ? args.environmentVariables : undefined; + resourceInputs["functionId"] = args ? args.functionId : undefined; + resourceInputs["zoneId"] = args ? args.zoneId : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(FunctionRuntimeEnvironment.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering FunctionRuntimeEnvironment resources. + */ +export interface FunctionRuntimeEnvironmentState { + /** + * The environment variable list. + */ + environmentVariables?: pulumi.Input[]>; + /** + * ID of the Function. + */ + functionId?: pulumi.Input; + /** + * ID of the site. + */ + zoneId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a FunctionRuntimeEnvironment resource. + */ +export interface FunctionRuntimeEnvironmentArgs { + /** + * The environment variable list. + */ + environmentVariables: pulumi.Input[]>; + /** + * ID of the Function. + */ + functionId: pulumi.Input; + /** + * ID of the site. + */ + zoneId: pulumi.Input; +} diff --git a/sdk/nodejs/teo/index.ts b/sdk/nodejs/teo/index.ts index 6099c770f..ead43a78d 100644 --- a/sdk/nodejs/teo/index.ts +++ b/sdk/nodejs/teo/index.ts @@ -25,6 +25,26 @@ export type CertificateConfig = import("./certificateConfig").CertificateConfig; export const CertificateConfig: typeof import("./certificateConfig").CertificateConfig = null as any; utilities.lazyLoad(exports, ["CertificateConfig"], () => require("./certificateConfig")); +export { FunctionArgs, FunctionState } from "./function"; +export type Function = import("./function").Function; +export const Function: typeof import("./function").Function = null as any; +utilities.lazyLoad(exports, ["Function"], () => require("./function")); + +export { FunctionRuleArgs, FunctionRuleState } from "./functionRule"; +export type FunctionRule = import("./functionRule").FunctionRule; +export const FunctionRule: typeof import("./functionRule").FunctionRule = null as any; +utilities.lazyLoad(exports, ["FunctionRule"], () => require("./functionRule")); + +export { FunctionRulePriorityArgs, FunctionRulePriorityState } from "./functionRulePriority"; +export type FunctionRulePriority = import("./functionRulePriority").FunctionRulePriority; +export const FunctionRulePriority: typeof import("./functionRulePriority").FunctionRulePriority = null as any; +utilities.lazyLoad(exports, ["FunctionRulePriority"], () => require("./functionRulePriority")); + +export { FunctionRuntimeEnvironmentArgs, FunctionRuntimeEnvironmentState } from "./functionRuntimeEnvironment"; +export type FunctionRuntimeEnvironment = import("./functionRuntimeEnvironment").FunctionRuntimeEnvironment; +export const FunctionRuntimeEnvironment: typeof import("./functionRuntimeEnvironment").FunctionRuntimeEnvironment = null as any; +utilities.lazyLoad(exports, ["FunctionRuntimeEnvironment"], () => require("./functionRuntimeEnvironment")); + export { GetRuleEngineSettingsArgs, GetRuleEngineSettingsResult, GetRuleEngineSettingsOutputArgs } from "./getRuleEngineSettings"; export const getRuleEngineSettings: typeof import("./getRuleEngineSettings").getRuleEngineSettings = null as any; export const getRuleEngineSettingsOutput: typeof import("./getRuleEngineSettings").getRuleEngineSettingsOutput = null as any; @@ -60,6 +80,11 @@ export type RuleEngine = import("./ruleEngine").RuleEngine; export const RuleEngine: typeof import("./ruleEngine").RuleEngine = null as any; utilities.lazyLoad(exports, ["RuleEngine"], () => require("./ruleEngine")); +export { SecurityIpGroupArgs, SecurityIpGroupState } from "./securityIpGroup"; +export type SecurityIpGroup = import("./securityIpGroup").SecurityIpGroup; +export const SecurityIpGroup: typeof import("./securityIpGroup").SecurityIpGroup = null as any; +utilities.lazyLoad(exports, ["SecurityIpGroup"], () => require("./securityIpGroup")); + export { ZoneArgs, ZoneState } from "./zone"; export type Zone = import("./zone").Zone; export const Zone: typeof import("./zone").Zone = null as any; @@ -83,6 +108,14 @@ const _module = { return new ApplicationProxyRule(name, undefined, { urn }) case "tencentcloud:Teo/certificateConfig:CertificateConfig": return new CertificateConfig(name, undefined, { urn }) + case "tencentcloud:Teo/function:Function": + return new Function(name, undefined, { urn }) + case "tencentcloud:Teo/functionRule:FunctionRule": + return new FunctionRule(name, undefined, { urn }) + case "tencentcloud:Teo/functionRulePriority:FunctionRulePriority": + return new FunctionRulePriority(name, undefined, { urn }) + case "tencentcloud:Teo/functionRuntimeEnvironment:FunctionRuntimeEnvironment": + return new FunctionRuntimeEnvironment(name, undefined, { urn }) case "tencentcloud:Teo/l4Proxy:L4Proxy": return new L4Proxy(name, undefined, { urn }) case "tencentcloud:Teo/originGroup:OriginGroup": @@ -93,6 +126,8 @@ const _module = { return new RealtimeLogDelivery(name, undefined, { urn }) case "tencentcloud:Teo/ruleEngine:RuleEngine": return new RuleEngine(name, undefined, { urn }) + case "tencentcloud:Teo/securityIpGroup:SecurityIpGroup": + return new SecurityIpGroup(name, undefined, { urn }) case "tencentcloud:Teo/zone:Zone": return new Zone(name, undefined, { urn }) case "tencentcloud:Teo/zoneSetting:ZoneSetting": @@ -106,10 +141,15 @@ pulumi.runtime.registerResourceModule("tencentcloud", "Teo/accelerationDomain", pulumi.runtime.registerResourceModule("tencentcloud", "Teo/applicationProxy", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Teo/applicationProxyRule", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Teo/certificateConfig", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Teo/function", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Teo/functionRule", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Teo/functionRulePriority", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Teo/functionRuntimeEnvironment", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Teo/l4Proxy", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Teo/originGroup", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Teo/ownershipVerify", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Teo/realtimeLogDelivery", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Teo/ruleEngine", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Teo/securityIpGroup", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Teo/zone", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Teo/zoneSetting", _module) diff --git a/sdk/nodejs/teo/ruleEngine.ts b/sdk/nodejs/teo/ruleEngine.ts index b9048013c..1efb3a963 100644 --- a/sdk/nodejs/teo/ruleEngine.ts +++ b/sdk/nodejs/teo/ruleEngine.ts @@ -165,6 +165,10 @@ export class RuleEngine extends pulumi.CustomResource { * The rule name (1 to 255 characters). */ public readonly ruleName!: pulumi.Output; + /** + * Rule priority, the larger the value, the higher the priority, the minimum is 1. + */ + public /*out*/ readonly rulePriority!: pulumi.Output; /** * Rule items list. */ @@ -197,6 +201,7 @@ export class RuleEngine extends pulumi.CustomResource { const state = argsOrState as RuleEngineState | undefined; resourceInputs["ruleId"] = state ? state.ruleId : undefined; resourceInputs["ruleName"] = state ? state.ruleName : undefined; + resourceInputs["rulePriority"] = state ? state.rulePriority : undefined; resourceInputs["rules"] = state ? state.rules : undefined; resourceInputs["status"] = state ? state.status : undefined; resourceInputs["tags"] = state ? state.tags : undefined; @@ -221,6 +226,7 @@ export class RuleEngine extends pulumi.CustomResource { resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["zoneId"] = args ? args.zoneId : undefined; resourceInputs["ruleId"] = undefined /*out*/; + resourceInputs["rulePriority"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(RuleEngine.__pulumiType, name, resourceInputs, opts); @@ -239,6 +245,10 @@ export interface RuleEngineState { * The rule name (1 to 255 characters). */ ruleName?: pulumi.Input; + /** + * Rule priority, the larger the value, the higher the priority, the minimum is 1. + */ + rulePriority?: pulumi.Input; /** * Rule items list. */ diff --git a/sdk/nodejs/teo/securityIpGroup.ts b/sdk/nodejs/teo/securityIpGroup.ts new file mode 100644 index 000000000..c64c0ade9 --- /dev/null +++ b/sdk/nodejs/teo/securityIpGroup.ts @@ -0,0 +1,103 @@ +// *** WARNING: this file 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"; + +export class SecurityIpGroup extends pulumi.CustomResource { + /** + * Get an existing SecurityIpGroup 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?: SecurityIpGroupState, opts?: pulumi.CustomResourceOptions): SecurityIpGroup { + return new SecurityIpGroup(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Teo/securityIpGroup:SecurityIpGroup'; + + /** + * Returns true if the given object is an instance of SecurityIpGroup. 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 SecurityIpGroup { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === SecurityIpGroup.__pulumiType; + } + + /** + * IP group information, replace all when modifying. + */ + public readonly ipGroup!: pulumi.Output; + /** + * Site ID. + */ + public readonly zoneId!: pulumi.Output; + + /** + * Create a SecurityIpGroup 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: SecurityIpGroupArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: SecurityIpGroupArgs | SecurityIpGroupState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as SecurityIpGroupState | undefined; + resourceInputs["ipGroup"] = state ? state.ipGroup : undefined; + resourceInputs["zoneId"] = state ? state.zoneId : undefined; + } else { + const args = argsOrState as SecurityIpGroupArgs | undefined; + if ((!args || args.ipGroup === undefined) && !opts.urn) { + throw new Error("Missing required property 'ipGroup'"); + } + if ((!args || args.zoneId === undefined) && !opts.urn) { + throw new Error("Missing required property 'zoneId'"); + } + resourceInputs["ipGroup"] = args ? args.ipGroup : undefined; + resourceInputs["zoneId"] = args ? args.zoneId : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(SecurityIpGroup.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering SecurityIpGroup resources. + */ +export interface SecurityIpGroupState { + /** + * IP group information, replace all when modifying. + */ + ipGroup?: pulumi.Input; + /** + * Site ID. + */ + zoneId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a SecurityIpGroup resource. + */ +export interface SecurityIpGroupArgs { + /** + * IP group information, replace all when modifying. + */ + ipGroup: pulumi.Input; + /** + * Site ID. + */ + zoneId: pulumi.Input; +} 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..a8dc834d7 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", @@ -135,10 +139,12 @@ "cam/getOidcConfig.ts", "cam/getPolicies.ts", "cam/getPolicyGrantingServiceAccess.ts", + "cam/getRoleDetail.ts", "cam/getRolePolicyAttachments.ts", "cam/getRoles.ts", "cam/getSamlProviders.ts", "cam/getSecretLastUsedTime.ts", + "cam/getSubAccounts.ts", "cam/getUserPolicyAttachments.ts", "cam/getUsers.ts", "cam/group.ts", @@ -191,13 +197,26 @@ "ccn/getCrossBorderFlowMonitor.ts", "ccn/getCrossBorderRegionBandwidthLimits.ts", "ccn/getInstances.ts", + "ccn/getRouteTableInputPolicies.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 +226,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", @@ -329,6 +352,7 @@ "clb/instanceMixIpTargetConfig.ts", "clb/instanceSlaConfig.ts", "clb/listener.ts", + "clb/listenerDefaultDomain.ts", "clb/listenerRule.ts", "clb/logSet.ts", "clb/logTopic.ts", @@ -366,6 +390,7 @@ "cls/cosShipper.ts", "cls/dataTransform.ts", "cls/export.ts", + "cls/getLogsets.ts", "cls/getMachineGroupConfigs.ts", "cls/getMachines.ts", "cls/getShipperTasks.ts", @@ -437,6 +462,7 @@ "css/timeshiftTemplate.ts", "css/watermark.ts", "css/watermarkRuleAttachment.ts", + "cvm/actionTimer.ts", "cvm/chcConfig.ts", "cvm/exportImages.ts", "cvm/getChcDeniedActions.ts", @@ -783,6 +809,8 @@ "eni/sgAttachment.ts", "enis/getInstance.ts", "enis/index.ts", + "events/auditTrack.ts", + "events/index.ts", "gaap/certificate.ts", "gaap/customHeader.ts", "gaap/domainErrorPage.ts", @@ -834,6 +862,24 @@ "ha/index.ts", "ha/vip.ts", "ha/vipEipAttachment.ts", + "identity/centerExternalSamlIdentityProvider.ts", + "identity/centerGroup.ts", + "identity/centerRoleAssignment.ts", + "identity/centerRoleConfiguration.ts", + "identity/centerRoleConfigurationPermissionCustomPoliciesAttachment.ts", + "identity/centerRoleConfigurationPermissionCustomPolicyAttachment.ts", + "identity/centerRoleConfigurationPermissionPolicyAttachment.ts", + "identity/centerScimCredential.ts", + "identity/centerScimCredentialStatus.ts", + "identity/centerScimSynchronizationStatus.ts", + "identity/centerUser.ts", + "identity/centerUserGroupAttachment.ts", + "identity/centerUserSyncProvisioning.ts", + "identity/getCenterGroups.ts", + "identity/getCenterRoleConfigurations.ts", + "identity/getCenterUsers.ts", + "identity/index.ts", + "image/getFromFamily.ts", "image/getInstance.ts", "image/index.ts", "image/instance.ts", @@ -847,6 +893,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,11 +917,13 @@ "kms/whiteBoxKey.ts", "kubernetes/addon.ts", "kubernetes/addonAttachment.ts", + "kubernetes/addonConfig.ts", "kubernetes/authAttachment.ts", "kubernetes/backupStorageLocation.ts", "kubernetes/cluster.ts", "kubernetes/clusterAttachment.ts", "kubernetes/clusterEndpoint.ts", + "kubernetes/clusterMasterAttachment.ts", "kubernetes/encryptionProtection.ts", "kubernetes/getAvailableClusterVersions.ts", "kubernetes/getCharts.ts", @@ -884,7 +934,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 +973,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 +1053,7 @@ "monitor/getProductEvent.ts", "monitor/getProductNamespace.ts", "monitor/getStatisticData.ts", + "monitor/getTmpInstances.ts", "monitor/getTmpRegions.ts", "monitor/grafanaDnsConfig.ts", "monitor/grafanaEnvConfig.ts", @@ -1067,6 +1123,7 @@ "mysql/backupDownloadRestriction.ts", "mysql/backupEncryptionStatus.ts", "mysql/backupPolicy.ts", + "mysql/clsLogAttachment.ts", "mysql/database.ts", "mysql/dbImportJobOperation.ts", "mysql/deployGroup.ts", @@ -1123,6 +1180,7 @@ "mysql/rollback.ts", "mysql/rollbackStop.ts", "mysql/securityGroupsAttachment.ts", + "mysql/ssl.ts", "mysql/switchForUpgrade.ts", "mysql/switchMasterSlaveOperation.ts", "mysql/switchProxy.ts", @@ -1157,12 +1215,16 @@ "oceanus/stopJob.ts", "oceanus/triggerJobSavepoint.ts", "oceanus/workSpace.ts", + "open/identityCenterOperation.ts", + "open/index.ts", "organization/getMembers.ts", + "organization/getNodes.ts", "organization/getOrgAuthNode.ts", "organization/getOrgFinancialByMember.ts", "organization/getOrgFinancialByMonth.ts", "organization/getOrgFinancialByProduct.ts", "organization/getOrgShareArea.ts", + "organization/getServices.ts", "organization/index.ts", "organization/instance.ts", "organization/orgIdentity.ts", @@ -1178,18 +1240,25 @@ "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/applyParameterTemplateOperation.ts", "postgresql/backupDownloadRestrictionConfig.ts", "postgresql/backupPlanConfig.ts", "postgresql/baseBackup.ts", + "postgresql/cloneDbInstance.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", @@ -1214,6 +1283,10 @@ "postgresql/renewDbInstanceOperation.ts", "postgresql/restartDbInstanceOperation.ts", "postgresql/securityGroupConfig.ts", + "privatedns/endPoint.ts", + "privatedns/forwardRule.ts", + "privatedns/getEndPoints.ts", + "privatedns/getForwardRules.ts", "privatedns/getPrivateZoneList.ts", "privatedns/getRecords.ts", "privatedns/index.ts", @@ -1250,6 +1323,7 @@ "redis/connectionConfig.ts", "redis/getBackup.ts", "redis/getBackupDownloadInfo.ts", + "redis/getClusters.ts", "redis/getInstanceNodeInfo.ts", "redis/getInstanceShards.ts", "redis/getInstanceTaskList.ts", @@ -1259,6 +1333,7 @@ "redis/getZoneConfig.ts", "redis/index.ts", "redis/instance.ts", + "redis/logDelivery.ts", "redis/maintenanceWindow.ts", "redis/param.ts", "redis/paramTemplate.ts", @@ -1273,6 +1348,8 @@ "redis/upgradeCacheVersionOperation.ts", "redis/upgradeMultiZoneOperation.ts", "redis/upgradeProxyVersionOperation.ts", + "reserve/index.ts", + "reserve/ipAddress.ts", "reserved/getInstanceConfigs.ts", "reserved/getInstances.ts", "reserved/index.ts", @@ -1360,6 +1437,8 @@ "ses/sendEmail.ts", "ses/template.ts", "ses/verifyDomain.ts", + "sg/index.ts", + "sg/rule.ts", "sms/index.ts", "sms/sign.ts", "sms/template.ts", @@ -1427,6 +1506,7 @@ "sqlserver/startXevent.ts", "ssl/certificate.ts", "ssl/checkCertificateChainOperation.ts", + "ssl/checkCertificateDomainVerificationOperation.ts", "ssl/completeCertificateOperation.ts", "ssl/deployCertificateInstanceOperation.ts", "ssl/deployCertificateRecordRetryOperation.ts", @@ -1478,6 +1558,8 @@ "sts/index.ts", "subnet/index.ts", "subnet/instance.ts", + "subscribe/index.ts", + "subscribe/privateZoneService.ts", "tag/attachment.ts", "tag/index.ts", "tag/instance.ts", @@ -1542,6 +1624,8 @@ "tcr/token.ts", "tcr/vpcAttachment.ts", "tcr/webhookTrigger.ts", + "tcss/imageRegistry.ts", + "tcss/index.ts", "tdcpg/cluster.ts", "tdcpg/getClusters.ts", "tdcpg/getInstances.ts", @@ -1594,6 +1678,10 @@ "teo/applicationProxy.ts", "teo/applicationProxyRule.ts", "teo/certificateConfig.ts", + "teo/function.ts", + "teo/functionRule.ts", + "teo/functionRulePriority.ts", + "teo/functionRuntimeEnvironment.ts", "teo/getRuleEngineSettings.ts", "teo/getZoneAvailablePlans.ts", "teo/index.ts", @@ -1602,8 +1690,11 @@ "teo/ownershipVerify.ts", "teo/realtimeLogDelivery.ts", "teo/ruleEngine.ts", + "teo/securityIpGroup.ts", "teo/zone.ts", "teo/zoneSetting.ts", + "thpc/index.ts", + "thpc/workspaces.ts", "trocket/index.ts", "trocket/rocketmqConsumerGroup.ts", "trocket/rocketmqInstance.ts", @@ -1765,6 +1856,7 @@ "vpc/peerConnectAcceptOperation.ts", "vpc/peerConnectManager.ts", "vpc/peerConnectRejectOperation.ts", + "vpc/privateNatGateway.ts", "vpc/resumeSnapshotInstance.ts", "vpc/snapshotPolicy.ts", "vpc/snapshotPolicyAttachment.ts", @@ -1810,10 +1902,9 @@ "waf/getTlsVersions.ts", "waf/getUserClbRegions.ts", "waf/getUserDomains.ts", - "waf/getWafInfos.ts", "waf/index.ts", "waf/ipAccessControl.ts", - "waf/modifyAccessPeriod.ts", + "waf/ipAccessControlV2.ts", "waf/moduleStatus.ts", "waf/protectionMode.ts", "waf/saasDomain.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 766c1c4ab..b7110c46d 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -6,6 +6,10 @@ import * as inputs from "../types/input"; import * as outputs from "../types/output"; export interface ProviderAssumeRole { + /** + * External role ID, which can be obtained by clicking the role name in the CAM console. It can contain 2-128 letters, digits, and symbols (=,.@:/-). Regex: [\w+=,.@:/-]*. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_EXTERNAL_ID`. + */ + externalId?: pulumi.Input; /** * A more restrictive policy when making the AssumeRole call. Its content must not contains `principal` elements. Notice: more syntax references, please refer to: [policies syntax logic](https://intl.cloud.tencent.com/document/product/598/10603). */ @@ -23,6 +27,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 +997,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,10 +1112,70 @@ 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; + /** + * Maximum Extra Quantity. After setting this parameter, a batch of pay-as-you-go extra instances will be created according to the launch configuration before the rolling update starts, and the extra instances will be destroyed after the rolling update is completed. + */ + maxSurge?: 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 { + /** + * Designated to store user ID. + */ + storageAccountId?: pulumi.Input; + /** + * Designated to store user appid. + */ + storageAppId?: pulumi.Input; /** * 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 +1201,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 +1333,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 +1423,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 +2197,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; /** @@ -1940,6 +2208,10 @@ export namespace Cdn { * 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`. */ cosPrivateAccess?: pulumi.Input; + /** + * Object storage back to the source vendor. Required when the source station type is a third-party storage source station (third_party). Optional values include the following: `awsS3`: AWS S3; `aliOss`: Alibaba Cloud OSS; `hwObs`: Huawei OBS; `qiniuKodo`: Qiniu Cloud kodo; `others`: other vendors' object storage, only supports object storage compatible with AWS signature algorithm, such as Tencent Cloud Financial Zone COS. Example value: `hwObs`. + */ + originCompany?: pulumi.Input; /** * Master origin server list. Valid values can be ip or domain name. When modifying the origin server, you need to enter the corresponding `originType`. */ @@ -1949,7 +2221,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 +2275,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,85 +2558,215 @@ export namespace Cdn { } } -export namespace Cdwpg { - export interface InstanceChargeProperties { +export namespace Cdwdoris { + export interface GetInstancesSearchTag { /** - * Charge type, vaild values: PREPAID, POSTPAID_BY_HOUR. - */ - chargeType?: pulumi.Input; - /** - * 0-no automatic renewal,1-automatic renewalNote: This field may return null, indicating that a valid value cannot be obtained. + * 1 means only the tag key is entered without a value, and 0 means both the key and the value are entered. */ - renewFlag: pulumi.Input; + allValue?: number; /** - * Time RangeNote: This field may return null, indicating that a valid value cannot be obtained. + * Tag key. */ - timeSpan: pulumi.Input; + tagKey?: string; /** - * Time Unit,Generally h and mNote: This field may return null, indicating that a valid value cannot be obtained. + * Tag value. */ - timeUnit: pulumi.Input; + tagValue?: string; } - export interface InstanceResource { - /** - * resource count. - */ - count: pulumi.Input; + export interface GetInstancesSearchTagArgs { /** - * disk Information. + * 1 means only the tag key is entered without a value, and 0 means both the key and the value are entered. */ - diskSpec: pulumi.Input; + allValue?: pulumi.Input; /** - * resource name. + * Tag key. */ - specName: pulumi.Input; + tagKey?: pulumi.Input; /** - * resource type. + * Tag value. */ - type: pulumi.Input; + tagValue?: pulumi.Input; } - export interface InstanceResourceDiskSpec { + export interface InstanceBeSpec { /** - * disk count. + * Quantities. */ - diskCount: pulumi.Input; + count: pulumi.Input; /** - * disk size. + * Cloud disk size. */ diskSize: pulumi.Input; /** - * disk type. + * Specification name. */ - diskType: pulumi.Input; + specName: pulumi.Input; } -} - -export namespace Cfs { -} -export namespace Cfw { - export interface NatInstanceNewModeItems { + export interface InstanceChargeProperties { /** - * List of egress elastic public network IPs bound in the new mode. + * 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. */ - eips: pulumi.Input[]>; + chargeType?: pulumi.Input; /** - * List of vpcs connected in new mode. + * Whether to automatically renew. 1 means automatic renewal is enabled. Note: This field may return null, indicating that no valid values can be obtained. */ - vpcLists: pulumi.Input[]>; - } - - export interface VpcInstanceVpcFwInstance { + renewFlag?: pulumi.Input; /** - * Deploy regional information. + * Billing duration Note: This field may return null, indicating that no valid values can be obtained. */ - fwDeploy: pulumi.Input; + timeSpan?: pulumi.Input; /** - * Firewall instance ID (passed in editing scenario). + * Billing time unit, and `m` means month, etc. Note: This field may return null, indicating that no valid values can be obtained. */ - fwInsId?: pulumi.Input; + 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 { + /** + * Charge type, vaild values: PREPAID, POSTPAID_BY_HOUR. + */ + chargeType?: pulumi.Input; + /** + * 0-no automatic renewal,1-automatic renewalNote: This field may return null, indicating that a valid value cannot be obtained. + */ + renewFlag: pulumi.Input; + /** + * Time RangeNote: This field may return null, indicating that a valid value cannot be obtained. + */ + timeSpan: pulumi.Input; + /** + * Time Unit,Generally h and mNote: This field may return null, indicating that a valid value cannot be obtained. + */ + timeUnit: pulumi.Input; + } + + export interface InstanceResource { + /** + * resource count. + */ + count: pulumi.Input; + /** + * disk Information. + */ + diskSpec: pulumi.Input; + /** + * resource name. + */ + specName: pulumi.Input; + /** + * resource type. + */ + type: pulumi.Input; + } + + export interface InstanceResourceDiskSpec { + /** + * disk count. + */ + diskCount: pulumi.Input; + /** + * disk size. + */ + diskSize: pulumi.Input; + /** + * disk type. + */ + diskType: pulumi.Input; + } +} + +export namespace Cfs { +} + +export namespace Cfw { + export interface NatInstanceNewModeItems { + /** + * List of egress elastic public network IPs bound in the new mode. + */ + eips: pulumi.Input[]>; + /** + * List of vpcs connected in new mode. + */ + vpcLists: pulumi.Input[]>; + } + + export interface VpcInstanceVpcFwInstance { + /** + * Deploy regional information. + */ + fwDeploy: pulumi.Input; + /** + * Firewall instance ID (passed in editing scenario). + */ + fwInsId?: pulumi.Input; /** * Firewall instance name. */ @@ -8110,15 +8535,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 +8796,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 { @@ -8866,6 +9346,10 @@ export namespace Cos { * COS returns this index document when requests are made to the root domain or any of the subfolders. */ indexDocument?: pulumi.Input; + /** + * Redirects all request configurations. Valid values: http, https. Default is `http`. + */ + redirectAllRequestsTo?: pulumi.Input; } } @@ -9261,6 +9745,17 @@ export namespace Css { } export namespace Cvm { + export interface ActionTimerActionTimer { + /** + * Execution time, expressed according to ISO8601 standard and using UTC time. The format is YYYY-MM-DDThh:mm:ssZ. For example, 2018-05-29T11:26:40Z, the execution time must be 5 minutes longer than the current time. + */ + actionTime?: pulumi.Input; + /** + * Timer action, currently only supports destroying one value: TerminateInstances. + */ + timerAction?: pulumi.Input; + } + export interface ChcConfigBmcVirtualPrivateCloud { /** * Whether to use a CVM instance as a public gateway. The public gateway is only available when the instance has a public IP and resides in a VPC. Valid values:<br><li>TRUE: yes;<br><li>FALSE: no<br><br>Default: FALSE. @@ -9566,7 +10061,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 +14001,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 +14040,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; /** @@ -13635,69 +14143,331 @@ export namespace Emr { zone: pulumi.Input; } + export interface ClusterPreExecutedFileSetting { + /** + * Execution script parameters. + */ + args?: pulumi.Input[]>; + /** + * Script file name. + */ + cosFileName?: pulumi.Input; + /** + * The cos address of the script. + */ + cosFileUri?: pulumi.Input; + /** + * Cos secretId. + */ + cosSecretId?: pulumi.Input; + /** + * Cos secretKey. + */ + cosSecretKey?: pulumi.Input; + /** + * Remark. + */ + remark?: pulumi.Input; + /** + * Run order. + */ + runOrder?: pulumi.Input; + /** + * `resourceAfter` or `clusterAfter`. + */ + whenRun?: pulumi.Input; + } + export interface ClusterResourceSpec { /** * The number of common node. */ commonCount?: pulumi.Input; + /** + * Resource details. + */ commonResourceSpec?: pulumi.Input; /** * The number of core node. */ coreCount?: pulumi.Input; + /** + * Resource details. + */ coreResourceSpec?: pulumi.Input; /** * The number of master node. */ masterCount?: pulumi.Input; + /** + * Resource details. + */ masterResourceSpec?: pulumi.Input; /** * The number of core node. */ taskCount?: pulumi.Input; + /** + * Resource details. + */ taskResourceSpec?: pulumi.Input; } export interface ClusterResourceSpecCommonResourceSpec { + /** + * Number of CPU cores. + */ cpu?: pulumi.Input; + /** + * Data disk capacity. + */ diskSize?: pulumi.Input; + /** + * disk types. Value range: + * - CLOUD_SSD: Represents cloud SSD; + * - CLOUD_PREMIUM: Represents efficient cloud disk; + * - CLOUD_BASIC: Represents Cloud Block Storage. + */ diskType?: pulumi.Input; + /** + * Memory size in M. + */ memSize?: pulumi.Input; + /** + * Cloud disk list. When the data disk is a cloud disk, use diskType and diskSize parameters directly, and use multiDisks for excess parts. + */ + multiDisks?: pulumi.Input[]>; + /** + * Root disk capacity. + */ rootSize?: pulumi.Input; + /** + * Node specification description, such as CVM.SA2. + */ spec?: pulumi.Input; + /** + * Storage type. Value range: + * - 4: Represents cloud SSD; + * - 5: Represents efficient cloud disk; + * - 6: Represents enhanced SSD Cloud Block Storage; + * - 11: Represents throughput Cloud Block Storage; + * - 12: Represents extremely fast SSD Cloud Block Storage. + */ storageType?: pulumi.Input; } - export interface ClusterResourceSpecCoreResourceSpec { - cpu?: pulumi.Input; - diskSize?: pulumi.Input; + export interface ClusterResourceSpecCommonResourceSpecMultiDisk { + /** + * Number of cloud disks of this type. + */ + count?: pulumi.Input; + /** + * Cloud disk type + * - CLOUD_SSD: Represents cloud SSD; + * - CLOUD_PREMIUM: Represents efficient cloud disk; + * - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + */ diskType?: pulumi.Input; - memSize?: pulumi.Input; - rootSize?: pulumi.Input; - spec?: pulumi.Input; - storageType?: pulumi.Input; + /** + * Cloud disk size. + */ + volume?: pulumi.Input; } - export interface ClusterResourceSpecMasterResourceSpec { + export interface ClusterResourceSpecCoreResourceSpec { + /** + * Number of CPU cores. + */ cpu?: pulumi.Input; + /** + * Data disk capacity. + */ diskSize?: pulumi.Input; + /** + * disk types. Value range: + * - CLOUD_SSD: Represents cloud SSD; + * - CLOUD_PREMIUM: Represents efficient cloud disk; + * - CLOUD_BASIC: Represents Cloud Block Storage. + */ diskType?: pulumi.Input; + /** + * Memory size in M. + */ memSize?: pulumi.Input; + /** + * Cloud disk list. When the data disk is a cloud disk, use diskType and diskSize parameters directly, and use multiDisks for excess parts. + */ + multiDisks?: pulumi.Input[]>; + /** + * Root disk capacity. + */ rootSize?: pulumi.Input; + /** + * Node specification description, such as CVM.SA2. + */ spec?: pulumi.Input; + /** + * Storage type. Value range: + * - 4: Represents cloud SSD; + * - 5: Represents efficient cloud disk; + * - 6: Represents enhanced SSD Cloud Block Storage; + * - 11: Represents throughput Cloud Block Storage; + * - 12: Represents extremely fast SSD Cloud Block Storage. + */ storageType?: pulumi.Input; } + export interface ClusterResourceSpecCoreResourceSpecMultiDisk { + /** + * Number of cloud disks of this type. + */ + count?: pulumi.Input; + /** + * Cloud disk type + * - CLOUD_SSD: Represents cloud SSD; + * - CLOUD_PREMIUM: Represents efficient cloud disk; + * - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + */ + diskType?: pulumi.Input; + /** + * Cloud disk size. + */ + volume?: pulumi.Input; + } + + export interface ClusterResourceSpecMasterResourceSpec { + /** + * Number of CPU cores. + */ + cpu?: pulumi.Input; + /** + * Data disk capacity. + */ + diskSize?: pulumi.Input; + /** + * disk types. Value range: + * - CLOUD_SSD: Represents cloud SSD; + * - CLOUD_PREMIUM: Represents efficient cloud disk; + * - CLOUD_BASIC: Represents Cloud Block Storage. + */ + diskType?: pulumi.Input; + /** + * Memory size in M. + */ + memSize?: pulumi.Input; + /** + * Cloud disk list. When the data disk is a cloud disk, use diskType and diskSize parameters directly, and use multiDisks for excess parts. + */ + multiDisks?: pulumi.Input[]>; + /** + * Root disk capacity. + */ + rootSize?: pulumi.Input; + /** + * Node specification description, such as CVM.SA2. + */ + spec?: pulumi.Input; + /** + * Storage type. Value range: + * - 4: Represents cloud SSD; + * - 5: Represents efficient cloud disk; + * - 6: Represents enhanced SSD Cloud Block Storage; + * - 11: Represents throughput Cloud Block Storage; + * - 12: Represents extremely fast SSD Cloud Block Storage. + */ + storageType?: pulumi.Input; + } + + export interface ClusterResourceSpecMasterResourceSpecMultiDisk { + /** + * Number of cloud disks of this type. + */ + count?: pulumi.Input; + /** + * Cloud disk type + * - CLOUD_SSD: Represents cloud SSD; + * - CLOUD_PREMIUM: Represents efficient cloud disk; + * - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + */ + diskType?: pulumi.Input; + /** + * Cloud disk size. + */ + volume?: pulumi.Input; + } + export interface ClusterResourceSpecTaskResourceSpec { + /** + * Number of CPU cores. + */ cpu?: pulumi.Input; + /** + * Data disk capacity. + */ diskSize?: pulumi.Input; + /** + * disk types. Value range: + * - CLOUD_SSD: Represents cloud SSD; + * - CLOUD_PREMIUM: Represents efficient cloud disk; + * - CLOUD_BASIC: Represents Cloud Block Storage. + */ diskType?: pulumi.Input; + /** + * Memory size in M. + */ memSize?: pulumi.Input; + /** + * Cloud disk list. When the data disk is a cloud disk, use diskType and diskSize parameters directly, and use multiDisks for excess parts. + */ + multiDisks?: pulumi.Input[]>; + /** + * Root disk capacity. + */ rootSize?: pulumi.Input; + /** + * Node specification description, such as CVM.SA2. + */ spec?: pulumi.Input; + /** + * Storage type. Value range: + * - 4: Represents cloud SSD; + * - 5: Represents efficient cloud disk; + * - 6: Represents enhanced SSD Cloud Block Storage; + * - 11: Represents throughput Cloud Block Storage; + * - 12: Represents extremely fast SSD Cloud Block Storage. + */ storageType?: pulumi.Input; } + export interface ClusterResourceSpecTaskResourceSpecMultiDisk { + /** + * Number of cloud disks of this type. + */ + count?: pulumi.Input; + /** + * Cloud disk type + * - CLOUD_SSD: Represents cloud SSD; + * - CLOUD_PREMIUM: Represents efficient cloud disk; + * - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + */ + diskType?: pulumi.Input; + /** + * Cloud disk size. + */ + volume?: pulumi.Input; + } + + export interface ClusterTerminateNodeInfo { + /** + * Destroy resource list. + */ + cvmInstanceIds?: pulumi.Input[]>; + /** + * Value range of destruction node type: `MASTER`, `TASK`, `CORE`, `ROUTER`. + */ + nodeFlag?: pulumi.Input; + } + export interface GetAutoScaleRecordsFilter { /** * Key. Note: This field may return null, indicating that no valid value can be obtained. @@ -13819,6 +14589,57 @@ export namespace Eni { export namespace Enis { } +export namespace Events { + export interface AuditTrackFilters { + /** + * Resource filtering conditions. + */ + resourceFields?: pulumi.Input[]>; + } + + export interface AuditTrackFiltersResourceField { + /** + * Tracking set event type (`Read`: Read; `Write`: Write; `*`: All). + */ + actionType: pulumi.Input; + /** + * The list of API names of tracking set events. When `ResourceType` is `*`, the value of `EventNames` must be `*`. When `ResourceType` is a specified product, the value of `EventNames` can be `*`. When `ResourceType` is `cos` or `cls`, up to 10 APIs are supported. + */ + eventNames: pulumi.Input[]>; + /** + * The product to which the tracking set event belongs. The value can be a single product such as `cos`, or `*` that indicates all products. + */ + resourceType: pulumi.Input; + } + + export interface AuditTrackStorage { + /** + * Designated to store user ID. + */ + storageAccountId?: pulumi.Input; + /** + * Designated to store user app ID. + */ + storageAppId?: pulumi.Input; + /** + * Storage name. For COS, the storage name is the custom bucket name, which can contain up to 50 lowercase letters, digits, and hyphens. It cannot contain "-APPID" and cannot start or end with a hyphen. For CLS, the storage name is the log topic ID, which can contain 1-50 characters. + */ + storageName: pulumi.Input; + /** + * Storage directory prefix. The COS log file prefix can only contain 3-40 letters and digits. + */ + storagePrefix: pulumi.Input; + /** + * StorageRegion *string `json:'StorageRegion,omitnil,omitempty' name: 'StorageRegion'`. + */ + storageRegion: pulumi.Input; + /** + * Storage type (Valid values: cos, cls). + */ + storageType: pulumi.Input; + } +} + export namespace Gaap { export interface CustomHeaderHeader { /** @@ -13917,6 +14738,28 @@ export namespace Gaap { export namespace Ha { } +export namespace Identity { + export interface CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicy { + /** + * Role policy add time. + */ + addTime?: pulumi.Input; + /** + * Role policy document. + */ + rolePolicyDocument: pulumi.Input; + /** + * Role policy name. + */ + rolePolicyName: pulumi.Input; + /** + * Role policy type. + */ + rolePolicyType?: pulumi.Input; + } + +} + export namespace Image { export interface GetInstanceFilter { /** @@ -13988,6 +14831,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 +14849,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 +14912,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; /** @@ -14052,6 +14925,10 @@ export namespace Kubernetes { * Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. */ preStartUserScript?: pulumi.Input; + /** + * Node taint. + */ + taints?: pulumi.Input[]>; /** * Base64-encoded User Data text, the length limit is 16KB. */ @@ -14091,32 +14968,433 @@ export namespace Kubernetes { */ cuda?: pulumi.Input<{[key: string]: any}>; /** - * cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `docName`: Doc name of cuDNN; `devName`: Dev name of cuDNN. + * cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `docName`: Doc name of cuDNN; `devName`: Dev name of cuDNN. + */ + cudnn?: pulumi.Input<{[key: string]: any}>; + /** + * Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. + */ + customDriver?: pulumi.Input<{[key: string]: any}>; + /** + * GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + */ + driver?: pulumi.Input<{[key: string]: any}>; + /** + * Whether to enable MIG. + */ + migEnable?: pulumi.Input; + } + + export interface ClusterAttachmentWorkerConfigOverrides { + /** + * Configurations of data disk. + */ + dataDisks?: pulumi.Input[]>; + /** + * Indicate to set desired pod number in node. valid when the cluster is podCIDR. + */ + desiredPodNum?: pulumi.Input; + /** + * 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; + /** + * 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[]>; + /** + * GPU driver parameters. + */ + gpuArgs?: pulumi.Input; + /** + * 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; + /** + * 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; + /** + * 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; + /** + * 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; + } + + export interface ClusterAttachmentWorkerConfigOverridesDataDisk { + /** + * Indicate whether to auto format and mount or not. Default is `false`. + */ + autoFormatAndMount?: pulumi.Input; + /** + * The name of the device or partition to mount. NOTE: this argument doesn't support setting in node pool, or will leads to mount error. + */ + diskPartition?: pulumi.Input; + /** + * Volume of disk in GB. Default is `0`. + */ + diskSize?: pulumi.Input; + /** + * Types of disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. + */ + diskType?: pulumi.Input; + /** + * File system, e.g. `ext3/ext4/xfs`. + */ + fileSystem?: pulumi.Input; + /** + * Mount target. + */ + mountTarget?: pulumi.Input; + } + + export interface ClusterAttachmentWorkerConfigOverridesGpuArgs { + /** + * CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + */ + cuda?: pulumi.Input<{[key: string]: any}>; + /** + * cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `docName`: Doc name of cuDNN; `devName`: Dev name of cuDNN. + */ + cudnn?: pulumi.Input<{[key: string]: any}>; + /** + * Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. + */ + customDriver?: pulumi.Input<{[key: string]: any}>; + /** + * GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + */ + driver?: pulumi.Input<{[key: string]: any}>; + /** + * Whether to enable MIG. + */ + migEnable?: pulumi.Input; + } + + export interface ClusterAttachmentWorkerConfigTaint { + /** + * Effect of the taint. + */ + effect?: pulumi.Input; + /** + * Key of the taint. + */ + key?: pulumi.Input; + /** + * Value of the taint. + */ + value?: pulumi.Input; + } + + export interface ClusterAuthOptions { + /** + * If set to `true`, the rbac rule will be created automatically which allow anonymous user to access '/.well-known/openid-configuration' and '/openid/v1/jwks'. + */ + autoCreateDiscoveryAnonymousAuth?: pulumi.Input; + /** + * Specify service-account-issuer. If useTkeDefault is set to `true`, please do not set this field, it will be ignored anyway. + */ + issuer?: pulumi.Input; + /** + * Specify service-account-jwks-uri. If useTkeDefault is set to `true`, please do not set this field, it will be ignored anyway. + */ + jwksUri?: pulumi.Input; + /** + * If set to `true`, the issuer and jwksUri will be generated automatically by tke, please do not set issuer and jwks_uri, and they will be ignored. + */ + useTkeDefault?: pulumi.Input; + } + + export interface ClusterClusterAudit { + /** + * when you want to close the cluster audit log or delete the cluster, you can use this parameter to determine whether the audit log set and topic created by default will be deleted. + */ + deleteAuditLogAndTopic?: pulumi.Input; + /** + * Specify weather the Cluster Audit enabled. NOTE: Enable Cluster Audit will also auto install Log Agent. + */ + enabled: pulumi.Input; + /** + * Specify id of existing CLS log set, or auto create a new set by leave it empty. + */ + logSetId?: pulumi.Input; + /** + * Specify id of existing CLS log topic, or auto create a new topic by leave it empty. + */ + topicId?: pulumi.Input; + } + + export interface ClusterClusterExtraArgs { + /** + * The customized parameters for kube-apiserver. + */ + kubeApiservers?: pulumi.Input[]>; + /** + * The customized parameters for kube-controller-manager. + */ + kubeControllerManagers?: pulumi.Input[]>; + /** + * The customized parameters for kube-scheduler. + */ + kubeSchedulers?: pulumi.Input[]>; + } + + export interface ClusterEventPersistence { + /** + * when you want to close the cluster event persistence or delete the cluster, you can use this parameter to determine whether the event persistence log set and topic created by default will be deleted. + */ + deleteEventLogAndTopic?: pulumi.Input; + /** + * Specify weather the Event Persistence enabled. + */ + enabled: pulumi.Input; + /** + * Specify id of existing CLS log set, or auto create a new set by leave it empty. + */ + logSetId?: pulumi.Input; + /** + * Specify id of existing CLS log topic, or auto create a new topic by leave it empty. + */ + topicId?: pulumi.Input; + } + + export interface ClusterExistInstance { + /** + * Custom mode cluster, you can specify the number of pods for each node. corresponding to the existed_instances_para.instance_ids parameter. + */ + desiredPodNumbers?: pulumi.Input[]>; + /** + * Reinstallation parameters of an existing instance. + */ + instancesPara?: pulumi.Input; + /** + * Role of existed node. value:MASTER_ETCD or WORKER. + */ + nodeRole?: pulumi.Input; + } + + export interface ClusterExistInstanceInstancesPara { + /** + * To specify whether to enable cloud monitor service. Default is TRUE. + */ + enhancedMonitorService?: pulumi.Input; + /** + * To specify whether to enable cloud security service. Default is TRUE. + */ + enhancedSecurityService?: pulumi.Input; + /** + * Cluster IDs. + */ + instanceIds: pulumi.Input[]>; + /** + * ID list of keys, should be set if `password` not set. + */ + keyIds?: pulumi.Input[]>; + /** + * Advanced Node Settings. commonly used to attach existing instances. + */ + masterConfig?: pulumi.Input; + /** + * Password to access, should be set if `keyIds` not set. + */ + password?: pulumi.Input; + /** + * Security groups to which a CVM instance belongs. + */ + securityGroupIds?: pulumi.Input[]>; + } + + export interface ClusterExistInstanceInstancesParaMasterConfig { + /** + * Configurations of data disk. + */ + dataDisk?: pulumi.Input; + /** + * Indicate to set desired pod number in node. valid when the cluster is podCIDR. + */ + desiredPodNumber?: pulumi.Input; + /** + * Docker graph path. Default is `/var/lib/docker`. + */ + dockerGraphPath?: pulumi.Input; + /** + * Custom parameter information related to the node. This is a white-list parameter. + */ + extraArgs?: pulumi.Input; + /** + * GPU driver parameters. + */ + gpuArgs?: pulumi.Input; + /** + * Node label list. + */ + labels?: pulumi.Input[]>; + /** + * Mount target. Default is not mounting. + */ + mountTarget?: pulumi.Input; + /** + * Node taint. + */ + taints?: pulumi.Input[]>; + /** + * Set whether the joined nodes participate in scheduling, with a default value of 0, indicating participation in scheduling; Non 0 means not participating in scheduling. + */ + unschedulable?: pulumi.Input; + /** + * User script encoded in base64, which will be executed after the k8s component runs. The user needs to ensure the script's reentrant and retry logic. The script and its generated log files can be viewed in the node path /data/ccs_userscript/. If the node needs to be initialized before joining the schedule, it can be used in conjunction with the `unschedulable` parameter. After the final initialization of the userScript is completed, add the command "kubectl uncordon nodename --kubeconfig=/root/.kube/config" to add the node to the schedule. + */ + userScript?: pulumi.Input; + } + + export interface ClusterExistInstanceInstancesParaMasterConfigDataDisk { + /** + * 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`. + */ + diskSize?: pulumi.Input; + /** + * Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD` and `CLOUD_HSSD` and `CLOUD_TSSD`. + */ + diskType?: pulumi.Input; + /** + * File system, e.g. `ext3/ext4/xfs`. + */ + fileSystem?: pulumi.Input; + /** + * Mount target. + */ + mountTarget?: pulumi.Input; + } + + export interface ClusterExistInstanceInstancesParaMasterConfigExtraArgs { + /** + * Kubelet custom parameter. The parameter format is ["k1=v1", "k1=v2"]. + */ + kubelets?: pulumi.Input[]>; + } + + export interface ClusterExistInstanceInstancesParaMasterConfigGpuArgs { + /** + * CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + */ + cuda?: pulumi.Input<{[key: string]: any}>; + /** + * cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `docName`: Doc name of cuDNN; `devName`: Dev name of cuDNN. + */ + cudnn?: pulumi.Input<{[key: string]: any}>; + /** + * Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. + */ + customDriver?: pulumi.Input<{[key: string]: any}>; + /** + * GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + */ + driver?: pulumi.Input<{[key: string]: any}>; + /** + * Whether to enable MIG. + */ + migEnable?: pulumi.Input; + } + + export interface ClusterExistInstanceInstancesParaMasterConfigLabel { + /** + * Name of map. + */ + name: pulumi.Input; + /** + * Value of map. + */ + value: pulumi.Input; + } + + export interface ClusterExistInstanceInstancesParaMasterConfigTaint { + /** + * Effect of the taint. + */ + effect?: pulumi.Input; + /** + * Key of the taint. + */ + key?: pulumi.Input; + /** + * Value of the taint. + */ + value?: pulumi.Input; + } + + export interface ClusterExtensionAddon { + /** + * Add-on name. + */ + name: pulumi.Input; + /** + * Parameter of the add-on resource object in JSON string format, please check the example at the top of page for reference. + */ + param: pulumi.Input; + } + + export interface ClusterLogAgent { + /** + * Whether the log agent enabled. + */ + enabled: pulumi.Input; + /** + * Kubelet root directory as the literal. + */ + kubeletRootDir?: pulumi.Input; + } + + export interface ClusterMasterAttachmentExtraArgs { + /** + * etcd custom parameters. Only supports independent clusters. */ - cudnn?: pulumi.Input<{[key: string]: any}>; + etcds?: pulumi.Input[]>; /** - * Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. + * Kube apiserver custom parameters. The parameter format is ["k1=v1", "k1=v2"]. */ - customDriver?: pulumi.Input<{[key: string]: any}>; + kubeApiServers?: pulumi.Input[]>; /** - * GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + * Kube controller manager custom parameters. */ - driver?: pulumi.Input<{[key: string]: any}>; + kubeControllerManagers?: pulumi.Input[]>; /** - * Whether to enable MIG. + * kube scheduler custom parameters. */ - migEnable?: pulumi.Input; + kubeSchedulers?: pulumi.Input[]>; } - export interface ClusterAttachmentWorkerConfigOverrides { + export interface ClusterMasterAttachmentMasterConfig { /** * Configurations of data disk. */ - dataDisks?: pulumi.Input[]>; + dataDisk?: pulumi.Input; /** * Indicate to set desired pod number in node. valid when the cluster is podCIDR. */ - desiredPodNum?: pulumi.Input; + desiredPodNumber?: pulumi.Input; /** * Docker graph path. Default is `/var/lib/docker`. */ @@ -14124,30 +15402,34 @@ export namespace Kubernetes { /** * Custom parameter information related to the node. This is a white-list parameter. */ - extraArgs?: pulumi.Input[]>; + extraArgs?: pulumi.Input; /** * GPU driver parameters. */ - gpuArgs?: pulumi.Input; + gpuArgs?: pulumi.Input; /** - * Indicate to schedule the adding node or not. Default is true. + * Node label list. */ - isSchedule?: pulumi.Input; + labels?: pulumi.Input[]>; /** * Mount target. Default is not mounting. */ mountTarget?: pulumi.Input; /** - * Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. + * Node taint. */ - preStartUserScript?: pulumi.Input; + taints?: pulumi.Input[]>; /** - * Base64-encoded User Data text, the length limit is 16KB. + * Set whether the joined nodes participate in scheduling, with a default value of 0, indicating participation in scheduling; Non 0 means not participating in scheduling. */ - userData?: pulumi.Input; + unschedulable?: pulumi.Input; + /** + * User script encoded in base64, which will be executed after the k8s component runs. The user needs to ensure the script's reentrant and retry logic. The script and its generated log files can be viewed in the node path /data/ccs_userscript/. If the node needs to be initialized before joining the schedule, it can be used in conjunction with the `unschedulable` parameter. After the final initialization of the userScript is completed, add the command "kubectl uncordon nodename --kubeconfig=/root/.kube/config" to add the node to the schedule. + */ + userScript?: pulumi.Input; } - export interface ClusterAttachmentWorkerConfigOverridesDataDisk { + export interface ClusterMasterAttachmentMasterConfigDataDisk { /** * Indicate whether to auto format and mount or not. Default is `false`. */ @@ -14174,7 +15456,14 @@ export namespace Kubernetes { mountTarget?: pulumi.Input; } - export interface ClusterAttachmentWorkerConfigOverridesGpuArgs { + export interface ClusterMasterAttachmentMasterConfigExtraArgs { + /** + * Kubelet custom parameter. The parameter format is ["k1=v1", "k1=v2"]. + */ + kubelets?: pulumi.Input[]>; + } + + export interface ClusterMasterAttachmentMasterConfigGpuArgs { /** * CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. */ @@ -14197,120 +15486,30 @@ export namespace Kubernetes { migEnable?: pulumi.Input; } - export interface ClusterAuthOptions { - /** - * If set to `true`, the rbac rule will be created automatically which allow anonymous user to access '/.well-known/openid-configuration' and '/openid/v1/jwks'. - */ - autoCreateDiscoveryAnonymousAuth?: pulumi.Input; - /** - * Specify service-account-issuer. If useTkeDefault is set to `true`, please do not set this field, it will be ignored anyway. - */ - issuer?: pulumi.Input; - /** - * Specify service-account-jwks-uri. If useTkeDefault is set to `true`, please do not set this field, it will be ignored anyway. - */ - jwksUri?: pulumi.Input; - /** - * If set to `true`, the issuer and jwksUri will be generated automatically by tke, please do not set issuer and jwks_uri, and they will be ignored. - */ - useTkeDefault?: pulumi.Input; - } - - export interface ClusterClusterAudit { - /** - * when you want to close the cluster audit log or delete the cluster, you can use this parameter to determine whether the audit log set and topic created by default will be deleted. - */ - deleteAuditLogAndTopic?: pulumi.Input; - /** - * Specify weather the Cluster Audit enabled. NOTE: Enable Cluster Audit will also auto install Log Agent. - */ - enabled: pulumi.Input; - /** - * Specify id of existing CLS log set, or auto create a new set by leave it empty. - */ - logSetId?: pulumi.Input; - /** - * Specify id of existing CLS log topic, or auto create a new topic by leave it empty. - */ - topicId?: pulumi.Input; - } - - export interface ClusterClusterExtraArgs { - /** - * The customized parameters for kube-apiserver. - */ - kubeApiservers?: pulumi.Input[]>; - /** - * The customized parameters for kube-controller-manager. - */ - kubeControllerManagers?: pulumi.Input[]>; - /** - * The customized parameters for kube-scheduler. - */ - kubeSchedulers?: pulumi.Input[]>; - } - - export interface ClusterEventPersistence { - /** - * when you want to close the cluster event persistence or delete the cluster, you can use this parameter to determine whether the event persistence log set and topic created by default will be deleted. - */ - deleteEventLogAndTopic?: pulumi.Input; - /** - * Specify weather the Event Persistence enabled. - */ - enabled: pulumi.Input; - /** - * Specify id of existing CLS log set, or auto create a new set by leave it empty. - */ - logSetId?: pulumi.Input; - /** - * Specify id of existing CLS log topic, or auto create a new topic by leave it empty. - */ - topicId?: pulumi.Input; - } - - export interface ClusterExistInstance { - /** - * Custom mode cluster, you can specify the number of pods for each node. corresponding to the existed_instances_para.instance_ids parameter. - */ - desiredPodNumbers?: pulumi.Input[]>; - /** - * Reinstallation parameters of an existing instance. - */ - instancesPara?: pulumi.Input; + export interface ClusterMasterAttachmentMasterConfigLabel { /** - * Role of existed node. value:MASTER_ETCD or WORKER. + * Name of map. */ - nodeRole?: pulumi.Input; - } - - export interface ClusterExistInstanceInstancesPara { + name: pulumi.Input; /** - * Cluster IDs. + * Value of map. */ - instanceIds: pulumi.Input[]>; + value: pulumi.Input; } - export interface ClusterExtensionAddon { - /** - * Add-on name. - */ - name: pulumi.Input; + export interface ClusterMasterAttachmentMasterConfigTaint { /** - * Parameter of the add-on resource object in JSON string format, please check the example at the top of page for reference. + * Effect of the taint. */ - param: pulumi.Input; - } - - export interface ClusterLogAgent { + effect?: pulumi.Input; /** - * Whether the log agent enabled. + * Key of the taint. */ - enabled: pulumi.Input; + key?: pulumi.Input; /** - * Kubelet root directory as the literal. + * Value of the taint. */ - kubeletRootDir?: pulumi.Input; + value?: pulumi.Input; } export interface ClusterMasterConfig { @@ -14502,6 +15701,21 @@ export namespace Kubernetes { skipNodesWithSystemPods?: pulumi.Input; } + export interface ClusterResourceDeleteOption { + /** + * The deletion mode of CBS resources when the cluster is deleted, `terminate` (destroy), `retain` (retain). Other resources are deleted by default. + */ + deleteMode: pulumi.Input; + /** + * Resource type, valid values are `CBS`, `CLB`, and `CVM`. + */ + resourceType: pulumi.Input; + /** + * Whether to skip resources with deletion protection enabled, the default is false. + */ + skipDeletionProtection?: pulumi.Input; + } + export interface ClusterWorkerConfig { /** * Indicates which availability zone will be used. @@ -14752,6 +15966,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. @@ -14823,6 +16052,10 @@ export namespace Kubernetes { * Predefined scripts. */ lifecycle?: pulumi.Input; + /** + * Node pool type. Example value: `NativeCVM` or `Native`. Default is `Native`. + */ + machineType?: pulumi.Input; /** * Node pool management parameter settings. */ @@ -15011,6 +16244,17 @@ export namespace Kubernetes { value?: pulumi.Input; } + export interface NodePoolAnnotation { + /** + * Name in the map table. + */ + name: pulumi.Input; + /** + * Value in the map table. + */ + value: pulumi.Input; + } + export interface NodePoolAutoScalingConfig { /** * Backup CVM instance types if specified instance type sold out or mismatch. @@ -15060,6 +16304,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 +16496,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`. */ @@ -15289,6 +16541,21 @@ export namespace Kubernetes { migEnable?: pulumi.Input; } + export interface ScaleWorkerTaint { + /** + * Effect of the taint. + */ + effect?: pulumi.Input; + /** + * Key of the taint. + */ + key?: pulumi.Input; + /** + * Value of the taint. + */ + value?: pulumi.Input; + } + export interface ScaleWorkerWorkerConfig { /** * Indicates which availability zone will be used. @@ -15307,7 +16574,7 @@ export namespace Kubernetes { */ count?: pulumi.Input; /** - * Configurations of data disk. + * Configurations of cvm data disk. */ dataDisks?: pulumi.Input[]>; /** @@ -15403,10 +16670,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 +16694,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 +16704,8 @@ export namespace Kubernetes { kmsKeyId?: pulumi.Input; /** * Mount target. + * + * @deprecated This argument was deprecated, use `dataDisk` instead. */ mountTarget?: pulumi.Input; /** @@ -15741,48 +17016,109 @@ export namespace Lighthouse { /** * Host path. */ - hostPath: pulumi.Input; + hostPath: pulumi.Input; + } + + export interface InstanceLoginConfiguration { + /** + * whether auto generate password. if false, need set password. + */ + autoGeneratePassword: pulumi.Input; + /** + * Login password. + */ + password?: pulumi.Input; + } + + export interface RenewDiskRenewDiskChargePrepaid { + /** + * 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; + /** + * 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 InstanceLoginConfiguration { + export interface HbaseInstanceTag { /** - * whether auto generate password. if false, need set password. + * Tag key. */ - autoGeneratePassword: pulumi.Input; + tagKey?: pulumi.Input; /** - * Login password. + * Tag value. */ - password?: pulumi.Input; + tagValue?: pulumi.Input; } - export interface RenewDiskRenewDiskChargePrepaid { - /** - * 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; + 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 +17793,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. @@ -24568,6 +25926,28 @@ export namespace Oceanus { } export namespace Organization { + export interface GetNodesTag { + /** + * Tag key. + */ + tagKey: string; + /** + * Tag value. + */ + tagValue: string; + } + + export interface GetNodesTagArgs { + /** + * Tag key. + */ + tagKey: pulumi.Input; + /** + * Tag value. + */ + tagValue: pulumi.Input; + } + export interface InstanceOrgPermission { /** * Permissions ID. @@ -24621,6 +26001,129 @@ 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 CloneDbInstanceDbNodeSet { + /** + * Dedicated cluster ID. + */ + dedicatedClusterId?: pulumi.Input; + /** + * Node type. Valid values: + * `Primary`; + * `Standby`. + */ + role: pulumi.Input; + /** + * AZ where the node resides, such as ap-guangzhou-1. + */ + zone: pulumi.Input; + } + + export interface CloneDbInstanceTagList { + /** + * Tag key. + */ + tagKey: pulumi.Input; + /** + * Tag value. + */ + tagValue: 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 +26192,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 +26300,10 @@ export namespace Postgresql { } export interface InstanceDbNodeSet { + /** + * Dedicated cluster ID. + */ + dedicatedClusterId?: pulumi.Input; /** * Indicates node type, available values:`Primary`, `Standby`. Default: `Standby`. */ @@ -24809,6 +26338,50 @@ export namespace Postgresql { } export namespace PrivateDns { + export interface GetEndPointsFilter { + /** + * Parameter name. + */ + name: string; + /** + * Array of parameter values. + */ + values: string[]; + } + + export interface GetEndPointsFilterArgs { + /** + * Parameter name. + */ + name: pulumi.Input; + /** + * Array of parameter values. + */ + values: pulumi.Input[]>; + } + + export interface GetForwardRulesFilter { + /** + * Parameter name. + */ + name: string; + /** + * Array of parameter values. + */ + values: string[]; + } + + export interface GetForwardRulesFilterArgs { + /** + * Parameter name. + */ + name: pulumi.Input; + /** + * Array of parameter values. + */ + values: pulumi.Input[]>; + } + export interface GetPrivateZoneListFilter { /** * name. @@ -25942,7 +27515,7 @@ export namespace Scf { */ triggerDesc: pulumi.Input; /** - * Type of the SCF function trigger, support `cos`, `cmq`, `timer`, `ckafka`, `apigw`. + * Type of the SCF function trigger, support `cos`, `cls`, `timer`, `ckafka`, `http`, `apigw`, `cmq`. */ type: pulumi.Input; } @@ -25973,7 +27546,7 @@ export namespace Scf { */ triggerDesc?: pulumi.Input; /** - * Type of the SCF function trigger, support `cos`, `cmq`, `timer`, `ckafka`, `apigw`. + * Type of the SCF function trigger, support `cos`, `cls`, `timer`, `ckafka`, `http`, `apigw`, `cmq`. */ type?: pulumi.Input; } @@ -26046,15 +27619,15 @@ export namespace Security { */ action: pulumi.Input; /** - * Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. + * Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. */ addressTemplateGroup?: pulumi.Input; /** - * Specify Address template ID like `ipm-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. + * Specify Address template ID like `ipm-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. */ addressTemplateId?: pulumi.Input; /** - * An IP address network or CIDR segment. NOTE: `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` are exclusive and cannot be set in the same time. + * An IP address network or CIDR segment. NOTE: `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` are exclusive and cannot be set in the same time; One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. */ cidrBlock?: pulumi.Input; /** @@ -26062,7 +27635,7 @@ export namespace Security { */ description?: pulumi.Input; /** - * An IPV6 address network or CIDR segment, and conflict with `sourceSecurityId` and `address_template_*`. + * An IPV6 address network or CIDR segment, and conflict with `sourceSecurityId` and `address_template_*`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. */ ipv6CidrBlock?: pulumi.Input; /** @@ -26074,7 +27647,7 @@ export namespace Security { */ port?: pulumi.Input; /** - * Type of IP protocol. Valid values: `TCP`, `UDP` and `ICMP`. Default to all types protocol, and conflicts with `service_template_*`. + * Type of IP protocol. Valid values: `TCP`, `UDP`, `ICMP`, `ICMPv6` and `ALL`. Default to all types protocol, and conflicts with `service_template_*`. */ protocol?: pulumi.Input; /** @@ -26086,7 +27659,7 @@ export namespace Security { */ serviceTemplateId?: pulumi.Input; /** - * ID of the nested security group, and conflicts with `cidrBlock` and `address_template_*`. + * ID of the nested security group, and conflicts with `cidrBlock` and `address_template_*`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. */ sourceSecurityId?: pulumi.Input; } @@ -26097,15 +27670,15 @@ export namespace Security { */ action: pulumi.Input; /** - * Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. + * Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. */ addressTemplateGroup?: pulumi.Input; /** - * Specify Address template ID like `ipm-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. + * Specify Address template ID like `ipm-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. */ addressTemplateId?: pulumi.Input; /** - * An IP address network or CIDR segment. NOTE: `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` are exclusive and cannot be set in the same time. + * An IP address network or CIDR segment. NOTE: `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` are exclusive and cannot be set in the same time; One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. */ cidrBlock?: pulumi.Input; /** @@ -26113,7 +27686,7 @@ export namespace Security { */ description?: pulumi.Input; /** - * An IPV6 address network or CIDR segment, and conflict with `sourceSecurityId` and `address_template_*`. + * An IPV6 address network or CIDR segment, and conflict with `sourceSecurityId` and `address_template_*`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. */ ipv6CidrBlock?: pulumi.Input; /** @@ -26125,7 +27698,7 @@ export namespace Security { */ port?: pulumi.Input; /** - * Type of IP protocol. Valid values: `TCP`, `UDP` and `ICMP`. Default to all types protocol, and conflicts with `service_template_*`. + * Type of IP protocol. Valid values: `TCP`, `UDP`, `ICMP`, `ICMPv6` and `ALL`. Default to all types protocol, and conflicts with `service_template_*`. */ protocol?: pulumi.Input; /** @@ -26137,7 +27710,7 @@ export namespace Security { */ serviceTemplateId?: pulumi.Input; /** - * ID of the nested security group, and conflicts with `cidrBlock` and `address_template_*`. + * ID of the nested security group, and conflicts with `cidrBlock` and `address_template_*`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. */ sourceSecurityId?: pulumi.Input; } @@ -26248,6 +27821,51 @@ export namespace Ses { } } +export namespace Sg { + export interface RuleData { + /** + * Description. + */ + description: pulumi.Input; + /** + * Destination example: `net`: IP/CIDR (192.168.0.2); `template`: parameter template (ipm-dyodhpby); `instance`: asset instance (ins-123456); `resourcegroup`: asset group (/all groups/group 1/subgroup 1); `tag`: resource tag ({"Key":"tag key","Value":"tag value"}); `region`: region (ap-gaungzhou). + */ + destContent: pulumi.Input; + /** + * Access destination type. Valid values: net|template|instance|resourcegroup|tag|region. + */ + destType: pulumi.Input; + /** + * Rule priority. + */ + orderIndex?: pulumi.Input; + /** + * The port to apply access control rules. Valid values: `-1/-1`: all ports, `80`: port 80. + */ + port?: pulumi.Input; + /** + * Protocol. TCP/UDP/ICMP/ANY. + */ + protocol?: pulumi.Input; + /** + * The action that Cloud Firewall performs on the traffic. Valid values: `accept`: allow, `drop`: deny. + */ + ruleAction: pulumi.Input; + /** + * Parameter template ID of port and protocol type; mutually exclusive with Protocol and Port. + */ + serviceTemplateId?: pulumi.Input; + /** + * Source example: `net`: IP/CIDR (192.168.0.2); `template`: parameter template (ipm-dyodhpby); `instance`: asset instance (ins-123456); `resourcegroup`: asset group (/all groups/group 1/subgroup 1); `tag`: resource tag ({"Key":"tag key","Value":"tag value"}); `region`: region (ap-gaungzhou). + */ + sourceContent: pulumi.Input; + /** + * Access source type. Valid values: net|template|instance|resourcegroup|tag|region. + */ + sourceType: pulumi.Input; + } +} + export namespace Sqlserver { export interface BusinessIntelligenceInstanceResourceTag { /** @@ -26426,17 +28044,52 @@ export namespace Sqlserver { export interface StartXeventEventConfig { /** - * Event type. Valid values: slow (set threshold for slow SQL ), blocked (set threshold for the blocking and deadlock). + * Event type. Valid values: slow (set threshold for slow SQL ), blocked (set threshold for the blocking and deadlock). + */ + eventType: pulumi.Input; + /** + * Threshold in milliseconds. Valid values: 0(disable), non-zero (enable). + */ + threshold: pulumi.Input; + } +} + +export namespace Ssl { + export interface CheckCertificateDomainVerificationOperationVerificationResult { + /** + * CA inspection results. + */ + caCheck?: pulumi.Input; + /** + * Detected values. + */ + checkValues?: pulumi.Input[]>; + /** + * Domain name. + */ + domain?: pulumi.Input; + /** + * Whether frequent requests. + */ + frequently?: pulumi.Input; + /** + * Whether issued. + */ + issued?: pulumi.Input; + /** + * Local inspection results. */ - eventType: pulumi.Input; + localCheck?: pulumi.Input; /** - * Threshold in milliseconds. Valid values: 0(disable), non-zero (enable). + * Check the reason for the failure. */ - threshold: pulumi.Input; + localCheckFailReason?: pulumi.Input; + /** + * Domain Verify Type. + */ + verifyType?: pulumi.Input; } -} -export namespace Ssl { export interface FreeCertificateDvAuth { /** * DV authentication key. @@ -27597,6 +29250,19 @@ export namespace Tcr { } } +export namespace Tcss { + export interface ImageRegistryConnDetectConfig { + /** + * Host Quuid. + */ + quuid?: pulumi.Input; + /** + * Host uuid. + */ + uuid?: pulumi.Input; + } +} + export namespace Tdcpg { } @@ -28270,6 +29936,60 @@ export namespace Teo { type?: pulumi.Input; } + export interface FunctionRuleFunctionRuleCondition { + /** + * For edge function trigger rule conditions, if all items in the list are satisfied, then the condition is considered fulfilled. + */ + ruleConditions: pulumi.Input[]>; + } + + export interface FunctionRuleFunctionRuleConditionRuleCondition { + /** + * Whether the parameter value is case insensitive. Default value: false. + */ + ignoreCase?: pulumi.Input; + /** + * The parameter name of the match type. This field is required only when `Target=query_string/request_header`. + */ + name?: pulumi.Input; + /** + * Operator. Valid values: + */ + operator: pulumi.Input; + /** + * The match type. Values: + */ + target: pulumi.Input; + /** + * The parameter value of the match type. It can be an empty string only when `Target=query string/request header` and `Operator=exist/notexist`. + * - When `Target=extension`, enter the file extension, such as "jpg" and "txt". + * - When `Target=filename`, enter the file name, such as "foo" in "foo.jpg". + * - When `Target=all`, it indicates any site request. + * - When `Target=host`, enter the host under the current site, such as "www.maxx55.com". + * - When `Target=url`, enter the partial URL path under the current site, such as "/example". + * - When `Target=full_url`, enter the complete URL under the current site. It must contain the HTTP protocol, host, and path, such as "https://www.maxx55.cn/example". + * - When `Target=client_country`, enter the ISO-3166 country/region code. + * - When `Target=query_string`, enter the value of the query string, such as "cn" and "1" in "lang=cn&version=1". + * - When `Target=request_header`, enter the HTTP request header value, such as "zh-CN,zh;q=0.9" in the "Accept-Language:zh-CN,zh;q=0.9" header. + */ + values?: pulumi.Input[]>; + } + + export interface FunctionRuntimeEnvironmentEnvironmentVariable { + /** + * The name of the variable, which is limited to alphanumeric characters and the special characters `@`, `.`, `-`, and `_`. It can have a maximum of 64 bytes and should not be duplicated. + */ + key: pulumi.Input; + /** + * The type of the variable can have the following values: - `string`: Represents a string type. - `json`: Represents a JSON object type. + */ + type: pulumi.Input; + /** + * The value of the variable, which is limited to a maximum of 5000 bytes. The default value is empty. + */ + value: pulumi.Input; + } + export interface L4ProxyDdosProtectionConfig { /** * Exclusive DDoS protection specifications in the Chinese mainland. For details, see [Dedicated DDoS Mitigation Fee (Pay-as-You-Go)] (https://intl.cloud.tencent.com/document/product/1552/94162?from_cn_redirect=1). `PLATFORM`: Default protection of the platform, i.e., Exclusive DDoS protection is not enabled; `BASE30_MAX300`: Exclusive DDoS protection enabled, providing a baseline protection bandwidth of 30 Gbps and an elastic protection bandwidth of up to 300 Gbps; `BASE60_MAX600`: Exclusive DDoS protection enabled, providing a baseline protection bandwidth of 60 Gbps and an elastic protection bandwidth of up to 600 Gbps. If no parameters are filled, the default value PLATFORM is used. @@ -28788,6 +30508,21 @@ export namespace Teo { values?: pulumi.Input[]>; } + export interface SecurityIpGroupIpGroup { + /** + * IP group content. Only supports IP and IP mask. + */ + contents: pulumi.Input[]>; + /** + * Group ID. + */ + groupId?: pulumi.Input; + /** + * Group name. + */ + name: pulumi.Input; + } + export interface ZoneOwnershipVerification { /** * CNAME access, using DNS to resolve the information required for authentication. For details, please refer to [Site/Domain Name Ownership Verification ](https://cloud.tencent.com/document/product/1552/70789#7af6ecf8-afca-4e35-8811-b5797ed1bde5). Note: This field may return null, indicating that no valid value can be obtained. @@ -29052,6 +30787,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 { /** @@ -31603,36 +33523,6 @@ export namespace Waf { field: pulumi.Input; } - export interface GetWafInfosParam { - /** - * Domain unique ID. - */ - domainId?: string; - /** - * Listener ID of LoadBalancer. - */ - listenerId?: string; - /** - * Loadbalancer unique ID.If this parameter is not passed, it will operate all listeners of this appid. If this parameter is not empty, it will operate listeners of the LoadBalancer only. - */ - loadBalancerId: string; - } - - export interface GetWafInfosParamArgs { - /** - * Domain unique ID. - */ - domainId?: pulumi.Input; - /** - * Listener ID of LoadBalancer. - */ - listenerId?: pulumi.Input; - /** - * Loadbalancer unique ID.If this parameter is not passed, it will operate all listeners of this appid. If this parameter is not empty, it will operate listeners of the LoadBalancer only. - */ - loadBalancerId: pulumi.Input; - } - export interface IpAccessControlItem { /** * Action value 40 is whitelist, 42 is blacklist. @@ -31664,6 +33554,62 @@ export namespace Waf { validTs: pulumi.Input; } + export interface IpAccessControlV2JobDateTime { + /** + * Time parameters for periodic execution + * Note: This field may return null, indicating that no valid values can be obtained. + */ + crons?: pulumi.Input[]>; + /** + * Time zone + * Note: This field may return null, indicating that no valid values can be obtained. + */ + timeTZone?: pulumi.Input; + /** + * Time parameters for scheduled execution + * Note: This field may return null, indicating that no valid values can be obtained. + */ + timeds?: pulumi.Input[]>; + } + + export interface IpAccessControlV2JobDateTimeCron { + /** + * Days in each month for execution + * Note: This field may return null, indicating that no valid values can be obtained. + */ + days?: pulumi.Input[]>; + /** + * End time + * + * Note: This field may return null, indicating that no valid values can be obtained. + */ + endTime?: pulumi.Input; + /** + * Start time + * + * Note: This field may return null, indicating that no valid values can be obtained. + */ + startTime?: pulumi.Input; + /** + * Days of each week for execution + * Note: This field may return null, indicating that no valid values can be obtained. + */ + wDays?: pulumi.Input[]>; + } + + export interface IpAccessControlV2JobDateTimeTimed { + /** + * End timestamp, in seconds + * Note: This field may return null, indicating that no valid values can be obtained. + */ + endDateTime?: pulumi.Input; + /** + * Start timestamp, in seconds + * Note: This field may return null, indicating that no valid values can be obtained. + */ + startDateTime?: pulumi.Input; + } + export interface SaasDomainPort { /** * Nginx server ID. diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 824526e3a..de2c22083 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,32 @@ 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; + /** + * Maximum Extra Quantity. After setting this parameter, a batch of pay-as-you-go extra instances will be created according to the launch configuration before the rolling update starts, and the extra instances will be destroyed after the rolling update is completed. + */ + maxSurge?: number; + } + } export namespace Audit { @@ -3172,6 +3213,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. @@ -3184,6 +3323,14 @@ export namespace Audit { } export interface TrackStorage { + /** + * Designated to store user ID. + */ + storageAccountId?: string; + /** + * Designated to store user appid. + */ + storageAppId?: string; /** * 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`. */ @@ -3267,6 +3414,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 { /** @@ -3708,6 +3869,68 @@ export namespace Cam { serviceType: string; } + export interface GetRoleDetailRoleInfo { + /** + * Time role created + */ + addTime: string; + /** + * If login is allowed for the role + */ + consoleLogin: number; + /** + * Task identifier for deleting a service-linked role + * Note: this field may return null, indicating that no valid values can be obtained. + */ + deletionTaskId: string; + /** + * Role description + */ + description: string; + /** + * Role policy document + */ + policyDocument: string; + /** + * Role ID + */ + roleId: string; + /** + * Role name + */ + roleName: string; + /** + * User role. Valid values: `user`, `system`, `serviceLinked` + * Note: this field may return null, indicating that no valid values can be obtained. + */ + roleType: string; + /** + * Valid period + * Note: this field may return null, indicating that no valid values can be obtained. + */ + sessionDuration: number; + /** + * Tags. + * Note: This field may return `null`, indicating that no valid values can be obtained. + */ + tags: outputs.Cam.GetRoleDetailRoleInfoTag[]; + /** + * Time role last updated + */ + updateTime: string; + } + + export interface GetRoleDetailRoleInfoTag { + /** + * Tag key. + */ + key: string; + /** + * Tag value. + */ + value: string; + } + export interface GetRolePolicyAttachmentsRolePolicyAttachmentList { /** * Mode of Creation of the CAM user policy attachment. `1` means the cam policy attachment is created by production, and the others indicate syntax strategy ways. @@ -3800,6 +4023,36 @@ export namespace Cam { secretId: string; } + export interface GetSubAccountsSubAccount { + /** + * Creation time + * Note: this field may return null, indicating that no valid values can be obtained. + */ + createTime: string; + lastLoginIp: string; + lastLoginTime: string; + /** + * Sub-user name + */ + name: string; + /** + * Sub-user remarks + */ + remark: string; + /** + * Sub-user UID. UID is the unique identifier of a user who is a message recipient, while UIN is a unique identifier of a user. + */ + uid: number; + /** + * Sub-user ID + */ + uin: number; + /** + * User type (1: root account; 2: sub-user; 3: WeCom sub-user; 4: collaborator; 5: message recipient) + */ + userType: number; + } + export interface GetUserPolicyAttachmentsUserPolicyAttachmentList { /** * Mode of Creation of the CAM user policy attachment. `1` means the CAM policy attachment is created by production, and the others indicate syntax strategy ways. @@ -4129,13 +4382,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 +4453,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 +4694,125 @@ export namespace Ccn { state: string; } + export interface GetRouteTableInputPoliciesPolicySet { + /** + * Create time. + */ + createTime?: string; + /** + * Policy version. + */ + policyVersion?: number; + /** + * Policys. + */ + policys?: outputs.Ccn.GetRouteTableInputPoliciesPolicySetPolicy[]; + } + + export interface GetRouteTableInputPoliciesPolicySetPolicy { + /** + * Routing behavior, `accept` allows, `drop` rejects. + */ + action: string; + /** + * as-path operate mode + */ + asPathOperateMode?: string; + /** + * Policy description + */ + description: string; + /** + * as-path operate + */ + operateAsPath?: string; + /** + * Routing conditions. + */ + routeConditions: outputs.Ccn.GetRouteTableInputPoliciesPolicySetPolicyRouteCondition[]; + } + + export interface GetRouteTableInputPoliciesPolicySetPolicyRouteCondition { + /** + * Matching mode, `1` precise matching, `0` fuzzy matching. + */ + matchPattern: number; + /** + * condition type. + */ + name: string; + /** + * List of conditional values. + */ + values: 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 +4882,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 { @@ -5132,7 +5900,7 @@ export namespace Cdn { /** * Certificate remarks. */ - message?: string; + message: string; /** * Server key information. This is required when uploading an external certificate. */ @@ -5247,7 +6015,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; /** @@ -5258,6 +6026,10 @@ export namespace Cdn { * 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`. */ cosPrivateAccess?: string; + /** + * Object storage back to the source vendor. Required when the source station type is a third-party storage source station (third_party). Optional values include the following: `awsS3`: AWS S3; `aliOss`: Alibaba Cloud OSS; `hwObs`: Huawei OBS; `qiniuKodo`: Qiniu Cloud kodo; `others`: other vendors' object storage, only supports object storage compatible with AWS signature algorithm, such as Tencent Cloud Financial Zone COS. Example value: `hwObs`. + */ + originCompany?: string; /** * Master origin server list. Valid values can be ip or domain name. When modifying the origin server, you need to enter the corresponding `originType`. */ @@ -5267,7 +6039,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 +6093,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 +6579,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 +16870,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 +18879,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 +19401,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 +19791,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. */ @@ -18596,6 +19951,10 @@ export namespace Cos { * COS returns this index document when requests are made to the root domain or any of the subfolders. */ indexDocument?: string; + /** + * Redirects all request configurations. Valid values: http, https. Default is `http`. + */ + redirectAllRequestsTo: string; } export interface GetBatchsJob { @@ -19886,6 +21245,17 @@ export namespace Css { } export namespace Cvm { + export interface ActionTimerActionTimer { + /** + * Execution time, expressed according to ISO8601 standard and using UTC time. The format is YYYY-MM-DDThh:mm:ssZ. For example, 2018-05-29T11:26:40Z, the execution time must be 5 minutes longer than the current time. + */ + actionTime?: string; + /** + * Timer action, currently only supports destroying one value: TerminateInstances. + */ + timerAction?: string; + } + export interface ChcConfigBmcVirtualPrivateCloud { /** * Whether to use a CVM instance as a public gateway. The public gateway is only available when the instance has a public IP and resides in a VPC. Valid values:<br><li>TRUE: yes;<br><li>FALSE: no<br><br>Default: FALSE. @@ -20090,7 +21460,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 +21795,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 +33939,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 +33978,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; /** @@ -32697,69 +34082,331 @@ export namespace Emr { zone: string; } + export interface ClusterPreExecutedFileSetting { + /** + * Execution script parameters. + */ + args?: string[]; + /** + * Script file name. + */ + cosFileName?: string; + /** + * The cos address of the script. + */ + cosFileUri?: string; + /** + * Cos secretId. + */ + cosSecretId?: string; + /** + * Cos secretKey. + */ + cosSecretKey?: string; + /** + * Remark. + */ + remark?: string; + /** + * Run order. + */ + runOrder?: number; + /** + * `resourceAfter` or `clusterAfter`. + */ + whenRun?: string; + } + export interface ClusterResourceSpec { /** * The number of common node. */ commonCount: number; + /** + * Resource details. + */ commonResourceSpec?: outputs.Emr.ClusterResourceSpecCommonResourceSpec; /** * The number of core node. */ coreCount: number; + /** + * Resource details. + */ coreResourceSpec?: outputs.Emr.ClusterResourceSpecCoreResourceSpec; /** * The number of master node. */ masterCount: number; + /** + * Resource details. + */ masterResourceSpec?: outputs.Emr.ClusterResourceSpecMasterResourceSpec; /** * The number of core node. */ taskCount: number; + /** + * Resource details. + */ taskResourceSpec?: outputs.Emr.ClusterResourceSpecTaskResourceSpec; } export interface ClusterResourceSpecCommonResourceSpec { + /** + * Number of CPU cores. + */ cpu?: number; + /** + * Data disk capacity. + */ diskSize?: number; + /** + * disk types. Value range: + * - CLOUD_SSD: Represents cloud SSD; + * - CLOUD_PREMIUM: Represents efficient cloud disk; + * - CLOUD_BASIC: Represents Cloud Block Storage. + */ diskType?: string; + /** + * Memory size in M. + */ memSize?: number; + /** + * Cloud disk list. When the data disk is a cloud disk, use diskType and diskSize parameters directly, and use multiDisks for excess parts. + */ + multiDisks: outputs.Emr.ClusterResourceSpecCommonResourceSpecMultiDisk[]; + /** + * Root disk capacity. + */ rootSize?: number; + /** + * Node specification description, such as CVM.SA2. + */ spec?: string; + /** + * Storage type. Value range: + * - 4: Represents cloud SSD; + * - 5: Represents efficient cloud disk; + * - 6: Represents enhanced SSD Cloud Block Storage; + * - 11: Represents throughput Cloud Block Storage; + * - 12: Represents extremely fast SSD Cloud Block Storage. + */ storageType?: number; } + export interface ClusterResourceSpecCommonResourceSpecMultiDisk { + /** + * Number of cloud disks of this type. + */ + count: number; + /** + * Cloud disk type + * - CLOUD_SSD: Represents cloud SSD; + * - CLOUD_PREMIUM: Represents efficient cloud disk; + * - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + */ + diskType: string; + /** + * Cloud disk size. + */ + volume: number; + } + export interface ClusterResourceSpecCoreResourceSpec { + /** + * Number of CPU cores. + */ cpu?: number; + /** + * Data disk capacity. + */ diskSize?: number; + /** + * disk types. Value range: + * - CLOUD_SSD: Represents cloud SSD; + * - CLOUD_PREMIUM: Represents efficient cloud disk; + * - CLOUD_BASIC: Represents Cloud Block Storage. + */ diskType?: string; + /** + * Memory size in M. + */ memSize?: number; + /** + * Cloud disk list. When the data disk is a cloud disk, use diskType and diskSize parameters directly, and use multiDisks for excess parts. + */ + multiDisks: outputs.Emr.ClusterResourceSpecCoreResourceSpecMultiDisk[]; + /** + * Root disk capacity. + */ rootSize?: number; + /** + * Node specification description, such as CVM.SA2. + */ spec?: string; + /** + * Storage type. Value range: + * - 4: Represents cloud SSD; + * - 5: Represents efficient cloud disk; + * - 6: Represents enhanced SSD Cloud Block Storage; + * - 11: Represents throughput Cloud Block Storage; + * - 12: Represents extremely fast SSD Cloud Block Storage. + */ storageType?: number; } + export interface ClusterResourceSpecCoreResourceSpecMultiDisk { + /** + * Number of cloud disks of this type. + */ + count: number; + /** + * Cloud disk type + * - CLOUD_SSD: Represents cloud SSD; + * - CLOUD_PREMIUM: Represents efficient cloud disk; + * - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + */ + diskType: string; + /** + * Cloud disk size. + */ + volume: number; + } + export interface ClusterResourceSpecMasterResourceSpec { + /** + * Number of CPU cores. + */ cpu?: number; + /** + * Data disk capacity. + */ diskSize?: number; + /** + * disk types. Value range: + * - CLOUD_SSD: Represents cloud SSD; + * - CLOUD_PREMIUM: Represents efficient cloud disk; + * - CLOUD_BASIC: Represents Cloud Block Storage. + */ diskType?: string; + /** + * Memory size in M. + */ memSize?: number; + /** + * Cloud disk list. When the data disk is a cloud disk, use diskType and diskSize parameters directly, and use multiDisks for excess parts. + */ + multiDisks: outputs.Emr.ClusterResourceSpecMasterResourceSpecMultiDisk[]; + /** + * Root disk capacity. + */ rootSize?: number; + /** + * Node specification description, such as CVM.SA2. + */ spec?: string; + /** + * Storage type. Value range: + * - 4: Represents cloud SSD; + * - 5: Represents efficient cloud disk; + * - 6: Represents enhanced SSD Cloud Block Storage; + * - 11: Represents throughput Cloud Block Storage; + * - 12: Represents extremely fast SSD Cloud Block Storage. + */ storageType?: number; } + export interface ClusterResourceSpecMasterResourceSpecMultiDisk { + /** + * Number of cloud disks of this type. + */ + count: number; + /** + * Cloud disk type + * - CLOUD_SSD: Represents cloud SSD; + * - CLOUD_PREMIUM: Represents efficient cloud disk; + * - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + */ + diskType: string; + /** + * Cloud disk size. + */ + volume: number; + } + export interface ClusterResourceSpecTaskResourceSpec { + /** + * Number of CPU cores. + */ cpu?: number; + /** + * Data disk capacity. + */ diskSize?: number; + /** + * disk types. Value range: + * - CLOUD_SSD: Represents cloud SSD; + * - CLOUD_PREMIUM: Represents efficient cloud disk; + * - CLOUD_BASIC: Represents Cloud Block Storage. + */ diskType?: string; + /** + * Memory size in M. + */ memSize?: number; + /** + * Cloud disk list. When the data disk is a cloud disk, use diskType and diskSize parameters directly, and use multiDisks for excess parts. + */ + multiDisks: outputs.Emr.ClusterResourceSpecTaskResourceSpecMultiDisk[]; + /** + * Root disk capacity. + */ rootSize?: number; + /** + * Node specification description, such as CVM.SA2. + */ spec?: string; + /** + * Storage type. Value range: + * - 4: Represents cloud SSD; + * - 5: Represents efficient cloud disk; + * - 6: Represents enhanced SSD Cloud Block Storage; + * - 11: Represents throughput Cloud Block Storage; + * - 12: Represents extremely fast SSD Cloud Block Storage. + */ storageType?: number; } + export interface ClusterResourceSpecTaskResourceSpecMultiDisk { + /** + * Number of cloud disks of this type. + */ + count: number; + /** + * Cloud disk type + * - CLOUD_SSD: Represents cloud SSD; + * - CLOUD_PREMIUM: Represents efficient cloud disk; + * - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + */ + diskType: string; + /** + * Cloud disk size. + */ + volume: number; + } + + export interface ClusterTerminateNodeInfo { + /** + * Destroy resource list. + */ + cvmInstanceIds?: string[]; + /** + * Value range of destruction node type: `MASTER`, `TASK`, `CORE`, `ROUTER`. + */ + nodeFlag?: string; + } + export interface GetAutoScaleRecordsFilter { /** * Key. Note: This field may return null, indicating that no valid value can be obtained. @@ -33277,6 +34924,10 @@ export namespace Eni { export namespace Enis { export interface GetInstanceEni { + /** + * CDC instance ID. + */ + cdcId: string; /** * Creation time of the ENI. */ @@ -33297,6 +34948,10 @@ export namespace Enis { * A set of intranet IPv4s. */ ipv4s: outputs.Enis.GetInstanceEniIpv4[]; + /** + * A set of intranet IPv6s. + */ + ipv6s: outputs.Enis.GetInstanceEniIpv6[]; /** * MAC address. */ @@ -33346,6 +35001,81 @@ export namespace Enis { primary: boolean; } + export interface GetInstanceEniIpv6 { + /** + * `IPv6` address, such as `3402:4e00:20:100:0:8cd9:2a67:71f3`. + */ + address: string; + /** + * The `ID` of the `EIP` instance, such as `eip-hxlqja90`. + */ + addressId: string; + /** + * Description of the ENI. Conflict with `ids`. + */ + description: string; + /** + * Whether the public IP is blocked. + */ + isWanIpBlocked: boolean; + /** + * Indicates whether the IP is primary. + */ + primary: boolean; + } + +} + +export namespace Events { + export interface AuditTrackFilters { + /** + * Resource filtering conditions. + */ + resourceFields?: outputs.Events.AuditTrackFiltersResourceField[]; + } + + export interface AuditTrackFiltersResourceField { + /** + * Tracking set event type (`Read`: Read; `Write`: Write; `*`: All). + */ + actionType: string; + /** + * The list of API names of tracking set events. When `ResourceType` is `*`, the value of `EventNames` must be `*`. When `ResourceType` is a specified product, the value of `EventNames` can be `*`. When `ResourceType` is `cos` or `cls`, up to 10 APIs are supported. + */ + eventNames: string[]; + /** + * The product to which the tracking set event belongs. The value can be a single product such as `cos`, or `*` that indicates all products. + */ + resourceType: string; + } + + export interface AuditTrackStorage { + /** + * Designated to store user ID. + */ + storageAccountId?: string; + /** + * Designated to store user app ID. + */ + storageAppId?: string; + /** + * Storage name. For COS, the storage name is the custom bucket name, which can contain up to 50 lowercase letters, digits, and hyphens. It cannot contain "-APPID" and cannot start or end with a hyphen. For CLS, the storage name is the log topic ID, which can contain 1-50 characters. + */ + storageName: string; + /** + * Storage directory prefix. The COS log file prefix can only contain 3-40 letters and digits. + */ + storagePrefix: string; + /** + * StorageRegion *string `json:'StorageRegion,omitnil,omitempty' name: 'StorageRegion'`. + */ + storageRegion: string; + /** + * Storage type (Valid values: cos, cls). + */ + storageType: string; + } + } export namespace Gaap { @@ -33717,6 +35447,10 @@ export namespace Gaap { * ID of the SSL certificate. */ gaapAuthId: string; + /** + * Whether to use as the default domain name. + */ + isDefaultServer: boolean; /** * Indicates whether realserver authentication is enable. */ @@ -33933,6 +35667,14 @@ export namespace Gaap { * Status of the layer7 listener. */ status: number; + /** + * Password Suite, optional GAAP_TLS_CIPHERS_STRICT, GAAP_TLS_CIPHERS_GENERAL, GAAP_TLS_CIPHERS_WIDE(default). + */ + tlsCiphers: string; + /** + * TLS version, optional TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. + */ + tlsSupportVersions: string[]; } export interface GetListenerRealServersBindRealServerSet { @@ -34210,6 +35952,10 @@ export namespace Gaap { * IP ListNote: This field may return null, indicating that a valid value cannot be obtained. */ ipLists: outputs.Gaap.GetProxyDetailProxyDetailIpList[]; + /** + * Whether to allow TLS configuration.0-no support, 1-expressed support. + */ + isSupportTlsChoice: number; /** * Configuration change timeNote: This field may return null, indicating that a valid value cannot be obtained. */ @@ -34836,7 +36582,256 @@ export namespace Ha { } +export namespace Identity { + export interface CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicy { + /** + * Role policy add time. + */ + addTime: string; + /** + * Role policy document. + */ + rolePolicyDocument: string; + /** + * Role policy name. + */ + rolePolicyName: string; + /** + * Role policy type. + */ + rolePolicyType: string; + } + + export interface GetCenterGroupsGroup { + /** + * Creation time of the user group. + */ + createTime?: string; + /** + * User group description. + */ + description?: string; + /** + * User group ID. + */ + groupId?: string; + /** + * User group name. + */ + groupName?: string; + /** + * User group type. Manual: manually created; Synchronized: externally imported. + */ + groupType?: string; + /** + * If the input parameter FilterUsers is provided, return true when the user is in the user group; otherwise, return false. + */ + isSelected?: boolean; + /** + * Number of group members. + */ + memberCount?: number; + /** + * Modification time of the user group. + */ + updateTime?: string; + } + + export interface GetCenterRoleConfigurationsRoleConfiguration { + /** + * Creation time of the permission configuration. + */ + createTime?: string; + /** + * Permission configuration description. + */ + description?: string; + /** + * If the input parameter FilterTargets is provided, check whether the member account has been configured with permissions. If configured, return true; otherwise, return false. + */ + isSelected?: boolean; + /** + * Initial access page. It indicates the initial access page URL when CIC users use the access configuration to access member accounts. + */ + relayState?: string; + /** + * Permission configuration ID. + */ + roleConfigurationId?: string; + /** + * Permission configuration name. + */ + roleConfigurationName?: string; + /** + * Session duration. It indicates the maximum session duration when CIC users use the access configuration to access member accounts. + * Unit: seconds. + */ + sessionDuration?: number; + /** + * Update time of the permission configuration. + */ + updateTime?: string; + } + + export interface GetCenterUsersUser { + /** + * Creation time of the user. + */ + createTime?: string; + /** + * User description. + */ + description?: string; + /** + * Display name of the user. + */ + displayName?: string; + /** + * Email address of the user, which must be unique within the directory. + */ + email?: string; + /** + * First name of the user. + */ + firstName?: string; + /** + * Whether selected. + */ + isSelected?: boolean; + /** + * Last name of the user. + */ + lastName?: string; + /** + * Modification time of the user. + */ + updateTime?: string; + /** + * User ID. + */ + userId?: string; + /** + * Queried username. + */ + userName?: string; + /** + * User status: Enabled, Disabled. + */ + userStatus?: string; + /** + * User type. Manual: manually created; Synchronized: externally imported. + */ + userType?: string; + } + +} + export namespace Image { + export interface GetFromFamilyImage { + /** + * Image architecture. + */ + architecture: string; + /** + * Creation time of the image. + */ + createdTime: string; + /** + * Image creator. + */ + imageCreator: string; + /** + * If Image Deprecated. + */ + imageDeprecated: boolean; + /** + * Image description. + */ + imageDescription: string; + /** + * Image family name. + */ + imageFamily: string; + /** + * Image ID. + */ + imageId: string; + /** + * Image name. + */ + imageName: string; + /** + * Image size. + */ + imageSize: number; + /** + * Image source. + */ + imageSource: string; + /** + * Image state. + */ + imageState: string; + /** + * Image type. + */ + imageType: string; + /** + * Whether the image supports cloud-init. + */ + isSupportCloudinit: boolean; + /** + * Image license type. + */ + licenseType: string; + /** + * Operating system of the image. + */ + osName: string; + /** + * Source platform of the image. + */ + platform: string; + /** + * Information on the snapshots associated with the image. + */ + snapshotSets: outputs.Image.GetFromFamilyImageSnapshotSet[]; + /** + * Synchronization percentage. + */ + syncPercent: number; + /** + * The list of tags bound to the image. + */ + tags: outputs.Image.GetFromFamilyImageTag[]; + } + + export interface GetFromFamilyImageSnapshotSet { + /** + * Size of the cloud disk used to create the snapshot, unit(GB). + */ + diskSize: number; + /** + * Type of the cloud disk used to create the snapshot. Valid values: YSTEM_DISK: system disk, DATA_DISK: data disk. + */ + diskUsage: string; + /** + * Snapshot ID. + */ + snapshotId: string; + } + + export interface GetFromFamilyImageTag { + /** + * Key. + */ + key: string; + /** + * Vaule. + */ + value: string; + } + export interface GetInstanceFilter { /** * Key of the filter, valid keys: `image-id`, `image-type`, `image-name`. @@ -35003,6 +36998,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 +37040,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 +37128,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 +37289,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 +37589,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; /** @@ -35568,6 +37602,10 @@ export namespace Kubernetes { * Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. */ preStartUserScript?: string; + /** + * Node taint. + */ + taints?: outputs.Kubernetes.ClusterAttachmentWorkerConfigTaint[]; /** * Base64-encoded User Data text, the length limit is 16KB. */ @@ -35634,11 +37672,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 +37688,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; } @@ -35690,7 +37740,407 @@ export namespace Kubernetes { mountTarget?: string; } - export interface ClusterAttachmentWorkerConfigOverridesGpuArgs { + export interface ClusterAttachmentWorkerConfigOverridesGpuArgs { + /** + * CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + */ + cuda?: {[key: string]: any}; + /** + * cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `docName`: Doc name of cuDNN; `devName`: Dev name of cuDNN. + */ + cudnn?: {[key: string]: any}; + /** + * Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. + */ + customDriver?: {[key: string]: any}; + /** + * GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + */ + driver?: {[key: string]: any}; + /** + * Whether to enable MIG. + */ + migEnable?: boolean; + } + + export interface ClusterAttachmentWorkerConfigTaint { + /** + * Effect of the taint. + */ + effect?: string; + /** + * Key of the taint. + */ + key?: string; + /** + * Value of the taint. + */ + value?: string; + } + + export interface ClusterAuthOptions { + /** + * If set to `true`, the rbac rule will be created automatically which allow anonymous user to access '/.well-known/openid-configuration' and '/openid/v1/jwks'. + */ + autoCreateDiscoveryAnonymousAuth?: boolean; + /** + * Specify service-account-issuer. If useTkeDefault is set to `true`, please do not set this field, it will be ignored anyway. + */ + issuer?: string; + /** + * Specify service-account-jwks-uri. If useTkeDefault is set to `true`, please do not set this field, it will be ignored anyway. + */ + jwksUri?: string; + /** + * If set to `true`, the issuer and jwksUri will be generated automatically by tke, please do not set issuer and jwks_uri, and they will be ignored. + */ + useTkeDefault?: boolean; + } + + export interface ClusterClusterAudit { + /** + * when you want to close the cluster audit log or delete the cluster, you can use this parameter to determine whether the audit log set and topic created by default will be deleted. + */ + deleteAuditLogAndTopic?: boolean; + /** + * Specify weather the Cluster Audit enabled. NOTE: Enable Cluster Audit will also auto install Log Agent. + */ + enabled: boolean; + /** + * Specify id of existing CLS log set, or auto create a new set by leave it empty. + */ + logSetId?: string; + /** + * Specify id of existing CLS log topic, or auto create a new topic by leave it empty. + */ + topicId?: string; + } + + export interface ClusterClusterExtraArgs { + /** + * The customized parameters for kube-apiserver. + */ + kubeApiservers?: string[]; + /** + * The customized parameters for kube-controller-manager. + */ + kubeControllerManagers?: string[]; + /** + * The customized parameters for kube-scheduler. + */ + kubeSchedulers?: string[]; + } + + export interface ClusterEventPersistence { + /** + * when you want to close the cluster event persistence or delete the cluster, you can use this parameter to determine whether the event persistence log set and topic created by default will be deleted. + */ + deleteEventLogAndTopic?: boolean; + /** + * Specify weather the Event Persistence enabled. + */ + enabled: boolean; + /** + * Specify id of existing CLS log set, or auto create a new set by leave it empty. + */ + logSetId?: string; + /** + * Specify id of existing CLS log topic, or auto create a new topic by leave it empty. + */ + topicId?: string; + } + + export interface ClusterExistInstance { + /** + * Custom mode cluster, you can specify the number of pods for each node. corresponding to the existed_instances_para.instance_ids parameter. + */ + desiredPodNumbers?: number[]; + /** + * Reinstallation parameters of an existing instance. + */ + instancesPara?: outputs.Kubernetes.ClusterExistInstanceInstancesPara; + /** + * Role of existed node. value:MASTER_ETCD or WORKER. + */ + nodeRole?: string; + } + + export interface ClusterExistInstanceInstancesPara { + /** + * To specify whether to enable cloud monitor service. Default is TRUE. + */ + enhancedMonitorService?: boolean; + /** + * To specify whether to enable cloud security service. Default is TRUE. + */ + enhancedSecurityService?: boolean; + /** + * Cluster IDs. + */ + instanceIds: string[]; + /** + * ID list of keys, should be set if `password` not set. + */ + keyIds?: string[]; + /** + * Advanced Node Settings. commonly used to attach existing instances. + */ + masterConfig?: outputs.Kubernetes.ClusterExistInstanceInstancesParaMasterConfig; + /** + * Password to access, should be set if `keyIds` not set. + */ + password?: string; + /** + * Security groups to which a CVM instance belongs. + */ + securityGroupIds?: string[]; + } + + export interface ClusterExistInstanceInstancesParaMasterConfig { + /** + * Configurations of data disk. + */ + dataDisk?: outputs.Kubernetes.ClusterExistInstanceInstancesParaMasterConfigDataDisk; + /** + * Indicate to set desired pod number in node. valid when the cluster is podCIDR. + */ + desiredPodNumber?: number; + /** + * Docker graph path. Default is `/var/lib/docker`. + */ + dockerGraphPath?: string; + /** + * Custom parameter information related to the node. This is a white-list parameter. + */ + extraArgs?: outputs.Kubernetes.ClusterExistInstanceInstancesParaMasterConfigExtraArgs; + /** + * GPU driver parameters. + */ + gpuArgs?: outputs.Kubernetes.ClusterExistInstanceInstancesParaMasterConfigGpuArgs; + /** + * Node label list. + */ + labels?: outputs.Kubernetes.ClusterExistInstanceInstancesParaMasterConfigLabel[]; + /** + * Mount target. Default is not mounting. + */ + mountTarget?: string; + /** + * Node taint. + */ + taints?: outputs.Kubernetes.ClusterExistInstanceInstancesParaMasterConfigTaint[]; + /** + * Set whether the joined nodes participate in scheduling, with a default value of 0, indicating participation in scheduling; Non 0 means not participating in scheduling. + */ + unschedulable?: number; + /** + * User script encoded in base64, which will be executed after the k8s component runs. The user needs to ensure the script's reentrant and retry logic. The script and its generated log files can be viewed in the node path /data/ccs_userscript/. If the node needs to be initialized before joining the schedule, it can be used in conjunction with the `unschedulable` parameter. After the final initialization of the userScript is completed, add the command "kubectl uncordon nodename --kubeconfig=/root/.kube/config" to add the node to the schedule. + */ + userScript?: string; + } + + export interface ClusterExistInstanceInstancesParaMasterConfigDataDisk { + /** + * 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`. + */ + diskSize?: number; + /** + * Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD` and `CLOUD_HSSD` and `CLOUD_TSSD`. + */ + diskType?: string; + /** + * File system, e.g. `ext3/ext4/xfs`. + */ + fileSystem?: string; + /** + * Mount target. + */ + mountTarget?: string; + } + + export interface ClusterExistInstanceInstancesParaMasterConfigExtraArgs { + /** + * Kubelet custom parameter. The parameter format is ["k1=v1", "k1=v2"]. + */ + kubelets?: string[]; + } + + export interface ClusterExistInstanceInstancesParaMasterConfigGpuArgs { + /** + * CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + */ + cuda?: {[key: string]: any}; + /** + * cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `docName`: Doc name of cuDNN; `devName`: Dev name of cuDNN. + */ + cudnn?: {[key: string]: any}; + /** + * Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. + */ + customDriver?: {[key: string]: any}; + /** + * GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + */ + driver?: {[key: string]: any}; + /** + * Whether to enable MIG. + */ + migEnable?: boolean; + } + + export interface ClusterExistInstanceInstancesParaMasterConfigLabel { + /** + * Name of map. + */ + name: string; + /** + * Value of map. + */ + value: string; + } + + export interface ClusterExistInstanceInstancesParaMasterConfigTaint { + /** + * Effect of the taint. + */ + effect?: string; + /** + * Key of the taint. + */ + key?: string; + /** + * Value of the taint. + */ + value?: string; + } + + export interface ClusterExtensionAddon { + /** + * Add-on name. + */ + name: string; + /** + * Parameter of the add-on resource object in JSON string format, please check the example at the top of page for reference. + */ + param: string; + } + + export interface ClusterLogAgent { + /** + * Whether the log agent enabled. + */ + enabled: boolean; + /** + * Kubelet root directory as the literal. + */ + kubeletRootDir?: string; + } + + export interface ClusterMasterAttachmentExtraArgs { + /** + * etcd custom parameters. Only supports independent clusters. + */ + etcds?: string[]; + /** + * Kube apiserver custom parameters. The parameter format is ["k1=v1", "k1=v2"]. + */ + kubeApiServers?: string[]; + /** + * Kube controller manager custom parameters. + */ + kubeControllerManagers?: string[]; + /** + * kube scheduler custom parameters. + */ + kubeSchedulers?: string[]; + } + + export interface ClusterMasterAttachmentMasterConfig { + /** + * Configurations of data disk. + */ + dataDisk?: outputs.Kubernetes.ClusterMasterAttachmentMasterConfigDataDisk; + /** + * Indicate to set desired pod number in node. valid when the cluster is podCIDR. + */ + desiredPodNumber?: number; + /** + * Docker graph path. Default is `/var/lib/docker`. + */ + dockerGraphPath?: string; + /** + * Custom parameter information related to the node. This is a white-list parameter. + */ + extraArgs?: outputs.Kubernetes.ClusterMasterAttachmentMasterConfigExtraArgs; + /** + * GPU driver parameters. + */ + gpuArgs?: outputs.Kubernetes.ClusterMasterAttachmentMasterConfigGpuArgs; + /** + * Node label list. + */ + labels?: outputs.Kubernetes.ClusterMasterAttachmentMasterConfigLabel[]; + /** + * Mount target. Default is not mounting. + */ + mountTarget?: string; + /** + * Node taint. + */ + taints?: outputs.Kubernetes.ClusterMasterAttachmentMasterConfigTaint[]; + /** + * Set whether the joined nodes participate in scheduling, with a default value of 0, indicating participation in scheduling; Non 0 means not participating in scheduling. + */ + unschedulable?: number; + /** + * User script encoded in base64, which will be executed after the k8s component runs. The user needs to ensure the script's reentrant and retry logic. The script and its generated log files can be viewed in the node path /data/ccs_userscript/. If the node needs to be initialized before joining the schedule, it can be used in conjunction with the `unschedulable` parameter. After the final initialization of the userScript is completed, add the command "kubectl uncordon nodename --kubeconfig=/root/.kube/config" to add the node to the schedule. + */ + userScript?: string; + } + + export interface ClusterMasterAttachmentMasterConfigDataDisk { + /** + * Indicate whether to auto format and mount or not. Default is `false`. + */ + autoFormatAndMount?: boolean; + /** + * The name of the device or partition to mount. NOTE: this argument doesn't support setting in node pool, or will leads to mount error. + */ + diskPartition?: string; + /** + * Volume of disk in GB. Default is `0`. + */ + diskSize?: number; + /** + * Types of disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. + */ + diskType?: string; + /** + * File system, e.g. `ext3/ext4/xfs`. + */ + fileSystem?: string; + /** + * Mount target. + */ + mountTarget?: string; + } + + export interface ClusterMasterAttachmentMasterConfigExtraArgs { + /** + * Kubelet custom parameter. The parameter format is ["k1=v1", "k1=v2"]. + */ + kubelets?: string[]; + } + + export interface ClusterMasterAttachmentMasterConfigGpuArgs { /** * CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. */ @@ -35713,120 +38163,30 @@ export namespace Kubernetes { migEnable?: boolean; } - export interface ClusterAuthOptions { - /** - * If set to `true`, the rbac rule will be created automatically which allow anonymous user to access '/.well-known/openid-configuration' and '/openid/v1/jwks'. - */ - autoCreateDiscoveryAnonymousAuth?: boolean; - /** - * Specify service-account-issuer. If useTkeDefault is set to `true`, please do not set this field, it will be ignored anyway. - */ - issuer?: string; - /** - * Specify service-account-jwks-uri. If useTkeDefault is set to `true`, please do not set this field, it will be ignored anyway. - */ - jwksUri?: string; - /** - * If set to `true`, the issuer and jwksUri will be generated automatically by tke, please do not set issuer and jwks_uri, and they will be ignored. - */ - useTkeDefault?: boolean; - } - - export interface ClusterClusterAudit { - /** - * when you want to close the cluster audit log or delete the cluster, you can use this parameter to determine whether the audit log set and topic created by default will be deleted. - */ - deleteAuditLogAndTopic?: boolean; - /** - * Specify weather the Cluster Audit enabled. NOTE: Enable Cluster Audit will also auto install Log Agent. - */ - enabled: boolean; - /** - * Specify id of existing CLS log set, or auto create a new set by leave it empty. - */ - logSetId?: string; - /** - * Specify id of existing CLS log topic, or auto create a new topic by leave it empty. - */ - topicId?: string; - } - - export interface ClusterClusterExtraArgs { - /** - * The customized parameters for kube-apiserver. - */ - kubeApiservers?: string[]; - /** - * The customized parameters for kube-controller-manager. - */ - kubeControllerManagers?: string[]; - /** - * The customized parameters for kube-scheduler. - */ - kubeSchedulers?: string[]; - } - - export interface ClusterEventPersistence { - /** - * when you want to close the cluster event persistence or delete the cluster, you can use this parameter to determine whether the event persistence log set and topic created by default will be deleted. - */ - deleteEventLogAndTopic?: boolean; - /** - * Specify weather the Event Persistence enabled. - */ - enabled: boolean; - /** - * Specify id of existing CLS log set, or auto create a new set by leave it empty. - */ - logSetId?: string; - /** - * Specify id of existing CLS log topic, or auto create a new topic by leave it empty. - */ - topicId?: string; - } - - export interface ClusterExistInstance { - /** - * Custom mode cluster, you can specify the number of pods for each node. corresponding to the existed_instances_para.instance_ids parameter. - */ - desiredPodNumbers?: number[]; - /** - * Reinstallation parameters of an existing instance. - */ - instancesPara?: outputs.Kubernetes.ClusterExistInstanceInstancesPara; + export interface ClusterMasterAttachmentMasterConfigLabel { /** - * Role of existed node. value:MASTER_ETCD or WORKER. + * Name of map. */ - nodeRole?: string; - } - - export interface ClusterExistInstanceInstancesPara { + name: string; /** - * Cluster IDs. + * Value of map. */ - instanceIds: string[]; + value: string; } - export interface ClusterExtensionAddon { - /** - * Add-on name. - */ - name: string; + export interface ClusterMasterAttachmentMasterConfigTaint { /** - * Parameter of the add-on resource object in JSON string format, please check the example at the top of page for reference. + * Effect of the taint. */ - param: string; - } - - export interface ClusterLogAgent { + effect?: string; /** - * Whether the log agent enabled. + * Key of the taint. */ - enabled: boolean; + key?: string; /** - * Kubelet root directory as the literal. + * Value of the taint. */ - kubeletRootDir?: string; + value?: string; } export interface ClusterMasterConfig { @@ -36018,6 +38378,21 @@ export namespace Kubernetes { skipNodesWithSystemPods: boolean; } + export interface ClusterResourceDeleteOption { + /** + * The deletion mode of CBS resources when the cluster is deleted, `terminate` (destroy), `retain` (retain). Other resources are deleted by default. + */ + deleteMode: string; + /** + * Resource type, valid values are `CBS`, `CLB`, and `CVM`. + */ + resourceType: string; + /** + * Whether to skip resources with deletion protection enabled, the default is false. + */ + skipDeletionProtection?: boolean; + } + export interface ClusterWorkerConfig { /** * Indicates which availability zone will be used. @@ -36266,6 +38641,12 @@ export namespace Kubernetes { /** * The CommonName in the certificate of the client corresponding to the sub-account. */ + commonName: string; + /** + * (**Deprecated**) It has been deprecated from version 1.81.140. Please use `commonName`. The CommonName in the certificate of the client corresponding to the sub-account. + * + * @deprecated It has been deprecated from version 1.81.140. Please use `commonName`. + */ commonNames: string; /** * User UIN. @@ -37175,6 +39556,10 @@ export namespace Kubernetes { } export interface GetClustersList { + /** + * CDC ID. + */ + cdcId: string; /** * The certificate used for access. */ @@ -37365,6 +39750,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. @@ -37436,6 +39836,10 @@ export namespace Kubernetes { * Predefined scripts. */ lifecycle: outputs.Kubernetes.NativeNodePoolNativeLifecycle; + /** + * Node pool type. Example value: `NativeCVM` or `Native`. Default is `Native`. + */ + machineType: string; /** * Node pool management parameter settings. */ @@ -37624,6 +40028,17 @@ export namespace Kubernetes { value?: string; } + export interface NodePoolAnnotation { + /** + * Name in the map table. + */ + name: string; + /** + * Value in the map table. + */ + value: string; + } + export interface NodePoolAutoScalingConfig { /** * Backup CVM instance types if specified instance type sold out or mismatch. @@ -37673,6 +40088,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 +40280,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`. */ @@ -37902,6 +40325,21 @@ export namespace Kubernetes { migEnable?: boolean; } + export interface ScaleWorkerTaint { + /** + * Effect of the taint. + */ + effect?: string; + /** + * Key of the taint. + */ + key?: string; + /** + * Value of the taint. + */ + value?: string; + } + export interface ScaleWorkerWorkerConfig { /** * Indicates which availability zone will be used. @@ -37920,7 +40358,7 @@ export namespace Kubernetes { */ count?: number; /** - * Configurations of data disk. + * Configurations of cvm data disk. */ dataDisks?: outputs.Kubernetes.ScaleWorkerWorkerConfigDataDisk[]; /** @@ -38016,10 +40454,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 +40478,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 +40488,8 @@ export namespace Kubernetes { kmsKeyId?: string; /** * Mount target. + * + * @deprecated This argument was deprecated, use `dataDisk` instead. */ mountTarget?: string; /** @@ -39080,6 +41526,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 +45713,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. @@ -55112,6 +57914,59 @@ export namespace Organization { name: string; } + export interface GetNodesItem { + /** + * Creation time. + */ + createTime: string; + /** + * Name. + */ + name: string; + /** + * Organization node ID. + */ + nodeId: number; + /** + * Parent node ID. + */ + parentNodeId: number; + /** + * Remarks. + */ + remark: string; + /** + * Department tag search list, with a maximum of 10. + */ + tags: outputs.Organization.GetNodesItemTag[]; + /** + * Update time. + */ + updateTime: string; + } + + export interface GetNodesItemTag { + /** + * Tag key. + */ + tagKey: string; + /** + * Tag value. + */ + tagValue: string; + } + + export interface GetNodesTag { + /** + * Tag key. + */ + tagKey: string; + /** + * Tag value. + */ + tagValue: string; + } + export interface GetOrgAuthNodeItem { /** * Verified company name. @@ -55210,6 +58065,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 +58206,140 @@ 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 CloneDbInstanceDbNodeSet { + /** + * Dedicated cluster ID. + */ + dedicatedClusterId?: string; + /** + * Node type. Valid values: + * `Primary`; + * `Standby`. + */ + role: string; + /** + * AZ where the node resides, such as ap-guangzhou-1. + */ + zone: string; + } + + export interface CloneDbInstanceTagList { + /** + * Tag key. + */ + tagKey: string; + /** + * Tag value. + */ + tagValue: 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 +58475,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. @@ -56269,22 +59372,26 @@ export namespace Postgresql { /** * List of backup period per week, available values: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`. NOTE: At least specify two days. */ - backupPeriods?: string[]; + backupPeriods: string[]; /** * Specify days of the retention. */ - baseBackupRetentionPeriod?: number; + baseBackupRetentionPeriod: number; /** * Specify latest backup start time, format `hh:mm:ss`. */ - maxBackupStartTime?: string; + maxBackupStartTime: string; /** * Specify earliest backup start time, format `hh:mm:ss`. */ - minBackupStartTime?: string; + minBackupStartTime: string; } export interface InstanceDbNodeSet { + /** + * Dedicated cluster ID. + */ + dedicatedClusterId?: string; /** * Indicates node type, available values:`Primary`, `Standby`. Default: `Standby`. */ @@ -56320,6 +59427,143 @@ export namespace Postgresql { } export namespace PrivateDns { + export interface GetEndPointsEndPointSet { + /** + * Endpoint ID. + */ + endPointId: string; + /** + * Endpoint name. + */ + endPointName: string; + /** + * Endpoint service ID. + */ + endPointServiceId: string; + /** + * VIP list of the endpoint. + */ + endPointVipSets: string[]; + /** + * ap-guangzhou + * Note: This field may return null, indicating that no valid values can be obtained. + */ + regionCode: string; + /** + * Tag key-value pair collection. + * Note: This field may return null, indicating that no valid values can be obtained. + */ + tags: outputs.PrivateDns.GetEndPointsEndPointSetTag[]; + } + + export interface GetEndPointsEndPointSetTag { + /** + * Tag key. + */ + tagKey: string; + /** + * Tag value. + */ + tagValue: string; + } + + export interface GetEndPointsFilter { + /** + * Parameter name. + */ + name: string; + /** + * Array of parameter values. + */ + values: string[]; + } + + export interface GetForwardRulesFilter { + /** + * Parameter name. + */ + name: string; + /** + * Array of parameter values. + */ + values: string[]; + } + + export interface GetForwardRulesForwardRuleSet { + /** + * Creation time. + */ + createdAt: string; + /** + * Private domain name. + */ + domain: string; + /** + * Endpoint ID. + */ + endPointId: string; + /** + * Endpoint name. + */ + endPointName: string; + /** + * Forwarding address. + */ + forwardAddresses: string[]; + /** + * Rule ID. + */ + ruleId: string; + /** + * Forwarding rule name. + */ + ruleName: string; + /** + * Forwarding rule type. DOWN: From cloud to off-cloud; UP: From off-cloud to cloud. + */ + ruleType: string; + /** + * Tag. + * Note: This field may return null, indicating that no valid values can be obtained. + */ + tags: outputs.PrivateDns.GetForwardRulesForwardRuleSetTag[]; + /** + * Update time. + */ + updatedAt: string; + /** + * List of VPCs bound to the private domain. + * Note: This field may return null, indicating that no valid values can be obtained. + */ + vpcSets: outputs.PrivateDns.GetForwardRulesForwardRuleSetVpcSet[]; + /** + * ID of the bound private domain. + */ + zoneId: string; + } + + export interface GetForwardRulesForwardRuleSetTag { + /** + * Tag key. + */ + tagKey: string; + /** + * Tag value. + */ + tagValue: string; + } + + export interface GetForwardRulesForwardRuleSetVpcSet { + /** + * VPC region: ap-guangzhou, ap-shanghai. + */ + region: string; + /** + * VpcId: vpc-xadsafsdasd. + */ + uniqVpcId: string; + } + export interface GetPrivateZoneListFilter { /** * name. @@ -58558,6 +61802,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. @@ -59429,7 +62762,7 @@ export namespace Scf { */ triggerDesc: string; /** - * Type of the SCF function trigger, support `cos`, `cmq`, `timer`, `ckafka`, `apigw`. + * Type of the SCF function trigger, support `cos`, `cls`, `timer`, `ckafka`, `http`, `apigw`, `cmq`. */ type: string; } @@ -59460,7 +62793,7 @@ export namespace Scf { */ triggerDesc: string; /** - * Type of the SCF function trigger, support `cos`, `cmq`, `timer`, `ckafka`, `apigw`. + * Type of the SCF function trigger, support `cos`, `cls`, `timer`, `ckafka`, `http`, `apigw`, `cmq`. */ type: string; } @@ -60300,15 +63633,15 @@ export namespace Security { */ action: string; /** - * Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. + * Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. */ addressTemplateGroup?: string; /** - * Specify Address template ID like `ipm-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. + * Specify Address template ID like `ipm-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. */ addressTemplateId?: string; /** - * An IP address network or CIDR segment. NOTE: `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` are exclusive and cannot be set in the same time. + * An IP address network or CIDR segment. NOTE: `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` are exclusive and cannot be set in the same time; One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. */ cidrBlock?: string; /** @@ -60316,7 +63649,7 @@ export namespace Security { */ description?: string; /** - * An IPV6 address network or CIDR segment, and conflict with `sourceSecurityId` and `address_template_*`. + * An IPV6 address network or CIDR segment, and conflict with `sourceSecurityId` and `address_template_*`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. */ ipv6CidrBlock?: string; /** @@ -60328,7 +63661,7 @@ export namespace Security { */ port: string; /** - * Type of IP protocol. Valid values: `TCP`, `UDP` and `ICMP`. Default to all types protocol, and conflicts with `service_template_*`. + * Type of IP protocol. Valid values: `TCP`, `UDP`, `ICMP`, `ICMPv6` and `ALL`. Default to all types protocol, and conflicts with `service_template_*`. */ protocol: string; /** @@ -60340,7 +63673,7 @@ export namespace Security { */ serviceTemplateId?: string; /** - * ID of the nested security group, and conflicts with `cidrBlock` and `address_template_*`. + * ID of the nested security group, and conflicts with `cidrBlock` and `address_template_*`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. */ sourceSecurityId?: string; } @@ -60351,15 +63684,15 @@ export namespace Security { */ action: string; /** - * Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. + * Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. */ addressTemplateGroup?: string; /** - * Specify Address template ID like `ipm-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. + * Specify Address template ID like `ipm-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. */ addressTemplateId?: string; /** - * An IP address network or CIDR segment. NOTE: `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` are exclusive and cannot be set in the same time. + * An IP address network or CIDR segment. NOTE: `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` are exclusive and cannot be set in the same time; One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. */ cidrBlock?: string; /** @@ -60367,7 +63700,7 @@ export namespace Security { */ description?: string; /** - * An IPV6 address network or CIDR segment, and conflict with `sourceSecurityId` and `address_template_*`. + * An IPV6 address network or CIDR segment, and conflict with `sourceSecurityId` and `address_template_*`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. */ ipv6CidrBlock?: string; /** @@ -60379,7 +63712,7 @@ export namespace Security { */ port: string; /** - * Type of IP protocol. Valid values: `TCP`, `UDP` and `ICMP`. Default to all types protocol, and conflicts with `service_template_*`. + * Type of IP protocol. Valid values: `TCP`, `UDP`, `ICMP`, `ICMPv6` and `ALL`. Default to all types protocol, and conflicts with `service_template_*`. */ protocol: string; /** @@ -60391,7 +63724,7 @@ export namespace Security { */ serviceTemplateId?: string; /** - * ID of the nested security group, and conflicts with `cidrBlock` and `address_template_*`. + * ID of the nested security group, and conflicts with `cidrBlock` and `address_template_*`. NOTE: One of `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` must be set. */ sourceSecurityId?: string; } @@ -60786,6 +64119,52 @@ export namespace Ses { } +export namespace Sg { + export interface RuleData { + /** + * Description. + */ + description: string; + /** + * Destination example: `net`: IP/CIDR (192.168.0.2); `template`: parameter template (ipm-dyodhpby); `instance`: asset instance (ins-123456); `resourcegroup`: asset group (/all groups/group 1/subgroup 1); `tag`: resource tag ({"Key":"tag key","Value":"tag value"}); `region`: region (ap-gaungzhou). + */ + destContent: string; + /** + * Access destination type. Valid values: net|template|instance|resourcegroup|tag|region. + */ + destType: string; + /** + * Rule priority. + */ + orderIndex: string; + /** + * The port to apply access control rules. Valid values: `-1/-1`: all ports, `80`: port 80. + */ + port?: string; + /** + * Protocol. TCP/UDP/ICMP/ANY. + */ + protocol?: string; + /** + * The action that Cloud Firewall performs on the traffic. Valid values: `accept`: allow, `drop`: deny. + */ + ruleAction: string; + /** + * Parameter template ID of port and protocol type; mutually exclusive with Protocol and Port. + */ + serviceTemplateId?: string; + /** + * Source example: `net`: IP/CIDR (192.168.0.2); `template`: parameter template (ipm-dyodhpby); `instance`: asset instance (ins-123456); `resourcegroup`: asset group (/all groups/group 1/subgroup 1); `tag`: resource tag ({"Key":"tag key","Value":"tag value"}); `region`: region (ap-gaungzhou). + */ + sourceContent: string; + /** + * Access source type. Valid values: net|template|instance|resourcegroup|tag|region. + */ + sourceType: string; + } + +} + export namespace Sqlserver { export interface BusinessIntelligenceInstanceResourceTag { /** @@ -61693,6 +65072,41 @@ export namespace Sqlserver { } export namespace Ssl { + export interface CheckCertificateDomainVerificationOperationVerificationResult { + /** + * CA inspection results. + */ + caCheck: number; + /** + * Detected values. + */ + checkValues: string[]; + /** + * Domain name. + */ + domain: string; + /** + * Whether frequent requests. + */ + frequently: boolean; + /** + * Whether issued. + */ + issued: boolean; + /** + * Local inspection results. + */ + localCheck: number; + /** + * Check the reason for the failure. + */ + localCheckFailReason: string; + /** + * Domain Verify Type. + */ + verifyType: string; + } + export interface FreeCertificateDvAuth { /** * DV authentication key. @@ -61749,6 +65163,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 +65187,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 { @@ -65105,6 +68527,20 @@ export namespace Tcr { } +export namespace Tcss { + export interface ImageRegistryConnDetectConfig { + /** + * Host Quuid. + */ + quuid?: string; + /** + * Host uuid. + */ + uuid?: string; + } + +} + export namespace Tdcpg { export interface GetClustersList { /** @@ -66655,6 +70091,60 @@ export namespace Teo { type: string; } + export interface FunctionRuleFunctionRuleCondition { + /** + * For edge function trigger rule conditions, if all items in the list are satisfied, then the condition is considered fulfilled. + */ + ruleConditions: outputs.Teo.FunctionRuleFunctionRuleConditionRuleCondition[]; + } + + export interface FunctionRuleFunctionRuleConditionRuleCondition { + /** + * Whether the parameter value is case insensitive. Default value: false. + */ + ignoreCase?: boolean; + /** + * The parameter name of the match type. This field is required only when `Target=query_string/request_header`. + */ + name?: string; + /** + * Operator. Valid values: + */ + operator: string; + /** + * The match type. Values: + */ + target: string; + /** + * The parameter value of the match type. It can be an empty string only when `Target=query string/request header` and `Operator=exist/notexist`. + * - When `Target=extension`, enter the file extension, such as "jpg" and "txt". + * - When `Target=filename`, enter the file name, such as "foo" in "foo.jpg". + * - When `Target=all`, it indicates any site request. + * - When `Target=host`, enter the host under the current site, such as "www.maxx55.com". + * - When `Target=url`, enter the partial URL path under the current site, such as "/example". + * - When `Target=full_url`, enter the complete URL under the current site. It must contain the HTTP protocol, host, and path, such as "https://www.maxx55.cn/example". + * - When `Target=client_country`, enter the ISO-3166 country/region code. + * - When `Target=query_string`, enter the value of the query string, such as "cn" and "1" in "lang=cn&version=1". + * - When `Target=request_header`, enter the HTTP request header value, such as "zh-CN,zh;q=0.9" in the "Accept-Language:zh-CN,zh;q=0.9" header. + */ + values?: string[]; + } + + export interface FunctionRuntimeEnvironmentEnvironmentVariable { + /** + * The name of the variable, which is limited to alphanumeric characters and the special characters `@`, `.`, `-`, and `_`. It can have a maximum of 64 bytes and should not be duplicated. + */ + key: string; + /** + * The type of the variable can have the following values: - `string`: Represents a string type. - `json`: Represents a JSON object type. + */ + type: string; + /** + * The value of the variable, which is limited to a maximum of 5000 bytes. The default value is empty. + */ + value: string; + } + export interface GetRuleEngineSettingsAction { /** * Action name. @@ -67323,6 +70813,21 @@ export namespace Teo { values?: string[]; } + export interface SecurityIpGroupIpGroup { + /** + * IP group content. Only supports IP and IP mask. + */ + contents: string[]; + /** + * Group ID. + */ + groupId: number; + /** + * Group name. + */ + name: string; + } + export interface ZoneOwnershipVerification { /** * CNAME access, using DNS to resolve the information required for authentication. For details, please refer to [Site/Domain Name Ownership Verification ](https://cloud.tencent.com/document/product/1552/70789#7af6ecf8-afca-4e35-8811-b5797ed1bde5). Note: This field may return null, indicating that no valid value can be obtained. @@ -67588,6 +71093,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 +78067,10 @@ export namespace Vpc { * The number of available IPs. */ availableIpCount: number; + /** + * ID of CDC instance. + */ + cdcId: string; /** * Filter subnet with this CIDR. */ @@ -75440,120 +79135,91 @@ export namespace Waf { writeConfig: string; } - export interface GetWafInfosHostList { - /** - * Domain name. - */ - domain: string; - /** - * Domain unique ID. - */ - domainId: string; - /** - * WAF traffic mode, 1 cleaning mode, 0 mirroring mode. - */ - flowMode: number; - /** - * LoadBalancer info bound by waf. - */ - loadBalancers: outputs.Waf.GetWafInfosHostListLoadBalancer[]; - /** - * Waf switch,0 off 1 on. - */ - status: number; - } - - export interface GetWafInfosHostListLoadBalancer { - /** - * Unique ID of listener in LB. - */ - listenerId: string; - /** - * Listener name. - */ - listenerName: string; - /** - * LoadBalancer ID. - */ - loadBalancerId: string; - /** - * LoadBalancer name. - */ - loadBalancerName: string; + export interface IpAccessControlItem { /** - * Network type for load balancerNote: This field may return null, indicating that a valid value cannot be obtained. + * Action value 40 is whitelist, 42 is blacklist. */ - loadBalancerType: string; + action: number; /** - * VPCID for load balancer, public network is -1, and internal network is filled in according to actual conditionsNote: This field may return null, indicating that a valid value cannot be obtained. + * ID of the resource. */ - numericalVpcId: number; + id: string; /** - * Protocol of listener,http or https. + * IP address. */ - protocol: string; + ip: string; /** - * LoadBalancer region. + * Note info. */ - region: string; + note: string; /** - * LoadBalancer IP. + * Source. */ - vip: string; + source: string; /** - * LoadBalancer port. + * Valid status. */ - vport: number; + validStatus: number; /** - * LoadBalancer zone. + * Effective date, with a second level timestamp value. For example, 1680570420 represents 2023-04-04 09:07:00; 2019571199 means permanently effective. */ - zone: string; + validTs: number; } - export interface GetWafInfosParam { + export interface IpAccessControlV2JobDateTime { /** - * Domain unique ID. + * Time parameters for periodic execution + * Note: This field may return null, indicating that no valid values can be obtained. */ - domainId?: string; + crons?: outputs.Waf.IpAccessControlV2JobDateTimeCron[]; /** - * Listener ID of LoadBalancer. + * Time zone + * Note: This field may return null, indicating that no valid values can be obtained. */ - listenerId?: string; + timeTZone?: string; /** - * Loadbalancer unique ID.If this parameter is not passed, it will operate all listeners of this appid. If this parameter is not empty, it will operate listeners of the LoadBalancer only. + * Time parameters for scheduled execution + * Note: This field may return null, indicating that no valid values can be obtained. */ - loadBalancerId: string; + timeds?: outputs.Waf.IpAccessControlV2JobDateTimeTimed[]; } - export interface IpAccessControlItem { - /** - * Action value 40 is whitelist, 42 is blacklist. - */ - action: number; + export interface IpAccessControlV2JobDateTimeCron { /** - * ID of the resource. + * Days in each month for execution + * Note: This field may return null, indicating that no valid values can be obtained. */ - id: string; + days?: number[]; /** - * IP address. + * End time + * + * Note: This field may return null, indicating that no valid values can be obtained. */ - ip: string; + endTime?: string; /** - * Note info. + * Start time + * + * Note: This field may return null, indicating that no valid values can be obtained. */ - note: string; + startTime?: string; /** - * Source. + * Days of each week for execution + * Note: This field may return null, indicating that no valid values can be obtained. */ - source: string; + wDays?: number[]; + } + + export interface IpAccessControlV2JobDateTimeTimed { /** - * Valid status. + * End timestamp, in seconds + * Note: This field may return null, indicating that no valid values can be obtained. */ - validStatus: number; + endDateTime?: number; /** - * Effective date, with a second level timestamp value. For example, 1680570420 represents 2023-04-04 09:07:00; 2019571199 means permanently effective. + * Start timestamp, in seconds + * Note: This field may return null, indicating that no valid values can be obtained. */ - validTs: number; + startDateTime?: number; } export interface SaasDomainPort { @@ -77217,6 +80883,10 @@ export namespace Wedata { export namespace config { export interface AssumeRole { + /** + * External role ID, which can be obtained by clicking the role name in the CAM console. It can contain 2-128 letters, digits, and symbols (=,.@:/-). Regex: [\w+=,.@:/-]*. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_EXTERNAL_ID`. + */ + externalId?: string; /** * A more restrictive policy when making the AssumeRole call. Its content must not contains `principal` elements. Notice: more syntax references, please refer to: [policies syntax logic](https://intl.cloud.tencent.com/document/product/598/10603). */ @@ -77235,4 +80905,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/flowLog.ts b/sdk/nodejs/vpc/flowLog.ts index 269c5e05b..20ca9bcd8 100644 --- a/sdk/nodejs/vpc/flowLog.ts +++ b/sdk/nodejs/vpc/flowLog.ts @@ -18,7 +18,7 @@ import * as utilities from "../utilities"; * vpc flow_log can be imported using the flow log Id combine vpc Id, e.g. * * ```sh - * $ pulumi import tencentcloud:Vpc/flowLog:FlowLog flow_log flow_log_id fl-xxxx1234#vpc-yyyy5678 + * $ pulumi import tencentcloud:Vpc/flowLog:FlowLog example fl-7k59x22l#vpc-n6qjlen5 * ``` */ export class FlowLog extends pulumi.CustomResource { 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..3c4172975 100644 --- a/sdk/nodejs/vpc/notifyRoutes.ts +++ b/sdk/nodejs/vpc/notifyRoutes.ts @@ -4,6 +4,17 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; +/** + * Provides a resource to create a vpc notifyRoutes + * + * ## Import + * + * vpc notify_routes can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Vpc/notifyRoutes:NotifyRoutes notify_routes route_table_id#route_item_id + * ``` + */ export class NotifyRoutes extends pulumi.CustomResource { /** * Get an existing NotifyRoutes resource's state with the given name, ID, and optional extra @@ -39,7 +50,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 +100,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 +114,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/nodejs/vpn/connection.ts b/sdk/nodejs/vpn/connection.ts index 85da86227..4cd8c6677 100644 --- a/sdk/nodejs/vpn/connection.ts +++ b/sdk/nodejs/vpn/connection.ts @@ -133,7 +133,7 @@ export class Connection extends pulumi.CustomResource { /** * Local FQDN name of the IKE operation specification. */ - public readonly ikeLocalFqdnName!: pulumi.Output; + public readonly ikeLocalFqdnName!: pulumi.Output; /** * Local identity way of IKE operation specification. Valid values: `ADDRESS`, `FQDN`. Default value is `ADDRESS`. */ @@ -153,7 +153,7 @@ export class Connection extends pulumi.CustomResource { /** * Remote FQDN name of the IKE operation specification. */ - public readonly ikeRemoteFqdnName!: pulumi.Output; + public readonly ikeRemoteFqdnName!: pulumi.Output; /** * Remote identity way of IKE operation specification. Valid values: `ADDRESS`, `FQDN`. Default value is `ADDRESS`. */ diff --git a/sdk/nodejs/waf/getWafInfos.ts b/sdk/nodejs/waf/getWafInfos.ts deleted file mode 100644 index f170aedb0..000000000 --- a/sdk/nodejs/waf/getWafInfos.ts +++ /dev/null @@ -1,48 +0,0 @@ -// *** WARNING: this file 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"; - -export function getWafInfos(args: GetWafInfosArgs, opts?: pulumi.InvokeOptions): Promise { - - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); - return pulumi.runtime.invoke("tencentcloud:Waf/getWafInfos:getWafInfos", { - "params": args.params, - "resultOutputFile": args.resultOutputFile, - }, opts); -} - -/** - * A collection of arguments for invoking getWafInfos. - */ -export interface GetWafInfosArgs { - params: inputs.Waf.GetWafInfosParam[]; - resultOutputFile?: string; -} - -/** - * A collection of values returned by getWafInfos. - */ -export interface GetWafInfosResult { - readonly hostLists: outputs.Waf.GetWafInfosHostList[]; - /** - * The provider-assigned unique ID for this managed resource. - */ - readonly id: string; - readonly params: outputs.Waf.GetWafInfosParam[]; - readonly resultOutputFile?: string; -} -export function getWafInfosOutput(args: GetWafInfosOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { - return pulumi.output(args).apply((a: any) => getWafInfos(a, opts)) -} - -/** - * A collection of arguments for invoking getWafInfos. - */ -export interface GetWafInfosOutputArgs { - params: pulumi.Input[]>; - resultOutputFile?: pulumi.Input; -} diff --git a/sdk/nodejs/waf/index.ts b/sdk/nodejs/waf/index.ts index c28bd3256..84211d55a 100644 --- a/sdk/nodejs/waf/index.ts +++ b/sdk/nodejs/waf/index.ts @@ -120,20 +120,15 @@ export const getUserDomains: typeof import("./getUserDomains").getUserDomains = export const getUserDomainsOutput: typeof import("./getUserDomains").getUserDomainsOutput = null as any; utilities.lazyLoad(exports, ["getUserDomains","getUserDomainsOutput"], () => require("./getUserDomains")); -export { GetWafInfosArgs, GetWafInfosResult, GetWafInfosOutputArgs } from "./getWafInfos"; -export const getWafInfos: typeof import("./getWafInfos").getWafInfos = null as any; -export const getWafInfosOutput: typeof import("./getWafInfos").getWafInfosOutput = null as any; -utilities.lazyLoad(exports, ["getWafInfos","getWafInfosOutput"], () => require("./getWafInfos")); - export { IpAccessControlArgs, IpAccessControlState } from "./ipAccessControl"; export type IpAccessControl = import("./ipAccessControl").IpAccessControl; export const IpAccessControl: typeof import("./ipAccessControl").IpAccessControl = null as any; utilities.lazyLoad(exports, ["IpAccessControl"], () => require("./ipAccessControl")); -export { ModifyAccessPeriodArgs, ModifyAccessPeriodState } from "./modifyAccessPeriod"; -export type ModifyAccessPeriod = import("./modifyAccessPeriod").ModifyAccessPeriod; -export const ModifyAccessPeriod: typeof import("./modifyAccessPeriod").ModifyAccessPeriod = null as any; -utilities.lazyLoad(exports, ["ModifyAccessPeriod"], () => require("./modifyAccessPeriod")); +export { IpAccessControlV2Args, IpAccessControlV2State } from "./ipAccessControlV2"; +export type IpAccessControlV2 = import("./ipAccessControlV2").IpAccessControlV2; +export const IpAccessControlV2: typeof import("./ipAccessControlV2").IpAccessControlV2 = null as any; +utilities.lazyLoad(exports, ["IpAccessControlV2"], () => require("./ipAccessControlV2")); export { ModuleStatusArgs, ModuleStatusState } from "./moduleStatus"; export type ModuleStatus = import("./moduleStatus").ModuleStatus; @@ -187,8 +182,8 @@ const _module = { return new CustomWhiteRule(name, undefined, { urn }) case "tencentcloud:Waf/ipAccessControl:IpAccessControl": return new IpAccessControl(name, undefined, { urn }) - case "tencentcloud:Waf/modifyAccessPeriod:ModifyAccessPeriod": - return new ModifyAccessPeriod(name, undefined, { urn }) + case "tencentcloud:Waf/ipAccessControlV2:IpAccessControlV2": + return new IpAccessControlV2(name, undefined, { urn }) case "tencentcloud:Waf/moduleStatus:ModuleStatus": return new ModuleStatus(name, undefined, { urn }) case "tencentcloud:Waf/protectionMode:ProtectionMode": @@ -215,7 +210,7 @@ pulumi.runtime.registerResourceModule("tencentcloud", "Waf/clbInstance", _module pulumi.runtime.registerResourceModule("tencentcloud", "Waf/customRule", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Waf/customWhiteRule", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Waf/ipAccessControl", _module) -pulumi.runtime.registerResourceModule("tencentcloud", "Waf/modifyAccessPeriod", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Waf/ipAccessControlV2", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Waf/moduleStatus", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Waf/protectionMode", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Waf/saasDomain", _module) diff --git a/sdk/nodejs/waf/ipAccessControl.ts b/sdk/nodejs/waf/ipAccessControl.ts index 086113143..c7c21e3c3 100644 --- a/sdk/nodejs/waf/ipAccessControl.ts +++ b/sdk/nodejs/waf/ipAccessControl.ts @@ -9,6 +9,8 @@ import * as utilities from "../utilities"; /** * Provides a resource to create a waf ipAccessControl * + * > **NOTE:** This resource is no longer under maintenance, please use `tencentcloud.Waf.IpAccessControlV2` instead + * * ## Example Usage * * diff --git a/sdk/nodejs/waf/ipAccessControlV2.ts b/sdk/nodejs/waf/ipAccessControlV2.ts new file mode 100644 index 000000000..c6471b792 --- /dev/null +++ b/sdk/nodejs/waf/ipAccessControlV2.ts @@ -0,0 +1,222 @@ +// *** WARNING: this file 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 waf ip access control v2 + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const example = new tencentcloud.waf.IpAccessControlV2("example", { + * actionType: 40, + * domain: "example.com", + * instanceId: "waf_2kxtlbky11bbcr4b", + * ipLists: [ + * "10.0.0.10", + * "172.0.0.16", + * "192.168.0.30", + * ], + * jobDateTime: { + * timeTZone: "UTC+8", + * timeds: [{ + * endDateTime: 0, + * startDateTime: 0, + * }], + * }, + * jobType: "TimedJob", + * note: "note.", + * }); + * ``` + * + * + * ## Import + * + * waf ip access control v2 can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Waf/ipAccessControlV2:IpAccessControlV2 example waf_2kxtlbky11bbcr4b#example.com#5503616778 + * ``` + */ +export class IpAccessControlV2 extends pulumi.CustomResource { + /** + * Get an existing IpAccessControlV2 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?: IpAccessControlV2State, opts?: pulumi.CustomResourceOptions): IpAccessControlV2 { + return new IpAccessControlV2(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Waf/ipAccessControlV2:IpAccessControlV2'; + + /** + * Returns true if the given object is an instance of IpAccessControlV2. 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 IpAccessControlV2 { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === IpAccessControlV2.__pulumiType; + } + + /** + * 42: blocklist; 40: allowlist. + */ + public readonly actionType!: pulumi.Output; + /** + * Specific domain name, for example, test.qcloudwaf.com. + * Global domain name, that is, global. + */ + public readonly domain!: pulumi.Output; + /** + * Instance ID. + */ + public readonly instanceId!: pulumi.Output; + /** + * IP parameter list. + */ + public readonly ipLists!: pulumi.Output; + /** + * Details of scheduled configuration. + */ + public readonly jobDateTime!: pulumi.Output; + /** + * Scheduled configuration type. + */ + public readonly jobType!: pulumi.Output; + /** + * Remarks. + */ + public readonly note!: pulumi.Output; + + /** + * Create a IpAccessControlV2 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: IpAccessControlV2Args, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: IpAccessControlV2Args | IpAccessControlV2State, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as IpAccessControlV2State | undefined; + resourceInputs["actionType"] = state ? state.actionType : undefined; + resourceInputs["domain"] = state ? state.domain : undefined; + resourceInputs["instanceId"] = state ? state.instanceId : undefined; + resourceInputs["ipLists"] = state ? state.ipLists : undefined; + resourceInputs["jobDateTime"] = state ? state.jobDateTime : undefined; + resourceInputs["jobType"] = state ? state.jobType : undefined; + resourceInputs["note"] = state ? state.note : undefined; + } else { + const args = argsOrState as IpAccessControlV2Args | undefined; + if ((!args || args.actionType === undefined) && !opts.urn) { + throw new Error("Missing required property 'actionType'"); + } + if ((!args || args.domain === undefined) && !opts.urn) { + throw new Error("Missing required property 'domain'"); + } + if ((!args || args.instanceId === undefined) && !opts.urn) { + throw new Error("Missing required property 'instanceId'"); + } + if ((!args || args.ipLists === undefined) && !opts.urn) { + throw new Error("Missing required property 'ipLists'"); + } + resourceInputs["actionType"] = args ? args.actionType : undefined; + resourceInputs["domain"] = args ? args.domain : undefined; + resourceInputs["instanceId"] = args ? args.instanceId : undefined; + resourceInputs["ipLists"] = args ? args.ipLists : undefined; + resourceInputs["jobDateTime"] = args ? args.jobDateTime : undefined; + resourceInputs["jobType"] = args ? args.jobType : undefined; + resourceInputs["note"] = args ? args.note : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(IpAccessControlV2.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering IpAccessControlV2 resources. + */ +export interface IpAccessControlV2State { + /** + * 42: blocklist; 40: allowlist. + */ + actionType?: pulumi.Input; + /** + * Specific domain name, for example, test.qcloudwaf.com. + * Global domain name, that is, global. + */ + domain?: pulumi.Input; + /** + * Instance ID. + */ + instanceId?: pulumi.Input; + /** + * IP parameter list. + */ + ipLists?: pulumi.Input[]>; + /** + * Details of scheduled configuration. + */ + jobDateTime?: pulumi.Input; + /** + * Scheduled configuration type. + */ + jobType?: pulumi.Input; + /** + * Remarks. + */ + note?: pulumi.Input; +} + +/** + * The set of arguments for constructing a IpAccessControlV2 resource. + */ +export interface IpAccessControlV2Args { + /** + * 42: blocklist; 40: allowlist. + */ + actionType: pulumi.Input; + /** + * Specific domain name, for example, test.qcloudwaf.com. + * Global domain name, that is, global. + */ + domain: pulumi.Input; + /** + * Instance ID. + */ + instanceId: pulumi.Input; + /** + * IP parameter list. + */ + ipLists: pulumi.Input[]>; + /** + * Details of scheduled configuration. + */ + jobDateTime?: pulumi.Input; + /** + * Scheduled configuration type. + */ + jobType?: pulumi.Input; + /** + * Remarks. + */ + note?: pulumi.Input; +} diff --git a/sdk/nodejs/waf/modifyAccessPeriod.ts b/sdk/nodejs/waf/modifyAccessPeriod.ts deleted file mode 100644 index 5e0b8af49..000000000 --- a/sdk/nodejs/waf/modifyAccessPeriod.ts +++ /dev/null @@ -1,118 +0,0 @@ -// *** WARNING: this file 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 waf modifyAccessPeriod - * - * ## Example Usage - * - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as tencentcloud from "@tencentcloud_iac/pulumi"; - * - * const example = new tencentcloud.waf.ModifyAccessPeriod("example", { - * period: 30, - * topicId: "1ae37c76-df99-4e2b-998c-20f39eba6226", - * }); - * ``` - * - */ -export class ModifyAccessPeriod extends pulumi.CustomResource { - /** - * Get an existing ModifyAccessPeriod 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?: ModifyAccessPeriodState, opts?: pulumi.CustomResourceOptions): ModifyAccessPeriod { - return new ModifyAccessPeriod(name, state, { ...opts, id: id }); - } - - /** @internal */ - public static readonly __pulumiType = 'tencentcloud:Waf/modifyAccessPeriod:ModifyAccessPeriod'; - - /** - * Returns true if the given object is an instance of ModifyAccessPeriod. 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 ModifyAccessPeriod { - if (obj === undefined || obj === null) { - return false; - } - return obj['__pulumiType'] === ModifyAccessPeriod.__pulumiType; - } - - /** - * Access log retention period, range is [1, 180]. - */ - public readonly period!: pulumi.Output; - /** - * Log topic, new version does not need to be uploaded. - */ - public readonly topicId!: pulumi.Output; - - /** - * Create a ModifyAccessPeriod 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: ModifyAccessPeriodArgs, opts?: pulumi.CustomResourceOptions) - constructor(name: string, argsOrState?: ModifyAccessPeriodArgs | ModifyAccessPeriodState, opts?: pulumi.CustomResourceOptions) { - let resourceInputs: pulumi.Inputs = {}; - opts = opts || {}; - if (opts.id) { - const state = argsOrState as ModifyAccessPeriodState | undefined; - resourceInputs["period"] = state ? state.period : undefined; - resourceInputs["topicId"] = state ? state.topicId : undefined; - } else { - const args = argsOrState as ModifyAccessPeriodArgs | undefined; - if ((!args || args.period === undefined) && !opts.urn) { - throw new Error("Missing required property 'period'"); - } - if ((!args || args.topicId === undefined) && !opts.urn) { - throw new Error("Missing required property 'topicId'"); - } - resourceInputs["period"] = args ? args.period : undefined; - resourceInputs["topicId"] = args ? args.topicId : undefined; - } - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - super(ModifyAccessPeriod.__pulumiType, name, resourceInputs, opts); - } -} - -/** - * Input properties used for looking up and filtering ModifyAccessPeriod resources. - */ -export interface ModifyAccessPeriodState { - /** - * Access log retention period, range is [1, 180]. - */ - period?: pulumi.Input; - /** - * Log topic, new version does not need to be uploaded. - */ - topicId?: pulumi.Input; -} - -/** - * The set of arguments for constructing a ModifyAccessPeriod resource. - */ -export interface ModifyAccessPeriodArgs { - /** - * Access log retention period, range is [1, 180]. - */ - period: pulumi.Input; - /** - * Log topic, new version does not need to be uploaded. - */ - topicId: pulumi.Input; -} diff --git a/sdk/python/tencentcloud_iac_pulumi/__init__.py b/sdk/python/tencentcloud_iac_pulumi/__init__.py index 211f7d5d1..dc8985bb1 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 @@ -112,10 +118,14 @@ eni = __eni import tencentcloud_iac_pulumi.enis as __enis enis = __enis + import tencentcloud_iac_pulumi.events as __events + events = __events import tencentcloud_iac_pulumi.gaap as __gaap 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 +134,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 +146,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 @@ -150,6 +164,8 @@ nat = __nat import tencentcloud_iac_pulumi.oceanus as __oceanus oceanus = __oceanus + import tencentcloud_iac_pulumi.open as __open + open = __open import tencentcloud_iac_pulumi.organization as __organization organization = __organization import tencentcloud_iac_pulumi.placement as __placement @@ -168,6 +184,8 @@ pts = __pts import tencentcloud_iac_pulumi.redis as __redis redis = __redis + import tencentcloud_iac_pulumi.reserve as __reserve + reserve = __reserve import tencentcloud_iac_pulumi.reserved as __reserved reserved = __reserved import tencentcloud_iac_pulumi.route as __route @@ -180,6 +198,8 @@ security = __security import tencentcloud_iac_pulumi.ses as __ses ses = __ses + import tencentcloud_iac_pulumi.sg as __sg + sg = __sg import tencentcloud_iac_pulumi.sms as __sms sms = __sms import tencentcloud_iac_pulumi.sqlserver as __sqlserver @@ -192,6 +212,8 @@ sts = __sts import tencentcloud_iac_pulumi.subnet as __subnet subnet = __subnet + import tencentcloud_iac_pulumi.subscribe as __subscribe + subscribe = __subscribe import tencentcloud_iac_pulumi.tag as __tag tag = __tag import tencentcloud_iac_pulumi.tat as __tat @@ -204,6 +226,8 @@ tcmq = __tcmq import tencentcloud_iac_pulumi.tcr as __tcr tcr = __tcr + import tencentcloud_iac_pulumi.tcss as __tcss + tcss = __tcss import tencentcloud_iac_pulumi.tdcpg as __tdcpg tdcpg = __tdcpg import tencentcloud_iac_pulumi.tdmq as __tdmq @@ -212,6 +236,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 +265,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') @@ -282,17 +311,21 @@ emr = _utilities.lazy_import('tencentcloud_iac_pulumi.emr') eni = _utilities.lazy_import('tencentcloud_iac_pulumi.eni') enis = _utilities.lazy_import('tencentcloud_iac_pulumi.enis') + events = _utilities.lazy_import('tencentcloud_iac_pulumi.events') 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') @@ -301,6 +334,7 @@ mysql = _utilities.lazy_import('tencentcloud_iac_pulumi.mysql') nat = _utilities.lazy_import('tencentcloud_iac_pulumi.nat') oceanus = _utilities.lazy_import('tencentcloud_iac_pulumi.oceanus') + open = _utilities.lazy_import('tencentcloud_iac_pulumi.open') organization = _utilities.lazy_import('tencentcloud_iac_pulumi.organization') placement = _utilities.lazy_import('tencentcloud_iac_pulumi.placement') postgresql = _utilities.lazy_import('tencentcloud_iac_pulumi.postgresql') @@ -310,28 +344,33 @@ protocol = _utilities.lazy_import('tencentcloud_iac_pulumi.protocol') pts = _utilities.lazy_import('tencentcloud_iac_pulumi.pts') redis = _utilities.lazy_import('tencentcloud_iac_pulumi.redis') + reserve = _utilities.lazy_import('tencentcloud_iac_pulumi.reserve') reserved = _utilities.lazy_import('tencentcloud_iac_pulumi.reserved') route = _utilities.lazy_import('tencentcloud_iac_pulumi.route') rum = _utilities.lazy_import('tencentcloud_iac_pulumi.rum') scf = _utilities.lazy_import('tencentcloud_iac_pulumi.scf') security = _utilities.lazy_import('tencentcloud_iac_pulumi.security') ses = _utilities.lazy_import('tencentcloud_iac_pulumi.ses') + sg = _utilities.lazy_import('tencentcloud_iac_pulumi.sg') sms = _utilities.lazy_import('tencentcloud_iac_pulumi.sms') sqlserver = _utilities.lazy_import('tencentcloud_iac_pulumi.sqlserver') ssl = _utilities.lazy_import('tencentcloud_iac_pulumi.ssl') ssm = _utilities.lazy_import('tencentcloud_iac_pulumi.ssm') sts = _utilities.lazy_import('tencentcloud_iac_pulumi.sts') subnet = _utilities.lazy_import('tencentcloud_iac_pulumi.subnet') + subscribe = _utilities.lazy_import('tencentcloud_iac_pulumi.subscribe') tag = _utilities.lazy_import('tencentcloud_iac_pulumi.tag') tat = _utilities.lazy_import('tencentcloud_iac_pulumi.tat') tcaplus = _utilities.lazy_import('tencentcloud_iac_pulumi.tcaplus') tcm = _utilities.lazy_import('tencentcloud_iac_pulumi.tcm') tcmq = _utilities.lazy_import('tencentcloud_iac_pulumi.tcmq') tcr = _utilities.lazy_import('tencentcloud_iac_pulumi.tcr') + tcss = _utilities.lazy_import('tencentcloud_iac_pulumi.tcss') tdcpg = _utilities.lazy_import('tencentcloud_iac_pulumi.tdcpg') 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 +760,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 +792,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 +1176,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 +1224,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 +1272,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", @@ -1697,6 +1824,14 @@ "tencentcloud:Clb/listener:Listener": "Listener" } }, + { + "pkg": "tencentcloud", + "mod": "Clb/listenerDefaultDomain", + "fqn": "tencentcloud_iac_pulumi.clb", + "classes": { + "tencentcloud:Clb/listenerDefaultDomain:ListenerDefaultDomain": "ListenerDefaultDomain" + } + }, { "pkg": "tencentcloud", "mod": "Clb/listenerRule", @@ -2305,6 +2440,14 @@ "tencentcloud:Css/watermarkRuleAttachment:WatermarkRuleAttachment": "WatermarkRuleAttachment" } }, + { + "pkg": "tencentcloud", + "mod": "Cvm/actionTimer", + "fqn": "tencentcloud_iac_pulumi.cvm", + "classes": { + "tencentcloud:Cvm/actionTimer:ActionTimer": "ActionTimer" + } + }, { "pkg": "tencentcloud", "mod": "Cvm/chcConfig", @@ -3737,6 +3880,14 @@ "tencentcloud:Eni/sgAttachment:SgAttachment": "SgAttachment" } }, + { + "pkg": "tencentcloud", + "mod": "Events/auditTrack", + "fqn": "tencentcloud_iac_pulumi.events", + "classes": { + "tencentcloud:Events/auditTrack:AuditTrack": "AuditTrack" + } + }, { "pkg": "tencentcloud", "mod": "Gaap/certificate", @@ -3865,6 +4016,110 @@ "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/centerRoleConfigurationPermissionCustomPoliciesAttachment", + "fqn": "tencentcloud_iac_pulumi.identity", + "classes": { + "tencentcloud:Identity/centerRoleConfigurationPermissionCustomPoliciesAttachment:CenterRoleConfigurationPermissionCustomPoliciesAttachment": "CenterRoleConfigurationPermissionCustomPoliciesAttachment" + } + }, + { + "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/centerScimCredential", + "fqn": "tencentcloud_iac_pulumi.identity", + "classes": { + "tencentcloud:Identity/centerScimCredential:CenterScimCredential": "CenterScimCredential" + } + }, + { + "pkg": "tencentcloud", + "mod": "Identity/centerScimCredentialStatus", + "fqn": "tencentcloud_iac_pulumi.identity", + "classes": { + "tencentcloud:Identity/centerScimCredentialStatus:CenterScimCredentialStatus": "CenterScimCredentialStatus" + } + }, + { + "pkg": "tencentcloud", + "mod": "Identity/centerScimSynchronizationStatus", + "fqn": "tencentcloud_iac_pulumi.identity", + "classes": { + "tencentcloud:Identity/centerScimSynchronizationStatus:CenterScimSynchronizationStatus": "CenterScimSynchronizationStatus" + } + }, + { + "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 +4144,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 +4224,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", @@ -4001,6 +4272,14 @@ "tencentcloud:Kubernetes/clusterEndpoint:ClusterEndpoint": "ClusterEndpoint" } }, + { + "pkg": "tencentcloud", + "mod": "Kubernetes/clusterMasterAttachment", + "fqn": "tencentcloud_iac_pulumi.kubernetes", + "classes": { + "tencentcloud:Kubernetes/clusterMasterAttachment:ClusterMasterAttachment": "ClusterMasterAttachment" + } + }, { "pkg": "tencentcloud", "mod": "Kubernetes/encryptionProtection", @@ -4009,6 +4288,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 +4472,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 +5208,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 +5432,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", @@ -5265,6 +5584,14 @@ "tencentcloud:Oceanus/workSpace:WorkSpace": "WorkSpace" } }, + { + "pkg": "tencentcloud", + "mod": "Open/identityCenterOperation", + "fqn": "tencentcloud_iac_pulumi.open", + "classes": { + "tencentcloud:Open/identityCenterOperation:IdentityCenterOperation": "IdentityCenterOperation" + } + }, { "pkg": "tencentcloud", "mod": "Organization/instance", @@ -5377,6 +5704,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 +5720,30 @@ "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/applyParameterTemplateOperation", + "fqn": "tencentcloud_iac_pulumi.postgresql", + "classes": { + "tencentcloud:Postgresql/applyParameterTemplateOperation:ApplyParameterTemplateOperation": "ApplyParameterTemplateOperation" + } + }, { "pkg": "tencentcloud", "mod": "Postgresql/backupDownloadRestrictionConfig", @@ -5409,6 +5768,14 @@ "tencentcloud:Postgresql/baseBackup:BaseBackup": "BaseBackup" } }, + { + "pkg": "tencentcloud", + "mod": "Postgresql/cloneDbInstance", + "fqn": "tencentcloud_iac_pulumi.postgresql", + "classes": { + "tencentcloud:Postgresql/cloneDbInstance:CloneDbInstance": "CloneDbInstance" + } + }, { "pkg": "tencentcloud", "mod": "Postgresql/deleteLogBackupOperation", @@ -5529,6 +5896,22 @@ "tencentcloud:Postgresql/securityGroupConfig:SecurityGroupConfig": "SecurityGroupConfig" } }, + { + "pkg": "tencentcloud", + "mod": "PrivateDns/endPoint", + "fqn": "tencentcloud_iac_pulumi.privatedns", + "classes": { + "tencentcloud:PrivateDns/endPoint:EndPoint": "EndPoint" + } + }, + { + "pkg": "tencentcloud", + "mod": "PrivateDns/forwardRule", + "fqn": "tencentcloud_iac_pulumi.privatedns", + "classes": { + "tencentcloud:PrivateDns/forwardRule:ForwardRule": "ForwardRule" + } + }, { "pkg": "tencentcloud", "mod": "PrivateDns/record", @@ -5713,6 +6096,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", @@ -5825,6 +6216,14 @@ "tencentcloud:Redis/upgradeProxyVersionOperation:UpgradeProxyVersionOperation": "UpgradeProxyVersionOperation" } }, + { + "pkg": "tencentcloud", + "mod": "Reserve/ipAddress", + "fqn": "tencentcloud_iac_pulumi.reserve", + "classes": { + "tencentcloud:Reserve/ipAddress:IpAddress": "IpAddress" + } + }, { "pkg": "tencentcloud", "mod": "Reserved/instance", @@ -6089,6 +6488,14 @@ "tencentcloud:Ses/verifyDomain:VerifyDomain": "VerifyDomain" } }, + { + "pkg": "tencentcloud", + "mod": "Sg/rule", + "fqn": "tencentcloud_iac_pulumi.sg", + "classes": { + "tencentcloud:Sg/rule:Rule": "Rule" + } + }, { "pkg": "tencentcloud", "mod": "Sms/sign", @@ -6417,6 +6824,14 @@ "tencentcloud:Ssl/checkCertificateChainOperation:CheckCertificateChainOperation": "CheckCertificateChainOperation" } }, + { + "pkg": "tencentcloud", + "mod": "Ssl/checkCertificateDomainVerificationOperation", + "fqn": "tencentcloud_iac_pulumi.ssl", + "classes": { + "tencentcloud:Ssl/checkCertificateDomainVerificationOperation:CheckCertificateDomainVerificationOperation": "CheckCertificateDomainVerificationOperation" + } + }, { "pkg": "tencentcloud", "mod": "Ssl/completeCertificateOperation", @@ -6569,6 +6984,14 @@ "tencentcloud:Subnet/instance:Instance": "Instance" } }, + { + "pkg": "tencentcloud", + "mod": "Subscribe/privateZoneService", + "fqn": "tencentcloud_iac_pulumi.subscribe", + "classes": { + "tencentcloud:Subscribe/privateZoneService:PrivateZoneService": "PrivateZoneService" + } + }, { "pkg": "tencentcloud", "mod": "Tag/attachment", @@ -6833,6 +7256,14 @@ "tencentcloud:Tcr/webhookTrigger:WebhookTrigger": "WebhookTrigger" } }, + { + "pkg": "tencentcloud", + "mod": "Tcss/imageRegistry", + "fqn": "tencentcloud_iac_pulumi.tcss", + "classes": { + "tencentcloud:Tcss/imageRegistry:ImageRegistry": "ImageRegistry" + } + }, { "pkg": "tencentcloud", "mod": "Tdcpg/cluster", @@ -7097,6 +7528,38 @@ "tencentcloud:Teo/certificateConfig:CertificateConfig": "CertificateConfig" } }, + { + "pkg": "tencentcloud", + "mod": "Teo/function", + "fqn": "tencentcloud_iac_pulumi.teo", + "classes": { + "tencentcloud:Teo/function:Function": "Function" + } + }, + { + "pkg": "tencentcloud", + "mod": "Teo/functionRule", + "fqn": "tencentcloud_iac_pulumi.teo", + "classes": { + "tencentcloud:Teo/functionRule:FunctionRule": "FunctionRule" + } + }, + { + "pkg": "tencentcloud", + "mod": "Teo/functionRulePriority", + "fqn": "tencentcloud_iac_pulumi.teo", + "classes": { + "tencentcloud:Teo/functionRulePriority:FunctionRulePriority": "FunctionRulePriority" + } + }, + { + "pkg": "tencentcloud", + "mod": "Teo/functionRuntimeEnvironment", + "fqn": "tencentcloud_iac_pulumi.teo", + "classes": { + "tencentcloud:Teo/functionRuntimeEnvironment:FunctionRuntimeEnvironment": "FunctionRuntimeEnvironment" + } + }, { "pkg": "tencentcloud", "mod": "Teo/l4Proxy", @@ -7137,6 +7600,14 @@ "tencentcloud:Teo/ruleEngine:RuleEngine": "RuleEngine" } }, + { + "pkg": "tencentcloud", + "mod": "Teo/securityIpGroup", + "fqn": "tencentcloud_iac_pulumi.teo", + "classes": { + "tencentcloud:Teo/securityIpGroup:SecurityIpGroup": "SecurityIpGroup" + } + }, { "pkg": "tencentcloud", "mod": "Teo/zone", @@ -7153,6 +7624,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 +8280,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", @@ -8011,10 +8498,10 @@ }, { "pkg": "tencentcloud", - "mod": "Waf/modifyAccessPeriod", + "mod": "Waf/ipAccessControlV2", "fqn": "tencentcloud_iac_pulumi.waf", "classes": { - "tencentcloud:Waf/modifyAccessPeriod:ModifyAccessPeriod": "ModifyAccessPeriod" + "tencentcloud:Waf/ipAccessControlV2:IpAccessControlV2": "IpAccessControlV2" } }, { diff --git a/sdk/python/tencentcloud_iac_pulumi/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/_inputs.py index 3b1fa8512..df95d2124 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 @@ -19,16 +21,20 @@ def __init__(__self__, *, role_arn: pulumi.Input[str], session_duration: pulumi.Input[int], session_name: pulumi.Input[str], + external_id: Optional[pulumi.Input[str]] = None, policy: Optional[pulumi.Input[str]] = None): """ :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 AssumeRole 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] external_id: External role ID, which can be obtained by clicking the role name in the CAM console. It can contain 2-128 letters, digits, and symbols (=,.@:/-). Regex: [\\w+=,.@:/-]*. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_EXTERNAL_ID`. :param pulumi.Input[str] policy: A more restrictive policy when making the AssumeRole call. Its content must not contains `principal` elements. Notice: more syntax references, please refer to: [policies syntax logic](https://intl.cloud.tencent.com/document/product/598/10603). """ pulumi.set(__self__, "role_arn", role_arn) pulumi.set(__self__, "session_duration", session_duration) pulumi.set(__self__, "session_name", session_name) + if external_id is not None: + pulumi.set(__self__, "external_id", external_id) if policy is not None: pulumi.set(__self__, "policy", policy) @@ -68,6 +74,18 @@ def session_name(self) -> pulumi.Input[str]: def session_name(self, value: pulumi.Input[str]): pulumi.set(self, "session_name", value) + @property + @pulumi.getter(name="externalId") + def external_id(self) -> Optional[pulumi.Input[str]]: + """ + External role ID, which can be obtained by clicking the role name in the CAM console. It can contain 2-128 letters, digits, and symbols (=,.@:/-). Regex: [\\w+=,.@:/-]*. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_EXTERNAL_ID`. + """ + return pulumi.get(self, "external_id") + + @external_id.setter + def external_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "external_id", value) + @property @pulumi.getter def policy(self) -> Optional[pulumi.Input[str]]: @@ -81,3 +99,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..51f54db29 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,98 @@ 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, + max_surge: Optional[pulumi.Input[int]] = 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. + :param pulumi.Input[int] max_surge: Maximum Extra Quantity. After setting this parameter, a batch of pay-as-you-go extra instances will be created according to the launch configuration before the rolling update starts, and the extra instances will be destroyed after the rolling update is completed. + """ + pulumi.set(__self__, "batch_number", batch_number) + if batch_pause is not None: + pulumi.set(__self__, "batch_pause", batch_pause) + if max_surge is not None: + pulumi.set(__self__, "max_surge", max_surge) + + @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) + + @property + @pulumi.getter(name="maxSurge") + def max_surge(self) -> Optional[pulumi.Input[int]]: + """ + Maximum Extra Quantity. After setting this parameter, a batch of pay-as-you-go extra instances will be created according to the launch configuration before the rolling update starts, and the extra instances will be destroyed after the rolling update is completed. + """ + return pulumi.get(self, "max_surge") + + @max_surge.setter + def max_surge(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "max_surge", 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..81c7fe4dd 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,8 @@ 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, + lifecycle_transition_type: Optional[pulumi.Input[str]] = 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 +34,11 @@ 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] lifecycle_transition_type: The scenario where the lifecycle hook is applied. `EXTENSION`: the lifecycle hook will be triggered when AttachInstances, DetachInstances or RemoveInstaces is called. `NORMAL`: the lifecycle hook is not triggered by the above APIs. :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 +48,10 @@ 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_transition_type is not None: + pulumi.set(__self__, "lifecycle_transition_type", lifecycle_transition_type) if notification_metadata is not None: pulumi.set(__self__, "notification_metadata", notification_metadata) if notification_queue_name is not None: @@ -111,6 +121,30 @@ 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="lifecycleTransitionType") + def lifecycle_transition_type(self) -> Optional[pulumi.Input[str]]: + """ + The scenario where the lifecycle hook is applied. `EXTENSION`: the lifecycle hook will be triggered when AttachInstances, DetachInstances or RemoveInstaces is called. `NORMAL`: the lifecycle hook is not triggered by the above APIs. + """ + return pulumi.get(self, "lifecycle_transition_type") + + @lifecycle_transition_type.setter + def lifecycle_transition_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "lifecycle_transition_type", value) + @property @pulumi.getter(name="notificationMetadata") def notification_metadata(self) -> Optional[pulumi.Input[str]]: @@ -139,7 +173,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,8 +199,10 @@ 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, + lifecycle_transition_type: Optional[pulumi.Input[str]] = None, notification_metadata: Optional[pulumi.Input[str]] = None, notification_queue_name: Optional[pulumi.Input[str]] = None, notification_target_type: Optional[pulumi.Input[str]] = None, @@ -176,11 +212,13 @@ 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] lifecycle_transition_type: The scenario where the lifecycle hook is applied. `EXTENSION`: the lifecycle hook will be triggered when AttachInstances, DetachInstances or RemoveInstaces is called. `NORMAL`: the lifecycle hook is not triggered by the above APIs. :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,10 +226,14 @@ 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: pulumi.set(__self__, "lifecycle_transition", lifecycle_transition) + if lifecycle_transition_type is not None: + pulumi.set(__self__, "lifecycle_transition_type", lifecycle_transition_type) if notification_metadata is not None: pulumi.set(__self__, "notification_metadata", notification_metadata) if notification_queue_name is not None: @@ -227,6 +269,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]]: @@ -251,6 +305,18 @@ def lifecycle_transition(self) -> Optional[pulumi.Input[str]]: def lifecycle_transition(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "lifecycle_transition", value) + @property + @pulumi.getter(name="lifecycleTransitionType") + def lifecycle_transition_type(self) -> Optional[pulumi.Input[str]]: + """ + The scenario where the lifecycle hook is applied. `EXTENSION`: the lifecycle hook will be triggered when AttachInstances, DetachInstances or RemoveInstaces is called. `NORMAL`: the lifecycle hook is not triggered by the above APIs. + """ + return pulumi.get(self, "lifecycle_transition_type") + + @lifecycle_transition_type.setter + def lifecycle_transition_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "lifecycle_transition_type", value) + @property @pulumi.getter(name="notificationMetadata") def notification_metadata(self) -> Optional[pulumi.Input[str]]: @@ -279,7 +345,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,8 +385,10 @@ 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, + lifecycle_transition_type: Optional[pulumi.Input[str]] = None, notification_metadata: Optional[pulumi.Input[str]] = None, notification_queue_name: Optional[pulumi.Input[str]] = None, notification_target_type: Optional[pulumi.Input[str]] = None, @@ -373,6 +441,7 @@ def __init__(__self__, lifecycle_transition="INSTANCE_LAUNCHING", default_result="CONTINUE", heartbeat_timeout=500, + lifecycle_transition_type="NORMAL", notification_metadata="tf test") ``` @@ -411,15 +480,44 @@ 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] lifecycle_transition_type: The scenario where the lifecycle hook is applied. `EXTENSION`: the lifecycle hook will be triggered when AttachInstances, DetachInstances or RemoveInstaces is called. `NORMAL`: the lifecycle hook is not triggered by the above APIs. :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. """ @@ -475,6 +573,7 @@ def __init__(__self__, lifecycle_transition="INSTANCE_LAUNCHING", default_result="CONTINUE", heartbeat_timeout=500, + lifecycle_transition_type="NORMAL", notification_metadata="tf test") ``` @@ -513,6 +612,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,8 +656,10 @@ 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, + lifecycle_transition_type: Optional[pulumi.Input[str]] = None, notification_metadata: Optional[pulumi.Input[str]] = None, notification_queue_name: Optional[pulumi.Input[str]] = None, notification_target_type: Optional[pulumi.Input[str]] = None, @@ -548,12 +676,14 @@ 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 if lifecycle_transition is None and not opts.urn: raise TypeError("Missing required property 'lifecycle_transition'") __props__.__dict__["lifecycle_transition"] = lifecycle_transition + __props__.__dict__["lifecycle_transition_type"] = lifecycle_transition_type __props__.__dict__["notification_metadata"] = notification_metadata __props__.__dict__["notification_queue_name"] = notification_queue_name __props__.__dict__["notification_target_type"] = notification_target_type @@ -573,8 +703,10 @@ 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, + lifecycle_transition_type: Optional[pulumi.Input[str]] = None, notification_metadata: Optional[pulumi.Input[str]] = None, notification_queue_name: Optional[pulumi.Input[str]] = None, notification_target_type: Optional[pulumi.Input[str]] = None, @@ -589,11 +721,13 @@ 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] lifecycle_transition_type: The scenario where the lifecycle hook is applied. `EXTENSION`: the lifecycle hook will be triggered when AttachInstances, DetachInstances or RemoveInstaces is called. `NORMAL`: the lifecycle hook is not triggered by the above APIs. :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,8 +737,10 @@ 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__["lifecycle_transition_type"] = lifecycle_transition_type __props__.__dict__["notification_metadata"] = notification_metadata __props__.__dict__["notification_queue_name"] = notification_queue_name __props__.__dict__["notification_target_type"] = notification_target_type @@ -628,6 +764,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]: @@ -644,6 +788,14 @@ def lifecycle_transition(self) -> pulumi.Output[str]: """ return pulumi.get(self, "lifecycle_transition") + @property + @pulumi.getter(name="lifecycleTransitionType") + def lifecycle_transition_type(self) -> pulumi.Output[str]: + """ + The scenario where the lifecycle hook is applied. `EXTENSION`: the lifecycle hook will be triggered when AttachInstances, DetachInstances or RemoveInstaces is called. `NORMAL`: the lifecycle hook is not triggered by the above APIs. + """ + return pulumi.get(self, "lifecycle_transition_type") + @property @pulumi.getter(name="notificationMetadata") def notification_metadata(self) -> pulumi.Output[Optional[str]]: @@ -664,7 +816,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..d4e866fb3 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,118 @@ 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" + elif key == "maxSurge": + suggest = "max_surge" + + 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, + max_surge: Optional[int] = 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. + :param int max_surge: Maximum Extra Quantity. After setting this parameter, a batch of pay-as-you-go extra instances will be created according to the launch configuration before the rolling update starts, and the extra instances will be destroyed after the rolling update is completed. + """ + pulumi.set(__self__, "batch_number", batch_number) + if batch_pause is not None: + pulumi.set(__self__, "batch_pause", batch_pause) + if max_surge is not None: + pulumi.set(__self__, "max_surge", max_surge) + + @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") + + @property + @pulumi.getter(name="maxSurge") + def max_surge(self) -> Optional[int]: + """ + Maximum Extra Quantity. After setting this parameter, a batch of pay-as-you-go extra instances will be created according to the launch configuration before the rolling update starts, and the extra instances will be destroyed after the rolling update is completed. + """ + return pulumi.get(self, "max_surge") + + @pulumi.output_type class GetAdvicesAutoScalingAdviceSetResult(dict): def __init__(__self__, *, @@ -1154,7 +1316,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 +1339,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 +1361,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 +1523,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_config.py b/sdk/python/tencentcloud_iac_pulumi/as_/scaling_config.py index c6eaa9f6f..403c625cc 100644 --- a/sdk/python/tencentcloud_iac_pulumi/as_/scaling_config.py +++ b/sdk/python/tencentcloud_iac_pulumi/as_/scaling_config.py @@ -17,14 +17,16 @@ class ScalingConfigArgs: def __init__(__self__, *, configuration_name: pulumi.Input[str], - image_id: pulumi.Input[str], instance_types: pulumi.Input[Sequence[pulumi.Input[str]]], cam_role_name: Optional[pulumi.Input[str]] = None, data_disks: Optional[pulumi.Input[Sequence[pulumi.Input['ScalingConfigDataDiskArgs']]]] = None, disk_type_policy: Optional[pulumi.Input[str]] = None, + enhanced_automation_tools_service: Optional[pulumi.Input[bool]] = None, enhanced_monitor_service: Optional[pulumi.Input[bool]] = None, enhanced_security_service: Optional[pulumi.Input[bool]] = None, host_name_settings: Optional[pulumi.Input['ScalingConfigHostNameSettingsArgs']] = None, + image_family: Optional[pulumi.Input[str]] = None, + image_id: Optional[pulumi.Input[str]] = None, instance_charge_type: Optional[pulumi.Input[str]] = None, instance_charge_type_prepaid_period: Optional[pulumi.Input[int]] = None, instance_charge_type_prepaid_renew_flag: Optional[pulumi.Input[str]] = None, @@ -46,14 +48,16 @@ def __init__(__self__, *, """ The set of arguments for constructing a ScalingConfig resource. :param pulumi.Input[str] configuration_name: Name of a launch configuration. - :param pulumi.Input[str] image_id: An available image ID for a cvm instance. :param pulumi.Input[Sequence[pulumi.Input[str]]] instance_types: Specified types of CVM instances. :param pulumi.Input[str] cam_role_name: CAM role name authorized to access. :param pulumi.Input[Sequence[pulumi.Input['ScalingConfigDataDiskArgs']]] data_disks: Configurations of data disk. :param pulumi.Input[str] disk_type_policy: Policy of cloud disk type. Valid values: `ORIGINAL` and `AUTOMATIC`. Default is `ORIGINAL`. + :param pulumi.Input[bool] enhanced_automation_tools_service: To specify whether to enable cloud automation tools service. :param pulumi.Input[bool] enhanced_monitor_service: To specify whether to enable cloud monitor service. Default is `TRUE`. :param pulumi.Input[bool] enhanced_security_service: To specify whether to enable cloud security service. Default is `TRUE`. :param pulumi.Input['ScalingConfigHostNameSettingsArgs'] host_name_settings: Related settings of the cloud server hostname (HostName). + :param pulumi.Input[str] image_family: Image Family Name. Either Image ID or Image Family Name must be provided, but not both. + :param pulumi.Input[str] image_id: An available image ID for a cvm instance. :param pulumi.Input[str] instance_charge_type: Charge type of instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `SPOTPAID`. The default is `POSTPAID_BY_HOUR`. NOTE: `SPOTPAID` instance must set `spot_instance_type` and `spot_max_price` at the same time. :param 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`. @@ -74,7 +78,6 @@ def __init__(__self__, *, :param pulumi.Input[str] user_data: ase64-encoded User Data text, the length limit is 16KB. """ pulumi.set(__self__, "configuration_name", configuration_name) - pulumi.set(__self__, "image_id", image_id) pulumi.set(__self__, "instance_types", instance_types) if cam_role_name is not None: pulumi.set(__self__, "cam_role_name", cam_role_name) @@ -82,12 +85,18 @@ def __init__(__self__, *, pulumi.set(__self__, "data_disks", data_disks) if disk_type_policy is not None: pulumi.set(__self__, "disk_type_policy", disk_type_policy) + if enhanced_automation_tools_service is not None: + pulumi.set(__self__, "enhanced_automation_tools_service", enhanced_automation_tools_service) if enhanced_monitor_service is not None: pulumi.set(__self__, "enhanced_monitor_service", enhanced_monitor_service) if enhanced_security_service is not None: pulumi.set(__self__, "enhanced_security_service", enhanced_security_service) if host_name_settings is not None: pulumi.set(__self__, "host_name_settings", host_name_settings) + if image_family is not None: + pulumi.set(__self__, "image_family", image_family) + if image_id is not None: + pulumi.set(__self__, "image_id", image_id) if instance_charge_type is not None: pulumi.set(__self__, "instance_charge_type", instance_charge_type) if instance_charge_type_prepaid_period is not None: @@ -137,18 +146,6 @@ def configuration_name(self) -> pulumi.Input[str]: def configuration_name(self, value: pulumi.Input[str]): pulumi.set(self, "configuration_name", value) - @property - @pulumi.getter(name="imageId") - def image_id(self) -> pulumi.Input[str]: - """ - An available image ID for a cvm instance. - """ - return pulumi.get(self, "image_id") - - @image_id.setter - def image_id(self, value: pulumi.Input[str]): - pulumi.set(self, "image_id", value) - @property @pulumi.getter(name="instanceTypes") def instance_types(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: @@ -197,6 +194,18 @@ def disk_type_policy(self) -> Optional[pulumi.Input[str]]: def disk_type_policy(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "disk_type_policy", value) + @property + @pulumi.getter(name="enhancedAutomationToolsService") + def enhanced_automation_tools_service(self) -> Optional[pulumi.Input[bool]]: + """ + To specify whether to enable cloud automation tools service. + """ + return pulumi.get(self, "enhanced_automation_tools_service") + + @enhanced_automation_tools_service.setter + def enhanced_automation_tools_service(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enhanced_automation_tools_service", value) + @property @pulumi.getter(name="enhancedMonitorService") def enhanced_monitor_service(self) -> Optional[pulumi.Input[bool]]: @@ -233,6 +242,30 @@ def host_name_settings(self) -> Optional[pulumi.Input['ScalingConfigHostNameSett def host_name_settings(self, value: Optional[pulumi.Input['ScalingConfigHostNameSettingsArgs']]): pulumi.set(self, "host_name_settings", value) + @property + @pulumi.getter(name="imageFamily") + def image_family(self) -> Optional[pulumi.Input[str]]: + """ + Image Family Name. Either Image ID or Image Family Name must be provided, but not both. + """ + return pulumi.get(self, "image_family") + + @image_family.setter + def image_family(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "image_family", value) + + @property + @pulumi.getter(name="imageId") + def image_id(self) -> Optional[pulumi.Input[str]]: + """ + An available image ID for a cvm instance. + """ + 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="instanceChargeType") def instance_charge_type(self) -> Optional[pulumi.Input[str]]: @@ -458,9 +491,11 @@ def __init__(__self__, *, create_time: Optional[pulumi.Input[str]] = None, data_disks: Optional[pulumi.Input[Sequence[pulumi.Input['ScalingConfigDataDiskArgs']]]] = None, disk_type_policy: Optional[pulumi.Input[str]] = None, + enhanced_automation_tools_service: Optional[pulumi.Input[bool]] = None, enhanced_monitor_service: Optional[pulumi.Input[bool]] = None, enhanced_security_service: Optional[pulumi.Input[bool]] = None, host_name_settings: Optional[pulumi.Input['ScalingConfigHostNameSettingsArgs']] = None, + image_family: Optional[pulumi.Input[str]] = None, image_id: Optional[pulumi.Input[str]] = None, instance_charge_type: Optional[pulumi.Input[str]] = None, instance_charge_type_prepaid_period: Optional[pulumi.Input[int]] = None, @@ -489,9 +524,11 @@ def __init__(__self__, *, :param pulumi.Input[str] create_time: The time when the launch configuration was created. :param pulumi.Input[Sequence[pulumi.Input['ScalingConfigDataDiskArgs']]] data_disks: Configurations of data disk. :param pulumi.Input[str] disk_type_policy: Policy of cloud disk type. Valid values: `ORIGINAL` and `AUTOMATIC`. Default is `ORIGINAL`. + :param pulumi.Input[bool] enhanced_automation_tools_service: To specify whether to enable cloud automation tools service. :param pulumi.Input[bool] enhanced_monitor_service: To specify whether to enable cloud monitor service. Default is `TRUE`. :param pulumi.Input[bool] enhanced_security_service: To specify whether to enable cloud security service. Default is `TRUE`. :param pulumi.Input['ScalingConfigHostNameSettingsArgs'] host_name_settings: Related settings of the cloud server hostname (HostName). + :param pulumi.Input[str] image_family: Image Family Name. Either Image ID or Image Family Name must be provided, but not both. :param pulumi.Input[str] image_id: An available image ID for a cvm instance. :param pulumi.Input[str] instance_charge_type: Charge type of instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `SPOTPAID`. The default is `POSTPAID_BY_HOUR`. NOTE: `SPOTPAID` instance must set `spot_instance_type` and `spot_max_price` at the same time. :param 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`. @@ -524,12 +561,16 @@ def __init__(__self__, *, pulumi.set(__self__, "data_disks", data_disks) if disk_type_policy is not None: pulumi.set(__self__, "disk_type_policy", disk_type_policy) + if enhanced_automation_tools_service is not None: + pulumi.set(__self__, "enhanced_automation_tools_service", enhanced_automation_tools_service) if enhanced_monitor_service is not None: pulumi.set(__self__, "enhanced_monitor_service", enhanced_monitor_service) if enhanced_security_service is not None: pulumi.set(__self__, "enhanced_security_service", enhanced_security_service) if host_name_settings is not None: pulumi.set(__self__, "host_name_settings", host_name_settings) + if image_family is not None: + pulumi.set(__self__, "image_family", image_family) if image_id is not None: pulumi.set(__self__, "image_id", image_id) if instance_charge_type is not None: @@ -633,6 +674,18 @@ def disk_type_policy(self) -> Optional[pulumi.Input[str]]: def disk_type_policy(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "disk_type_policy", value) + @property + @pulumi.getter(name="enhancedAutomationToolsService") + def enhanced_automation_tools_service(self) -> Optional[pulumi.Input[bool]]: + """ + To specify whether to enable cloud automation tools service. + """ + return pulumi.get(self, "enhanced_automation_tools_service") + + @enhanced_automation_tools_service.setter + def enhanced_automation_tools_service(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enhanced_automation_tools_service", value) + @property @pulumi.getter(name="enhancedMonitorService") def enhanced_monitor_service(self) -> Optional[pulumi.Input[bool]]: @@ -669,6 +722,18 @@ def host_name_settings(self) -> Optional[pulumi.Input['ScalingConfigHostNameSett def host_name_settings(self, value: Optional[pulumi.Input['ScalingConfigHostNameSettingsArgs']]): pulumi.set(self, "host_name_settings", value) + @property + @pulumi.getter(name="imageFamily") + def image_family(self) -> Optional[pulumi.Input[str]]: + """ + Image Family Name. Either Image ID or Image Family Name must be provided, but not both. + """ + return pulumi.get(self, "image_family") + + @image_family.setter + def image_family(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "image_family", value) + @property @pulumi.getter(name="imageId") def image_id(self) -> Optional[pulumi.Input[str]]: @@ -931,9 +996,11 @@ def __init__(__self__, configuration_name: Optional[pulumi.Input[str]] = None, data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScalingConfigDataDiskArgs']]]]] = None, disk_type_policy: Optional[pulumi.Input[str]] = None, + enhanced_automation_tools_service: Optional[pulumi.Input[bool]] = None, enhanced_monitor_service: Optional[pulumi.Input[bool]] = None, enhanced_security_service: Optional[pulumi.Input[bool]] = None, host_name_settings: Optional[pulumi.Input[pulumi.InputType['ScalingConfigHostNameSettingsArgs']]] = None, + image_family: Optional[pulumi.Input[str]] = None, image_id: Optional[pulumi.Input[str]] = None, instance_charge_type: Optional[pulumi.Input[str]] = None, instance_charge_type_prepaid_period: Optional[pulumi.Input[int]] = None, @@ -987,6 +1054,7 @@ def __init__(__self__, password="Test@123#", enhanced_security_service=False, enhanced_monitor_service=False, + enhanced_automation_tools_service=False, user_data="dGVzdA==", host_name_settings=tencentcloud.as_.ScalingConfigHostNameSettingsArgs( host_name="host-name-test", @@ -1018,6 +1086,33 @@ def __init__(__self__, ``` + ### Using image family + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.as_.ScalingConfig("example", + configuration_name="as-test-config", + disk_type_policy="ORIGINAL", + enhanced_automation_tools_service=False, + enhanced_monitor_service=False, + enhanced_security_service=False, + image_family="business-daily-update", + instance_tags={}, + instance_types=["S5.SMALL2"], + internet_charge_type="TRAFFIC_POSTPAID_BY_HOUR", + internet_max_bandwidth_out=0, + key_ids=[], + project_id=0, + public_ip_assigned=False, + security_group_ids=["sg-5275dorp"], + system_disk_size=50, + system_disk_type="CLOUD_BSSD") + ``` + + ## Import AutoScaling Configuration can be imported using the id, e.g. @@ -1032,9 +1127,11 @@ def __init__(__self__, :param pulumi.Input[str] configuration_name: Name of a launch configuration. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScalingConfigDataDiskArgs']]]] data_disks: Configurations of data disk. :param pulumi.Input[str] disk_type_policy: Policy of cloud disk type. Valid values: `ORIGINAL` and `AUTOMATIC`. Default is `ORIGINAL`. + :param pulumi.Input[bool] enhanced_automation_tools_service: To specify whether to enable cloud automation tools service. :param pulumi.Input[bool] enhanced_monitor_service: To specify whether to enable cloud monitor service. Default is `TRUE`. :param pulumi.Input[bool] enhanced_security_service: To specify whether to enable cloud security service. Default is `TRUE`. :param pulumi.Input[pulumi.InputType['ScalingConfigHostNameSettingsArgs']] host_name_settings: Related settings of the cloud server hostname (HostName). + :param pulumi.Input[str] image_family: Image Family Name. Either Image ID or Image Family Name must be provided, but not both. :param pulumi.Input[str] image_id: An available image ID for a cvm instance. :param pulumi.Input[str] instance_charge_type: Charge type of instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `SPOTPAID`. The default is `POSTPAID_BY_HOUR`. NOTE: `SPOTPAID` instance must set `spot_instance_type` and `spot_max_price` at the same time. :param 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`. @@ -1094,6 +1191,7 @@ def __init__(__self__, password="Test@123#", enhanced_security_service=False, enhanced_monitor_service=False, + enhanced_automation_tools_service=False, user_data="dGVzdA==", host_name_settings=tencentcloud.as_.ScalingConfigHostNameSettingsArgs( host_name="host-name-test", @@ -1125,6 +1223,33 @@ def __init__(__self__, ``` + ### Using image family + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.as_.ScalingConfig("example", + configuration_name="as-test-config", + disk_type_policy="ORIGINAL", + enhanced_automation_tools_service=False, + enhanced_monitor_service=False, + enhanced_security_service=False, + image_family="business-daily-update", + instance_tags={}, + instance_types=["S5.SMALL2"], + internet_charge_type="TRAFFIC_POSTPAID_BY_HOUR", + internet_max_bandwidth_out=0, + key_ids=[], + project_id=0, + public_ip_assigned=False, + security_group_ids=["sg-5275dorp"], + system_disk_size=50, + system_disk_type="CLOUD_BSSD") + ``` + + ## Import AutoScaling Configuration can be imported using the id, e.g. @@ -1152,9 +1277,11 @@ def _internal_init(__self__, configuration_name: Optional[pulumi.Input[str]] = None, data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScalingConfigDataDiskArgs']]]]] = None, disk_type_policy: Optional[pulumi.Input[str]] = None, + enhanced_automation_tools_service: Optional[pulumi.Input[bool]] = None, enhanced_monitor_service: Optional[pulumi.Input[bool]] = None, enhanced_security_service: Optional[pulumi.Input[bool]] = None, host_name_settings: Optional[pulumi.Input[pulumi.InputType['ScalingConfigHostNameSettingsArgs']]] = None, + image_family: Optional[pulumi.Input[str]] = None, image_id: Optional[pulumi.Input[str]] = None, instance_charge_type: Optional[pulumi.Input[str]] = None, instance_charge_type_prepaid_period: Optional[pulumi.Input[int]] = None, @@ -1190,11 +1317,11 @@ def _internal_init(__self__, __props__.__dict__["configuration_name"] = configuration_name __props__.__dict__["data_disks"] = data_disks __props__.__dict__["disk_type_policy"] = disk_type_policy + __props__.__dict__["enhanced_automation_tools_service"] = enhanced_automation_tools_service __props__.__dict__["enhanced_monitor_service"] = enhanced_monitor_service __props__.__dict__["enhanced_security_service"] = enhanced_security_service __props__.__dict__["host_name_settings"] = host_name_settings - if image_id is None and not opts.urn: - raise TypeError("Missing required property 'image_id'") + __props__.__dict__["image_family"] = image_family __props__.__dict__["image_id"] = image_id __props__.__dict__["instance_charge_type"] = instance_charge_type __props__.__dict__["instance_charge_type_prepaid_period"] = instance_charge_type_prepaid_period @@ -1236,9 +1363,11 @@ def get(resource_name: str, create_time: Optional[pulumi.Input[str]] = None, data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScalingConfigDataDiskArgs']]]]] = None, disk_type_policy: Optional[pulumi.Input[str]] = None, + enhanced_automation_tools_service: Optional[pulumi.Input[bool]] = None, enhanced_monitor_service: Optional[pulumi.Input[bool]] = None, enhanced_security_service: Optional[pulumi.Input[bool]] = None, host_name_settings: Optional[pulumi.Input[pulumi.InputType['ScalingConfigHostNameSettingsArgs']]] = None, + image_family: Optional[pulumi.Input[str]] = None, image_id: Optional[pulumi.Input[str]] = None, instance_charge_type: Optional[pulumi.Input[str]] = None, instance_charge_type_prepaid_period: Optional[pulumi.Input[int]] = None, @@ -1272,9 +1401,11 @@ def get(resource_name: str, :param pulumi.Input[str] create_time: The time when the launch configuration was created. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScalingConfigDataDiskArgs']]]] data_disks: Configurations of data disk. :param pulumi.Input[str] disk_type_policy: Policy of cloud disk type. Valid values: `ORIGINAL` and `AUTOMATIC`. Default is `ORIGINAL`. + :param pulumi.Input[bool] enhanced_automation_tools_service: To specify whether to enable cloud automation tools service. :param pulumi.Input[bool] enhanced_monitor_service: To specify whether to enable cloud monitor service. Default is `TRUE`. :param pulumi.Input[bool] enhanced_security_service: To specify whether to enable cloud security service. Default is `TRUE`. :param pulumi.Input[pulumi.InputType['ScalingConfigHostNameSettingsArgs']] host_name_settings: Related settings of the cloud server hostname (HostName). + :param pulumi.Input[str] image_family: Image Family Name. Either Image ID or Image Family Name must be provided, but not both. :param pulumi.Input[str] image_id: An available image ID for a cvm instance. :param pulumi.Input[str] instance_charge_type: Charge type of instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `SPOTPAID`. The default is `POSTPAID_BY_HOUR`. NOTE: `SPOTPAID` instance must set `spot_instance_type` and `spot_max_price` at the same time. :param 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`. @@ -1306,9 +1437,11 @@ def get(resource_name: str, __props__.__dict__["create_time"] = create_time __props__.__dict__["data_disks"] = data_disks __props__.__dict__["disk_type_policy"] = disk_type_policy + __props__.__dict__["enhanced_automation_tools_service"] = enhanced_automation_tools_service __props__.__dict__["enhanced_monitor_service"] = enhanced_monitor_service __props__.__dict__["enhanced_security_service"] = enhanced_security_service __props__.__dict__["host_name_settings"] = host_name_settings + __props__.__dict__["image_family"] = image_family __props__.__dict__["image_id"] = image_id __props__.__dict__["instance_charge_type"] = instance_charge_type __props__.__dict__["instance_charge_type_prepaid_period"] = instance_charge_type_prepaid_period @@ -1372,6 +1505,14 @@ def disk_type_policy(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "disk_type_policy") + @property + @pulumi.getter(name="enhancedAutomationToolsService") + def enhanced_automation_tools_service(self) -> pulumi.Output[Optional[bool]]: + """ + To specify whether to enable cloud automation tools service. + """ + return pulumi.get(self, "enhanced_automation_tools_service") + @property @pulumi.getter(name="enhancedMonitorService") def enhanced_monitor_service(self) -> pulumi.Output[Optional[bool]]: @@ -1396,9 +1537,17 @@ def host_name_settings(self) -> pulumi.Output[Optional['outputs.ScalingConfigHos """ return pulumi.get(self, "host_name_settings") + @property + @pulumi.getter(name="imageFamily") + def image_family(self) -> pulumi.Output[Optional[str]]: + """ + Image Family Name. Either Image ID or Image Family Name must be provided, but not both. + """ + return pulumi.get(self, "image_family") + @property @pulumi.getter(name="imageId") - def image_id(self) -> pulumi.Output[str]: + def image_id(self) -> pulumi.Output[Optional[str]]: """ An available image ID for a cvm instance. """ 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..c5887a909 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/as_/start_instance_refresh.py @@ -0,0 +1,285 @@ +# 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-8n7fdm28", + 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", + max_surge=1, + ), + )) + ``` + + + :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-8n7fdm28", + 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", + max_surge=1, + ), + )) + ``` + + + :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..391533007 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 @@ -19,17 +20,25 @@ def __init__(__self__, *, storage_name: pulumi.Input[str], storage_prefix: pulumi.Input[str], storage_region: pulumi.Input[str], - storage_type: pulumi.Input[str]): + storage_type: pulumi.Input[str], + storage_account_id: Optional[pulumi.Input[str]] = None, + storage_app_id: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[str] storage_name: 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`. :param pulumi.Input[str] storage_prefix: Storage path prefix. :param pulumi.Input[str] storage_region: Storage region. :param pulumi.Input[str] storage_type: Track Storage type, optional:- `cos`- `cls`. + :param pulumi.Input[str] storage_account_id: Designated to store user ID. + :param pulumi.Input[str] storage_app_id: Designated to store user appid. """ pulumi.set(__self__, "storage_name", storage_name) pulumi.set(__self__, "storage_prefix", storage_prefix) pulumi.set(__self__, "storage_region", storage_region) pulumi.set(__self__, "storage_type", storage_type) + if storage_account_id is not None: + pulumi.set(__self__, "storage_account_id", storage_account_id) + if storage_app_id is not None: + pulumi.set(__self__, "storage_app_id", storage_app_id) @property @pulumi.getter(name="storageName") @@ -79,4 +88,70 @@ def storage_type(self) -> pulumi.Input[str]: def storage_type(self, value: pulumi.Input[str]): pulumi.set(self, "storage_type", value) + @property + @pulumi.getter(name="storageAccountId") + def storage_account_id(self) -> Optional[pulumi.Input[str]]: + """ + Designated to store user ID. + """ + return pulumi.get(self, "storage_account_id") + + @storage_account_id.setter + def storage_account_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "storage_account_id", value) + + @property + @pulumi.getter(name="storageAppId") + def storage_app_id(self) -> Optional[pulumi.Input[str]]: + """ + Designated to store user appid. + """ + return pulumi.get(self, "storage_app_id") + + @storage_app_id.setter + def storage_app_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "storage_app_id", 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..2dff98303 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', ] @@ -28,6 +32,10 @@ def __key_warning(key: str): suggest = "storage_region" elif key == "storageType": suggest = "storage_type" + elif key == "storageAccountId": + suggest = "storage_account_id" + elif key == "storageAppId": + suggest = "storage_app_id" if suggest: pulumi.log.warn(f"Key '{key}' not found in TrackStorage. Access the value via the '{suggest}' property getter instead.") @@ -44,17 +52,25 @@ def __init__(__self__, *, storage_name: str, storage_prefix: str, storage_region: str, - storage_type: str): + storage_type: str, + storage_account_id: Optional[str] = None, + storage_app_id: Optional[str] = None): """ :param str storage_name: 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`. :param str storage_prefix: Storage path prefix. :param str storage_region: Storage region. :param str storage_type: Track Storage type, optional:- `cos`- `cls`. + :param str storage_account_id: Designated to store user ID. + :param str storage_app_id: Designated to store user appid. """ pulumi.set(__self__, "storage_name", storage_name) pulumi.set(__self__, "storage_prefix", storage_prefix) pulumi.set(__self__, "storage_region", storage_region) pulumi.set(__self__, "storage_type", storage_type) + if storage_account_id is not None: + pulumi.set(__self__, "storage_account_id", storage_account_id) + if storage_app_id is not None: + pulumi.set(__self__, "storage_app_id", storage_app_id) @property @pulumi.getter(name="storageName") @@ -88,6 +104,22 @@ def storage_type(self) -> str: """ return pulumi.get(self, "storage_type") + @property + @pulumi.getter(name="storageAccountId") + def storage_account_id(self) -> Optional[str]: + """ + Designated to store user ID. + """ + return pulumi.get(self, "storage_account_id") + + @property + @pulumi.getter(name="storageAppId") + def storage_app_id(self) -> Optional[str]: + """ + Designated to store user appid. + """ + return pulumi.get(self, "storage_app_id") + @pulumi.output_type class GetCosRegionsAuditCosRegionListResult(dict): @@ -118,6 +150,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/audit/track.py b/sdk/python/tencentcloud_iac_pulumi/audit/track.py index 0882bd0f7..a0b6cb5ae 100644 --- a/sdk/python/tencentcloud_iac_pulumi/audit/track.py +++ b/sdk/python/tencentcloud_iac_pulumi/audit/track.py @@ -287,7 +287,7 @@ def __init__(__self__, import pulumi import tencentcloud_iac_pulumi as tencentcloud - track = tencentcloud.audit.Track("track", + example = tencentcloud.audit.Track("example", action_type="Read", event_names=["*"], resource_type="*", @@ -302,12 +302,36 @@ def __init__(__self__, ``` + ### Specify storage user + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.audit.Track("example", + action_type="Read", + event_names=["*"], + resource_type="*", + status=1, + storage=tencentcloud.audit.TrackStorageArgs( + storage_account_id="100037717137", + storage_app_id="1309116520", + storage_name="db90b92c-91d2-46b0-94ac-debbbb21dc4e", + storage_prefix="cloudaudit", + storage_region="ap-guangzhou", + storage_type="cos", + ), + track_for_all_members=0) + ``` + + ## Import audit track can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Audit/track:Track track track_id + $ pulumi import tencentcloud:Audit/track:Track example 24283 ``` :param str resource_name: The name of the resource. @@ -336,7 +360,7 @@ def __init__(__self__, import pulumi import tencentcloud_iac_pulumi as tencentcloud - track = tencentcloud.audit.Track("track", + example = tencentcloud.audit.Track("example", action_type="Read", event_names=["*"], resource_type="*", @@ -351,12 +375,36 @@ def __init__(__self__, ``` + ### Specify storage user + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.audit.Track("example", + action_type="Read", + event_names=["*"], + resource_type="*", + status=1, + storage=tencentcloud.audit.TrackStorageArgs( + storage_account_id="100037717137", + storage_app_id="1309116520", + storage_name="db90b92c-91d2-46b0-94ac-debbbb21dc4e", + storage_prefix="cloudaudit", + storage_region="ap-guangzhou", + storage_type="cos", + ), + track_for_all_members=0) + ``` + + ## Import audit track can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Audit/track:Track track track_id + $ pulumi import tencentcloud:Audit/track:Track example 24283 ``` :param str resource_name: The name of the resource. 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/cam/__init__.py b/sdk/python/tencentcloud_iac_pulumi/cam/__init__.py index 3af847585..9a6dc2042 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cam/__init__.py +++ b/sdk/python/tencentcloud_iac_pulumi/cam/__init__.py @@ -16,10 +16,12 @@ from .get_oidc_config import * from .get_policies import * from .get_policy_granting_service_access import * +from .get_role_detail import * from .get_role_policy_attachments import * from .get_roles import * from .get_saml_providers import * from .get_secret_last_used_time import * +from .get_sub_accounts import * from .get_user_policy_attachments import * from .get_users import * from .group import * diff --git a/sdk/python/tencentcloud_iac_pulumi/cam/get_role_detail.py b/sdk/python/tencentcloud_iac_pulumi/cam/get_role_detail.py new file mode 100644 index 000000000..2c32b9f0f --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/cam/get_role_detail.py @@ -0,0 +1,114 @@ +# 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__ = [ + 'GetRoleDetailResult', + 'AwaitableGetRoleDetailResult', + 'get_role_detail', + 'get_role_detail_output', +] + +@pulumi.output_type +class GetRoleDetailResult: + """ + A collection of values returned by getRoleDetail. + """ + def __init__(__self__, id=None, result_output_file=None, role_id=None, role_infos=None, role_name=None): + 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 role_id and not isinstance(role_id, str): + raise TypeError("Expected argument 'role_id' to be a str") + pulumi.set(__self__, "role_id", role_id) + if role_infos and not isinstance(role_infos, list): + raise TypeError("Expected argument 'role_infos' to be a list") + pulumi.set(__self__, "role_infos", role_infos) + if role_name and not isinstance(role_name, str): + raise TypeError("Expected argument 'role_name' to be a str") + pulumi.set(__self__, "role_name", role_name) + + @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="roleId") + def role_id(self) -> Optional[str]: + return pulumi.get(self, "role_id") + + @property + @pulumi.getter(name="roleInfos") + def role_infos(self) -> Sequence['outputs.GetRoleDetailRoleInfoResult']: + return pulumi.get(self, "role_infos") + + @property + @pulumi.getter(name="roleName") + def role_name(self) -> Optional[str]: + return pulumi.get(self, "role_name") + + +class AwaitableGetRoleDetailResult(GetRoleDetailResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetRoleDetailResult( + id=self.id, + result_output_file=self.result_output_file, + role_id=self.role_id, + role_infos=self.role_infos, + role_name=self.role_name) + + +def get_role_detail(result_output_file: Optional[str] = None, + role_id: Optional[str] = None, + role_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetRoleDetailResult: + """ + Use this data source to access information about an existing resource. + """ + __args__ = dict() + __args__['resultOutputFile'] = result_output_file + __args__['roleId'] = role_id + __args__['roleName'] = role_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('tencentcloud:Cam/getRoleDetail:getRoleDetail', __args__, opts=opts, typ=GetRoleDetailResult).value + + return AwaitableGetRoleDetailResult( + id=pulumi.get(__ret__, 'id'), + result_output_file=pulumi.get(__ret__, 'result_output_file'), + role_id=pulumi.get(__ret__, 'role_id'), + role_infos=pulumi.get(__ret__, 'role_infos'), + role_name=pulumi.get(__ret__, 'role_name')) + + +@_utilities.lift_output_func(get_role_detail) +def get_role_detail_output(result_output_file: Optional[pulumi.Input[Optional[str]]] = None, + role_id: Optional[pulumi.Input[Optional[str]]] = None, + role_name: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRoleDetailResult]: + """ + Use this data source to access information about an existing resource. + """ + ... diff --git a/sdk/python/tencentcloud_iac_pulumi/cam/get_sub_accounts.py b/sdk/python/tencentcloud_iac_pulumi/cam/get_sub_accounts.py new file mode 100644 index 000000000..19fba4e44 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/cam/get_sub_accounts.py @@ -0,0 +1,101 @@ +# 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__ = [ + 'GetSubAccountsResult', + 'AwaitableGetSubAccountsResult', + 'get_sub_accounts', + 'get_sub_accounts_output', +] + +@pulumi.output_type +class GetSubAccountsResult: + """ + A collection of values returned by getSubAccounts. + """ + def __init__(__self__, filter_sub_account_uins=None, id=None, result_output_file=None, sub_accounts=None): + if filter_sub_account_uins and not isinstance(filter_sub_account_uins, list): + raise TypeError("Expected argument 'filter_sub_account_uins' to be a list") + pulumi.set(__self__, "filter_sub_account_uins", filter_sub_account_uins) + 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 sub_accounts and not isinstance(sub_accounts, list): + raise TypeError("Expected argument 'sub_accounts' to be a list") + pulumi.set(__self__, "sub_accounts", sub_accounts) + + @property + @pulumi.getter(name="filterSubAccountUins") + def filter_sub_account_uins(self) -> Sequence[int]: + return pulumi.get(self, "filter_sub_account_uins") + + @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="subAccounts") + def sub_accounts(self) -> Sequence['outputs.GetSubAccountsSubAccountResult']: + return pulumi.get(self, "sub_accounts") + + +class AwaitableGetSubAccountsResult(GetSubAccountsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetSubAccountsResult( + filter_sub_account_uins=self.filter_sub_account_uins, + id=self.id, + result_output_file=self.result_output_file, + sub_accounts=self.sub_accounts) + + +def get_sub_accounts(filter_sub_account_uins: Optional[Sequence[int]] = None, + result_output_file: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSubAccountsResult: + """ + Use this data source to access information about an existing resource. + """ + __args__ = dict() + __args__['filterSubAccountUins'] = filter_sub_account_uins + __args__['resultOutputFile'] = result_output_file + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('tencentcloud:Cam/getSubAccounts:getSubAccounts', __args__, opts=opts, typ=GetSubAccountsResult).value + + return AwaitableGetSubAccountsResult( + filter_sub_account_uins=pulumi.get(__ret__, 'filter_sub_account_uins'), + id=pulumi.get(__ret__, 'id'), + result_output_file=pulumi.get(__ret__, 'result_output_file'), + sub_accounts=pulumi.get(__ret__, 'sub_accounts')) + + +@_utilities.lift_output_func(get_sub_accounts) +def get_sub_accounts_output(filter_sub_account_uins: Optional[pulumi.Input[Sequence[int]]] = None, + result_output_file: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSubAccountsResult]: + """ + Use this data source to access information about an existing resource. + """ + ... diff --git a/sdk/python/tencentcloud_iac_pulumi/cam/outputs.py b/sdk/python/tencentcloud_iac_pulumi/cam/outputs.py index 02b11dc6b..5965ea0b5 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cam/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/cam/outputs.py @@ -27,10 +27,13 @@ 'GetPolicyGrantingServiceAccessListActionResult', 'GetPolicyGrantingServiceAccessListPolicyResult', 'GetPolicyGrantingServiceAccessListServiceResult', + 'GetRoleDetailRoleInfoResult', + 'GetRoleDetailRoleInfoTagResult', 'GetRolePolicyAttachmentsRolePolicyAttachmentListResult', 'GetRolesRoleListResult', 'GetSamlProvidersProviderListResult', 'GetSecretLastUsedTimeSecretIdLastUsedRowResult', + 'GetSubAccountsSubAccountResult', 'GetUserPolicyAttachmentsUserPolicyAttachmentListResult', 'GetUsersUserListResult', ] @@ -885,6 +888,171 @@ def service_type(self) -> str: return pulumi.get(self, "service_type") +@pulumi.output_type +class GetRoleDetailRoleInfoResult(dict): + def __init__(__self__, *, + add_time: str, + console_login: int, + deletion_task_id: str, + description: str, + policy_document: str, + role_id: str, + role_name: str, + role_type: str, + session_duration: int, + tags: Sequence['outputs.GetRoleDetailRoleInfoTagResult'], + update_time: str): + """ + :param str add_time: Time role created + :param int console_login: If login is allowed for the role + :param str deletion_task_id: Task identifier for deleting a service-linked role + Note: this field may return null, indicating that no valid values can be obtained. + :param str description: Role description + :param str policy_document: Role policy document + :param str role_id: Role ID + :param str role_name: Role name + :param str role_type: User role. Valid values: `user`, `system`, `service_linked` + Note: this field may return null, indicating that no valid values can be obtained. + :param int session_duration: Valid period + Note: this field may return null, indicating that no valid values can be obtained. + :param Sequence['GetRoleDetailRoleInfoTagArgs'] tags: Tags. + Note: This field may return `null`, indicating that no valid values can be obtained. + :param str update_time: Time role last updated + """ + pulumi.set(__self__, "add_time", add_time) + pulumi.set(__self__, "console_login", console_login) + pulumi.set(__self__, "deletion_task_id", deletion_task_id) + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "policy_document", policy_document) + pulumi.set(__self__, "role_id", role_id) + pulumi.set(__self__, "role_name", role_name) + pulumi.set(__self__, "role_type", role_type) + pulumi.set(__self__, "session_duration", session_duration) + pulumi.set(__self__, "tags", tags) + pulumi.set(__self__, "update_time", update_time) + + @property + @pulumi.getter(name="addTime") + def add_time(self) -> str: + """ + Time role created + """ + return pulumi.get(self, "add_time") + + @property + @pulumi.getter(name="consoleLogin") + def console_login(self) -> int: + """ + If login is allowed for the role + """ + return pulumi.get(self, "console_login") + + @property + @pulumi.getter(name="deletionTaskId") + def deletion_task_id(self) -> str: + """ + Task identifier for deleting a service-linked role + Note: this field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "deletion_task_id") + + @property + @pulumi.getter + def description(self) -> str: + """ + Role description + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="policyDocument") + def policy_document(self) -> str: + """ + Role policy document + """ + return pulumi.get(self, "policy_document") + + @property + @pulumi.getter(name="roleId") + def role_id(self) -> str: + """ + Role ID + """ + return pulumi.get(self, "role_id") + + @property + @pulumi.getter(name="roleName") + def role_name(self) -> str: + """ + Role name + """ + return pulumi.get(self, "role_name") + + @property + @pulumi.getter(name="roleType") + def role_type(self) -> str: + """ + User role. Valid values: `user`, `system`, `service_linked` + Note: this field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "role_type") + + @property + @pulumi.getter(name="sessionDuration") + def session_duration(self) -> int: + """ + Valid period + Note: this field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "session_duration") + + @property + @pulumi.getter + def tags(self) -> Sequence['outputs.GetRoleDetailRoleInfoTagResult']: + """ + Tags. + Note: This field may return `null`, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="updateTime") + def update_time(self) -> str: + """ + Time role last updated + """ + return pulumi.get(self, "update_time") + + +@pulumi.output_type +class GetRoleDetailRoleInfoTagResult(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 GetRolePolicyAttachmentsRolePolicyAttachmentListResult(dict): def __init__(__self__, *, @@ -1133,6 +1301,95 @@ def secret_id(self) -> str: return pulumi.get(self, "secret_id") +@pulumi.output_type +class GetSubAccountsSubAccountResult(dict): + def __init__(__self__, *, + create_time: str, + last_login_ip: str, + last_login_time: str, + name: str, + remark: str, + uid: int, + uin: int, + user_type: int): + """ + :param str create_time: Creation time + Note: this field may return null, indicating that no valid values can be obtained. + :param str name: Sub-user name + :param str remark: Sub-user remarks + :param int uid: Sub-user UID. UID is the unique identifier of a user who is a message recipient, while UIN is a unique identifier of a user. + :param int uin: Sub-user ID + :param int user_type: User type (1: root account; 2: sub-user; 3: WeCom sub-user; 4: collaborator; 5: message recipient) + """ + pulumi.set(__self__, "create_time", create_time) + pulumi.set(__self__, "last_login_ip", last_login_ip) + pulumi.set(__self__, "last_login_time", last_login_time) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "remark", remark) + pulumi.set(__self__, "uid", uid) + pulumi.set(__self__, "uin", uin) + pulumi.set(__self__, "user_type", user_type) + + @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(name="lastLoginIp") + def last_login_ip(self) -> str: + return pulumi.get(self, "last_login_ip") + + @property + @pulumi.getter(name="lastLoginTime") + def last_login_time(self) -> str: + return pulumi.get(self, "last_login_time") + + @property + @pulumi.getter + def name(self) -> str: + """ + Sub-user name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def remark(self) -> str: + """ + Sub-user remarks + """ + return pulumi.get(self, "remark") + + @property + @pulumi.getter + def uid(self) -> int: + """ + Sub-user UID. UID is the unique identifier of a user who is a message recipient, while UIN is a unique identifier of a user. + """ + return pulumi.get(self, "uid") + + @property + @pulumi.getter + def uin(self) -> int: + """ + Sub-user ID + """ + return pulumi.get(self, "uin") + + @property + @pulumi.getter(name="userType") + def user_type(self) -> int: + """ + User type (1: root account; 2: sub-user; 3: WeCom sub-user; 4: collaborator; 5: message recipient) + """ + return pulumi.get(self, "user_type") + + @pulumi.output_type class GetUserPolicyAttachmentsUserPolicyAttachmentListResult(dict): def __init__(__self__, *, 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..094c6c68a 100644 --- a/sdk/python/tencentcloud_iac_pulumi/ccn/__init__.py +++ b/sdk/python/tencentcloud_iac_pulumi/ccn/__init__.py @@ -12,11 +12,18 @@ from .get_cross_border_flow_monitor import * from .get_cross_border_region_bandwidth_limits import * from .get_instances import * +from .get_route_table_input_policies 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_route_table_input_policies.py b/sdk/python/tencentcloud_iac_pulumi/ccn/get_route_table_input_policies.py new file mode 100644 index 000000000..0d263b1c1 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/ccn/get_route_table_input_policies.py @@ -0,0 +1,166 @@ +# 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__ = [ + 'GetRouteTableInputPoliciesResult', + 'AwaitableGetRouteTableInputPoliciesResult', + 'get_route_table_input_policies', + 'get_route_table_input_policies_output', +] + +@pulumi.output_type +class GetRouteTableInputPoliciesResult: + """ + A collection of values returned by getRouteTableInputPolicies. + """ + def __init__(__self__, ccn_id=None, id=None, policy_sets=None, policy_version=None, result_output_file=None, route_table_id=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 id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if policy_sets and not isinstance(policy_sets, list): + raise TypeError("Expected argument 'policy_sets' to be a list") + pulumi.set(__self__, "policy_sets", policy_sets) + if policy_version and not isinstance(policy_version, int): + raise TypeError("Expected argument 'policy_version' to be a int") + pulumi.set(__self__, "policy_version", policy_version) + 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_table_id and not isinstance(route_table_id, str): + raise TypeError("Expected argument 'route_table_id' to be a str") + pulumi.set(__self__, "route_table_id", route_table_id) + + @property + @pulumi.getter(name="ccnId") + def ccn_id(self) -> str: + return pulumi.get(self, "ccn_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="policySets") + def policy_sets(self) -> Sequence['outputs.GetRouteTableInputPoliciesPolicySetResult']: + """ + Policy set. + """ + return pulumi.get(self, "policy_sets") + + @property + @pulumi.getter(name="policyVersion") + def policy_version(self) -> Optional[int]: + return pulumi.get(self, "policy_version") + + @property + @pulumi.getter(name="resultOutputFile") + def result_output_file(self) -> Optional[str]: + return pulumi.get(self, "result_output_file") + + @property + @pulumi.getter(name="routeTableId") + def route_table_id(self) -> str: + return pulumi.get(self, "route_table_id") + + +class AwaitableGetRouteTableInputPoliciesResult(GetRouteTableInputPoliciesResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetRouteTableInputPoliciesResult( + ccn_id=self.ccn_id, + id=self.id, + policy_sets=self.policy_sets, + policy_version=self.policy_version, + result_output_file=self.result_output_file, + route_table_id=self.route_table_id) + + +def get_route_table_input_policies(ccn_id: Optional[str] = None, + policy_version: Optional[int] = None, + result_output_file: Optional[str] = None, + route_table_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetRouteTableInputPoliciesResult: + """ + Use this data source to query CCN route table input policies. + + ## Example Usage + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + example = tencentcloud.Ccn.get_route_table_input_policies(ccn_id="ccn-06jek8tf", + route_table_id="ccnrtb-4jv5ltb9") + ``` + + + + :param str ccn_id: CCN Instance ID. + :param int policy_version: Policy version. + :param str result_output_file: Used to save results. + :param str route_table_id: CCN Route table ID. + """ + __args__ = dict() + __args__['ccnId'] = ccn_id + __args__['policyVersion'] = policy_version + __args__['resultOutputFile'] = result_output_file + __args__['routeTableId'] = route_table_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('tencentcloud:Ccn/getRouteTableInputPolicies:getRouteTableInputPolicies', __args__, opts=opts, typ=GetRouteTableInputPoliciesResult).value + + return AwaitableGetRouteTableInputPoliciesResult( + ccn_id=pulumi.get(__ret__, 'ccn_id'), + id=pulumi.get(__ret__, 'id'), + policy_sets=pulumi.get(__ret__, 'policy_sets'), + policy_version=pulumi.get(__ret__, 'policy_version'), + result_output_file=pulumi.get(__ret__, 'result_output_file'), + route_table_id=pulumi.get(__ret__, 'route_table_id')) + + +@_utilities.lift_output_func(get_route_table_input_policies) +def get_route_table_input_policies_output(ccn_id: Optional[pulumi.Input[str]] = None, + policy_version: Optional[pulumi.Input[Optional[int]]] = None, + result_output_file: Optional[pulumi.Input[Optional[str]]] = None, + route_table_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRouteTableInputPoliciesResult]: + """ + Use this data source to query CCN route table input policies. + + ## Example Usage + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + example = tencentcloud.Ccn.get_route_table_input_policies(ccn_id="ccn-06jek8tf", + route_table_id="ccnrtb-4jv5ltb9") + ``` + + + + :param str ccn_id: CCN Instance ID. + :param int policy_version: Policy version. + :param str result_output_file: Used to save results. + :param str route_table_id: CCN Route table ID. + """ + ... 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..433270007 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,11 @@ 'GetCrossBorderRegionBandwidthLimitsFilterResult', 'GetInstancesInstanceListResult', 'GetInstancesInstanceListAttachmentListResult', + 'GetRouteTableInputPoliciesPolicySetResult', + 'GetRouteTableInputPoliciesPolicySetPolicyResult', + 'GetRouteTableInputPoliciesPolicySetPolicyRouteConditionResult', + 'GetRoutesFilterResult', + 'GetRoutesRouteListResult', ] @pulumi.output_type @@ -287,6 +299,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 +1208,329 @@ def state(self) -> str: return pulumi.get(self, "state") +@pulumi.output_type +class GetRouteTableInputPoliciesPolicySetResult(dict): + def __init__(__self__, *, + create_time: Optional[str] = None, + policy_version: Optional[int] = None, + policys: Optional[Sequence['outputs.GetRouteTableInputPoliciesPolicySetPolicyResult']] = None): + """ + :param str create_time: Create time. + :param int policy_version: Policy version. + :param Sequence['GetRouteTableInputPoliciesPolicySetPolicyArgs'] policys: Policys. + """ + if create_time is not None: + pulumi.set(__self__, "create_time", create_time) + if policy_version is not None: + pulumi.set(__self__, "policy_version", policy_version) + if policys is not None: + pulumi.set(__self__, "policys", policys) + + @property + @pulumi.getter(name="createTime") + def create_time(self) -> Optional[str]: + """ + Create time. + """ + return pulumi.get(self, "create_time") + + @property + @pulumi.getter(name="policyVersion") + def policy_version(self) -> Optional[int]: + """ + Policy version. + """ + return pulumi.get(self, "policy_version") + + @property + @pulumi.getter + def policys(self) -> Optional[Sequence['outputs.GetRouteTableInputPoliciesPolicySetPolicyResult']]: + """ + Policys. + """ + return pulumi.get(self, "policys") + + +@pulumi.output_type +class GetRouteTableInputPoliciesPolicySetPolicyResult(dict): + def __init__(__self__, *, + action: str, + description: str, + route_conditions: Sequence['outputs.GetRouteTableInputPoliciesPolicySetPolicyRouteConditionResult'], + as_path_operate_mode: Optional[str] = None, + operate_as_path: Optional[str] = None): + """ + :param str action: Routing behavior, `accept` allows, `drop` rejects. + :param str description: Policy description + :param Sequence['GetRouteTableInputPoliciesPolicySetPolicyRouteConditionArgs'] route_conditions: Routing conditions. + :param str as_path_operate_mode: as-path operate mode + :param str operate_as_path: as-path operate + """ + pulumi.set(__self__, "action", action) + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "route_conditions", route_conditions) + if as_path_operate_mode is not None: + pulumi.set(__self__, "as_path_operate_mode", as_path_operate_mode) + if operate_as_path is not None: + pulumi.set(__self__, "operate_as_path", operate_as_path) + + @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.GetRouteTableInputPoliciesPolicySetPolicyRouteConditionResult']: + """ + Routing conditions. + """ + return pulumi.get(self, "route_conditions") + + @property + @pulumi.getter(name="asPathOperateMode") + def as_path_operate_mode(self) -> Optional[str]: + """ + as-path operate mode + """ + return pulumi.get(self, "as_path_operate_mode") + + @property + @pulumi.getter(name="operateAsPath") + def operate_as_path(self) -> Optional[str]: + """ + as-path operate + """ + return pulumi.get(self, "operate_as_path") + + +@pulumi.output_type +class GetRouteTableInputPoliciesPolicySetPolicyRouteConditionResult(dict): + 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 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..3cd3c3816 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="ccnr-5uhewx1s", + 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="ccnr-5uhewx1s", + 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..7a35711a7 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', @@ -2341,15 +2342,17 @@ def __init__(__self__, *, backup_origin_type: Optional[pulumi.Input[str]] = None, backup_server_name: Optional[pulumi.Input[str]] = None, cos_private_access: Optional[pulumi.Input[str]] = None, + origin_company: Optional[pulumi.Input[str]] = None, origin_pull_protocol: Optional[pulumi.Input[str]] = None, 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_company: Object storage back to the source vendor. Required when the source station type is a third-party storage source station (third_party). Optional values include the following: `aws_s3`: AWS S3; `ali_oss`: Alibaba Cloud OSS; `hw_obs`: Huawei OBS; `qiniu_kodo`: Qiniu Cloud kodo; `others`: other vendors' object storage, only supports object storage compatible with AWS signature algorithm, such as Tencent Cloud Financial Zone COS. Example value: `hw_obs`. :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. :param pulumi.Input[str] server_name: Host header used when accessing the master origin server. If left empty, the acceleration domain name will be used by default. """ @@ -2363,6 +2366,8 @@ def __init__(__self__, *, pulumi.set(__self__, "backup_server_name", backup_server_name) if cos_private_access is not None: pulumi.set(__self__, "cos_private_access", cos_private_access) + if origin_company is not None: + pulumi.set(__self__, "origin_company", origin_company) if origin_pull_protocol is not None: pulumi.set(__self__, "origin_pull_protocol", origin_pull_protocol) if server_name is not None: @@ -2384,7 +2389,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 +2413,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") @@ -2440,6 +2445,18 @@ def cos_private_access(self) -> Optional[pulumi.Input[str]]: def cos_private_access(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "cos_private_access", value) + @property + @pulumi.getter(name="originCompany") + def origin_company(self) -> Optional[pulumi.Input[str]]: + """ + Object storage back to the source vendor. Required when the source station type is a third-party storage source station (third_party). Optional values include the following: `aws_s3`: AWS S3; `ali_oss`: Alibaba Cloud OSS; `hw_obs`: Huawei OBS; `qiniu_kodo`: Qiniu Cloud kodo; `others`: other vendors' object storage, only supports object storage compatible with AWS signature algorithm, such as Tencent Cloud Financial Zone COS. Example value: `hw_obs`. + """ + return pulumi.get(self, "origin_company") + + @origin_company.setter + def origin_company(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "origin_company", value) + @property @pulumi.getter(name="originPullProtocol") def origin_pull_protocol(self) -> Optional[pulumi.Input[str]]: @@ -2626,6 +2643,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..21421e30b 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', @@ -2401,6 +2402,8 @@ def __key_warning(key: str): suggest = "backup_server_name" elif key == "cosPrivateAccess": suggest = "cos_private_access" + elif key == "originCompany": + suggest = "origin_company" elif key == "originPullProtocol": suggest = "origin_pull_protocol" elif key == "serverName": @@ -2424,15 +2427,17 @@ def __init__(__self__, *, backup_origin_type: Optional[str] = None, backup_server_name: Optional[str] = None, cos_private_access: Optional[str] = None, + origin_company: Optional[str] = None, origin_pull_protocol: Optional[str] = None, 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_company: Object storage back to the source vendor. Required when the source station type is a third-party storage source station (third_party). Optional values include the following: `aws_s3`: AWS S3; `ali_oss`: Alibaba Cloud OSS; `hw_obs`: Huawei OBS; `qiniu_kodo`: Qiniu Cloud kodo; `others`: other vendors' object storage, only supports object storage compatible with AWS signature algorithm, such as Tencent Cloud Financial Zone COS. Example value: `hw_obs`. :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. :param str server_name: Host header used when accessing the master origin server. If left empty, the acceleration domain name will be used by default. """ @@ -2446,6 +2451,8 @@ def __init__(__self__, *, pulumi.set(__self__, "backup_server_name", backup_server_name) if cos_private_access is not None: pulumi.set(__self__, "cos_private_access", cos_private_access) + if origin_company is not None: + pulumi.set(__self__, "origin_company", origin_company) if origin_pull_protocol is not None: pulumi.set(__self__, "origin_pull_protocol", origin_pull_protocol) if server_name is not None: @@ -2463,7 +2470,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 +2486,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") @@ -2499,6 +2506,14 @@ def cos_private_access(self) -> Optional[str]: """ return pulumi.get(self, "cos_private_access") + @property + @pulumi.getter(name="originCompany") + def origin_company(self) -> Optional[str]: + """ + Object storage back to the source vendor. Required when the source station type is a third-party storage source station (third_party). Optional values include the following: `aws_s3`: AWS S3; `ali_oss`: Alibaba Cloud OSS; `hw_obs`: Huawei OBS; `qiniu_kodo`: Qiniu Cloud kodo; `others`: other vendors' object storage, only supports object storage compatible with AWS signature algorithm, such as Tencent Cloud Financial Zone COS. Example value: `hw_obs`. + """ + return pulumi.get(self, "origin_company") + @property @pulumi.getter(name="originPullProtocol") def origin_pull_protocol(self) -> Optional[str]: @@ -2696,6 +2711,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/__init__.py b/sdk/python/tencentcloud_iac_pulumi/clb/__init__.py index ec2b7a47b..8cef5f1a0 100644 --- a/sdk/python/tencentcloud_iac_pulumi/clb/__init__.py +++ b/sdk/python/tencentcloud_iac_pulumi/clb/__init__.py @@ -29,6 +29,7 @@ from .instance_mix_ip_target_config import * from .instance_sla_config import * from .listener import * +from .listener_default_domain import * from .listener_rule import * from .log_set import * from .log_topic import * 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..60860e0d9 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, @@ -46,8 +47,9 @@ def __init__(__self__, *, The set of arguments for constructing a Instance resource. :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] 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] address_ip_version: It's only applicable to public network CLB instances. IP version. Values: `IPV4`, `IPV6` and `IPv6FullChain` (case-insensitive). Default: `IPV4`. Note: IPV6 indicates IPv6 NAT64, while IPv6FullChain indicates IPv6. :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: @@ -150,7 +154,7 @@ def network_type(self, value: pulumi.Input[str]): @pulumi.getter(name="addressIpVersion") def address_ip_version(self) -> Optional[pulumi.Input[str]]: """ - IP version, only applicable to open CLB. Valid values are `ipv4`, `ipv6` and `IPv6FullChain`. + It's only applicable to public network CLB instances. IP version. Values: `IPV4`, `IPV6` and `IPv6FullChain` (case-insensitive). Default: `IPV4`. Note: IPV6 indicates IPv6 NAT64, while IPv6FullChain indicates IPv6. """ return pulumi.get(self, "address_ip_version") @@ -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, @@ -470,11 +487,12 @@ def __init__(__self__, *, zone_id: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering Instance resources. - :param pulumi.Input[str] address_ip_version: IP version, only applicable to open CLB. Valid values are `ipv4`, `ipv6` and `IPv6FullChain`. + :param pulumi.Input[str] address_ip_version: It's only applicable to public network CLB instances. IP version. Values: `IPV4`, `IPV6` and `IPv6FullChain` (case-insensitive). Default: `IPV4`. Note: IPV6 indicates IPv6 NAT64, while IPv6FullChain indicates IPv6. :param pulumi.Input[str] address_ipv6: The IPv6 address of the load balancing instance. :param pulumi.Input[str] bandwidth_package_id: Bandwidth package id. If set, the `internet_charge_type` must be `BANDWIDTH_PACKAGE`. :param pulumi.Input[str] clb_name: Name of the CLB. The name can only contain Chinese characters, English letters, numbers, underscore and hyphen '-'. :param pulumi.Input[Sequence[pulumi.Input[str]]] clb_vips: The virtual service address table of the CLB. + :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: @@ -566,7 +586,7 @@ def __init__(__self__, *, @pulumi.getter(name="addressIpVersion") def address_ip_version(self) -> Optional[pulumi.Input[str]]: """ - IP version, only applicable to open CLB. Valid values are `ipv4`, `ipv6` and `IPv6FullChain`. + It's only applicable to public network CLB instances. IP version. Values: `IPV4`, `IPV6` and `IPv6FullChain` (case-insensitive). Default: `IPV4`. Note: IPV6 indicates IPv6 NAT64, while IPv6FullChain indicates IPv6. """ return pulumi.get(self, "address_ip_version") @@ -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,14 +1391,15 @@ 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. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] address_ip_version: IP version, only applicable to open CLB. Valid values are `ipv4`, `ipv6` and `IPv6FullChain`. + :param pulumi.Input[str] address_ip_version: It's only applicable to public network CLB instances. IP version. Values: `IPV4`, `IPV6` and `IPv6FullChain` (case-insensitive). Default: `IPV4`. Note: IPV6 indicates IPv6 NAT64, while IPv6FullChain indicates IPv6. :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, @@ -1625,11 +1970,12 @@ 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] address_ip_version: IP version, only applicable to open CLB. Valid values are `ipv4`, `ipv6` and `IPv6FullChain`. + :param pulumi.Input[str] address_ip_version: It's only applicable to public network CLB instances. IP version. Values: `IPV4`, `IPV6` and `IPv6FullChain` (case-insensitive). Default: `IPV4`. Note: IPV6 indicates IPv6 NAT64, while IPv6FullChain indicates IPv6. :param pulumi.Input[str] address_ipv6: The IPv6 address of the load balancing instance. :param pulumi.Input[str] bandwidth_package_id: Bandwidth package id. If set, the `internet_charge_type` must be `BANDWIDTH_PACKAGE`. :param pulumi.Input[str] clb_name: Name of the CLB. The name can only contain Chinese characters, English letters, numbers, underscore and hyphen '-'. :param pulumi.Input[Sequence[pulumi.Input[str]]] clb_vips: The virtual service address table of the CLB. + :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 @@ -1696,7 +2043,7 @@ def get(resource_name: str, @pulumi.getter(name="addressIpVersion") def address_ip_version(self) -> pulumi.Output[str]: """ - IP version, only applicable to open CLB. Valid values are `ipv4`, `ipv6` and `IPv6FullChain`. + It's only applicable to public network CLB instances. IP version. Values: `IPV4`, `IPV6` and `IPv6FullChain` (case-insensitive). Default: `IPV4`. Note: IPV6 indicates IPv6 NAT64, while IPv6FullChain indicates IPv6. """ return pulumi.get(self, "address_ip_version") @@ -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.py b/sdk/python/tencentcloud_iac_pulumi/clb/listener.py index 2663df8cd..509d3d67b 100644 --- a/sdk/python/tencentcloud_iac_pulumi/clb/listener.py +++ b/sdk/python/tencentcloud_iac_pulumi/clb/listener.py @@ -21,6 +21,7 @@ def __init__(__self__, *, certificate_id: Optional[pulumi.Input[str]] = None, certificate_ssl_mode: Optional[pulumi.Input[str]] = None, end_port: Optional[pulumi.Input[int]] = None, + h2c_switch: Optional[pulumi.Input[bool]] = None, health_check_context_type: Optional[pulumi.Input[str]] = None, health_check_health_num: Optional[pulumi.Input[int]] = None, health_check_http_code: Optional[pulumi.Input[int]] = None, @@ -53,6 +54,7 @@ def __init__(__self__, *, :param pulumi.Input[str] certificate_id: ID of the server certificate. NOTES: Only supports listeners of `HTTPS` and `TCP_SSL` protocol and must be set when it is available. :param pulumi.Input[str] certificate_ssl_mode: Type of certificate. Valid values: `UNIDIRECTIONAL`, `MUTUAL`. NOTES: Only supports listeners of `HTTPS` and `TCP_SSL` protocol and must be set when it is available. :param pulumi.Input[int] end_port: This parameter is used to specify the end port and is required when creating a port range listener. Only one member can be passed in when inputting the `Ports` parameter, which is used to specify the start port. If you want to try the port range feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category). + :param pulumi.Input[bool] h2c_switch: Enable H2C switch for intranet HTTP listener. :param pulumi.Input[str] health_check_context_type: Health check protocol. When the value of `health_check_type` of the health check protocol is `CUSTOM`, this field is required, which represents the input format of the health check. Valid values: `HEX`, `TEXT`. :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 for 3 consecutive times, the backend CVM is identified as healthy. The value range is 2-10. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in tencentcloud_clb_listener_rule. :param pulumi.Input[int] health_check_http_code: HTTP health check code of TCP listener, Valid value ranges: [1~31]. When the value of `health_check_type` of the health check protocol is `HTTP`, this field is required. Valid values: `1`, `2`, `4`, `8`, `16`. `1` means http_1xx, `2` means http_2xx, `4` means http_3xx, `8` means http_4xx, `16` means http_5xx.If you want multiple return codes to indicate health, need to add the corresponding values. @@ -88,6 +90,8 @@ def __init__(__self__, *, pulumi.set(__self__, "certificate_ssl_mode", certificate_ssl_mode) if end_port is not None: pulumi.set(__self__, "end_port", end_port) + if h2c_switch is not None: + pulumi.set(__self__, "h2c_switch", h2c_switch) if health_check_context_type is not None: pulumi.set(__self__, "health_check_context_type", health_check_context_type) if health_check_health_num is not None: @@ -219,6 +223,18 @@ def end_port(self) -> Optional[pulumi.Input[int]]: def end_port(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "end_port", value) + @property + @pulumi.getter(name="h2cSwitch") + def h2c_switch(self) -> Optional[pulumi.Input[bool]]: + """ + Enable H2C switch for intranet HTTP listener. + """ + return pulumi.get(self, "h2c_switch") + + @h2c_switch.setter + def h2c_switch(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "h2c_switch", value) + @property @pulumi.getter(name="healthCheckContextType") def health_check_context_type(self) -> Optional[pulumi.Input[str]]: @@ -504,6 +520,7 @@ def __init__(__self__, *, certificate_ssl_mode: Optional[pulumi.Input[str]] = None, clb_id: Optional[pulumi.Input[str]] = None, end_port: Optional[pulumi.Input[int]] = None, + h2c_switch: Optional[pulumi.Input[bool]] = None, health_check_context_type: Optional[pulumi.Input[str]] = None, health_check_health_num: Optional[pulumi.Input[int]] = None, health_check_http_code: Optional[pulumi.Input[int]] = None, @@ -537,6 +554,7 @@ def __init__(__self__, *, :param pulumi.Input[str] certificate_ssl_mode: Type of certificate. Valid values: `UNIDIRECTIONAL`, `MUTUAL`. NOTES: Only supports listeners of `HTTPS` and `TCP_SSL` protocol and must be set when it is available. :param pulumi.Input[str] clb_id: ID of the CLB. :param pulumi.Input[int] end_port: This parameter is used to specify the end port and is required when creating a port range listener. Only one member can be passed in when inputting the `Ports` parameter, which is used to specify the start port. If you want to try the port range feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category). + :param pulumi.Input[bool] h2c_switch: Enable H2C switch for intranet HTTP listener. :param pulumi.Input[str] health_check_context_type: Health check protocol. When the value of `health_check_type` of the health check protocol is `CUSTOM`, this field is required, which represents the input format of the health check. Valid values: `HEX`, `TEXT`. :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 for 3 consecutive times, the backend CVM is identified as healthy. The value range is 2-10. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in tencentcloud_clb_listener_rule. :param pulumi.Input[int] health_check_http_code: HTTP health check code of TCP listener, Valid value ranges: [1~31]. When the value of `health_check_type` of the health check protocol is `HTTP`, this field is required. Valid values: `1`, `2`, `4`, `8`, `16`. `1` means http_1xx, `2` means http_2xx, `4` means http_3xx, `8` means http_4xx, `16` means http_5xx.If you want multiple return codes to indicate health, need to add the corresponding values. @@ -574,6 +592,8 @@ def __init__(__self__, *, pulumi.set(__self__, "clb_id", clb_id) if end_port is not None: pulumi.set(__self__, "end_port", end_port) + if h2c_switch is not None: + pulumi.set(__self__, "h2c_switch", h2c_switch) if health_check_context_type is not None: pulumi.set(__self__, "health_check_context_type", health_check_context_type) if health_check_health_num is not None: @@ -687,6 +707,18 @@ def end_port(self) -> Optional[pulumi.Input[int]]: def end_port(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "end_port", value) + @property + @pulumi.getter(name="h2cSwitch") + def h2c_switch(self) -> Optional[pulumi.Input[bool]]: + """ + Enable H2C switch for intranet HTTP listener. + """ + return pulumi.get(self, "h2c_switch") + + @h2c_switch.setter + def h2c_switch(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "h2c_switch", value) + @property @pulumi.getter(name="healthCheckContextType") def health_check_context_type(self) -> Optional[pulumi.Input[str]]: @@ -1010,6 +1042,7 @@ def __init__(__self__, certificate_ssl_mode: Optional[pulumi.Input[str]] = None, clb_id: Optional[pulumi.Input[str]] = None, end_port: Optional[pulumi.Input[int]] = None, + h2c_switch: Optional[pulumi.Input[bool]] = None, health_check_context_type: Optional[pulumi.Input[str]] = None, health_check_health_num: Optional[pulumi.Input[int]] = None, health_check_http_code: Optional[pulumi.Input[int]] = None, @@ -1243,6 +1276,7 @@ def __init__(__self__, :param pulumi.Input[str] certificate_ssl_mode: Type of certificate. Valid values: `UNIDIRECTIONAL`, `MUTUAL`. NOTES: Only supports listeners of `HTTPS` and `TCP_SSL` protocol and must be set when it is available. :param pulumi.Input[str] clb_id: ID of the CLB. :param pulumi.Input[int] end_port: This parameter is used to specify the end port and is required when creating a port range listener. Only one member can be passed in when inputting the `Ports` parameter, which is used to specify the start port. If you want to try the port range feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category). + :param pulumi.Input[bool] h2c_switch: Enable H2C switch for intranet HTTP listener. :param pulumi.Input[str] health_check_context_type: Health check protocol. When the value of `health_check_type` of the health check protocol is `CUSTOM`, this field is required, which represents the input format of the health check. Valid values: `HEX`, `TEXT`. :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 for 3 consecutive times, the backend CVM is identified as healthy. The value range is 2-10. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in tencentcloud_clb_listener_rule. :param pulumi.Input[int] health_check_http_code: HTTP health check code of TCP listener, Valid value ranges: [1~31]. When the value of `health_check_type` of the health check protocol is `HTTP`, this field is required. Valid values: `1`, `2`, `4`, `8`, `16`. `1` means http_1xx, `2` means http_2xx, `4` means http_3xx, `8` means http_4xx, `16` means http_5xx.If you want multiple return codes to indicate health, need to add the corresponding values. @@ -1495,6 +1529,7 @@ def _internal_init(__self__, certificate_ssl_mode: Optional[pulumi.Input[str]] = None, clb_id: Optional[pulumi.Input[str]] = None, end_port: Optional[pulumi.Input[int]] = None, + h2c_switch: Optional[pulumi.Input[bool]] = None, health_check_context_type: Optional[pulumi.Input[str]] = None, health_check_health_num: Optional[pulumi.Input[int]] = None, health_check_http_code: Optional[pulumi.Input[int]] = None, @@ -1536,6 +1571,7 @@ def _internal_init(__self__, raise TypeError("Missing required property 'clb_id'") __props__.__dict__["clb_id"] = clb_id __props__.__dict__["end_port"] = end_port + __props__.__dict__["h2c_switch"] = h2c_switch __props__.__dict__["health_check_context_type"] = health_check_context_type __props__.__dict__["health_check_health_num"] = health_check_health_num __props__.__dict__["health_check_http_code"] = health_check_http_code @@ -1581,6 +1617,7 @@ def get(resource_name: str, certificate_ssl_mode: Optional[pulumi.Input[str]] = None, clb_id: Optional[pulumi.Input[str]] = None, end_port: Optional[pulumi.Input[int]] = None, + h2c_switch: Optional[pulumi.Input[bool]] = None, health_check_context_type: Optional[pulumi.Input[str]] = None, health_check_health_num: Optional[pulumi.Input[int]] = None, health_check_http_code: Optional[pulumi.Input[int]] = None, @@ -1619,6 +1656,7 @@ def get(resource_name: str, :param pulumi.Input[str] certificate_ssl_mode: Type of certificate. Valid values: `UNIDIRECTIONAL`, `MUTUAL`. NOTES: Only supports listeners of `HTTPS` and `TCP_SSL` protocol and must be set when it is available. :param pulumi.Input[str] clb_id: ID of the CLB. :param pulumi.Input[int] end_port: This parameter is used to specify the end port and is required when creating a port range listener. Only one member can be passed in when inputting the `Ports` parameter, which is used to specify the start port. If you want to try the port range feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category). + :param pulumi.Input[bool] h2c_switch: Enable H2C switch for intranet HTTP listener. :param pulumi.Input[str] health_check_context_type: Health check protocol. When the value of `health_check_type` of the health check protocol is `CUSTOM`, this field is required, which represents the input format of the health check. Valid values: `HEX`, `TEXT`. :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 for 3 consecutive times, the backend CVM is identified as healthy. The value range is 2-10. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in tencentcloud_clb_listener_rule. :param pulumi.Input[int] health_check_http_code: HTTP health check code of TCP listener, Valid value ranges: [1~31]. When the value of `health_check_type` of the health check protocol is `HTTP`, this field is required. Valid values: `1`, `2`, `4`, `8`, `16`. `1` means http_1xx, `2` means http_2xx, `4` means http_3xx, `8` means http_4xx, `16` means http_5xx.If you want multiple return codes to indicate health, need to add the corresponding values. @@ -1655,6 +1693,7 @@ def get(resource_name: str, __props__.__dict__["certificate_ssl_mode"] = certificate_ssl_mode __props__.__dict__["clb_id"] = clb_id __props__.__dict__["end_port"] = end_port + __props__.__dict__["h2c_switch"] = h2c_switch __props__.__dict__["health_check_context_type"] = health_check_context_type __props__.__dict__["health_check_health_num"] = health_check_health_num __props__.__dict__["health_check_http_code"] = health_check_http_code @@ -1723,6 +1762,14 @@ def end_port(self) -> pulumi.Output[int]: """ return pulumi.get(self, "end_port") + @property + @pulumi.getter(name="h2cSwitch") + def h2c_switch(self) -> pulumi.Output[bool]: + """ + Enable H2C switch for intranet HTTP listener. + """ + return pulumi.get(self, "h2c_switch") + @property @pulumi.getter(name="healthCheckContextType") def health_check_context_type(self) -> pulumi.Output[str]: diff --git a/sdk/python/tencentcloud_iac_pulumi/clb/listener_default_domain.py b/sdk/python/tencentcloud_iac_pulumi/clb/listener_default_domain.py new file mode 100644 index 000000000..cf73808d2 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/clb/listener_default_domain.py @@ -0,0 +1,318 @@ +# 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__ = ['ListenerDefaultDomainArgs', 'ListenerDefaultDomain'] + +@pulumi.input_type +class ListenerDefaultDomainArgs: + def __init__(__self__, *, + clb_id: pulumi.Input[str], + domain: pulumi.Input[str], + listener_id: pulumi.Input[str]): + """ + The set of arguments for constructing a ListenerDefaultDomain resource. + :param pulumi.Input[str] clb_id: ID of CLB instance. + :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[str] listener_id: ID of CLB listener. + """ + pulumi.set(__self__, "clb_id", clb_id) + pulumi.set(__self__, "domain", domain) + pulumi.set(__self__, "listener_id", listener_id) + + @property + @pulumi.getter(name="clbId") + def clb_id(self) -> pulumi.Input[str]: + """ + ID of CLB instance. + """ + return pulumi.get(self, "clb_id") + + @clb_id.setter + 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. 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: pulumi.Input[str]): + pulumi.set(self, "domain", value) + + @property + @pulumi.getter(name="listenerId") + def listener_id(self) -> pulumi.Input[str]: + """ + ID of CLB listener. + """ + return pulumi.get(self, "listener_id") + + @listener_id.setter + def listener_id(self, value: pulumi.Input[str]): + pulumi.set(self, "listener_id", value) + + +@pulumi.input_type +class _ListenerDefaultDomainState: + def __init__(__self__, *, + 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): + """ + Input properties used for looking up and filtering ListenerDefaultDomain resources. + :param pulumi.Input[str] clb_id: ID of CLB instance. + :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[str] listener_id: ID of CLB listener. + :param pulumi.Input[str] rule_id: ID of this CLB listener rule. + """ + 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 rule_id is not None: + pulumi.set(__self__, "rule_id", rule_id) + + @property + @pulumi.getter(name="clbId") + def clb_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of CLB instance. + """ + return pulumi.get(self, "clb_id") + + @clb_id.setter + 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 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(name="listenerId") + def listener_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of CLB listener. + """ + return pulumi.get(self, "listener_id") + + @listener_id.setter + def listener_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "listener_id", value) + + @property + @pulumi.getter(name="ruleId") + def rule_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of this CLB listener rule. + """ + return pulumi.get(self, "rule_id") + + @rule_id.setter + def rule_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "rule_id", value) + + +class ListenerDefaultDomain(pulumi.CustomResource): + @overload + 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, + __props__=None): + """ + Provides a resource to set clb listener default domain + + ## Example Usage + + ### Set default domain + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.clb.ListenerDefaultDomain("example", + clb_id="lb-g1miv1ok", + domain="3.com", + listener_id="lbl-duilx5qm") + ``` + + + ## Import + + CLB listener default domain can be imported using the id (version >= 1.47.0), e.g. + + ```sh + $ pulumi import tencentcloud:Clb/listenerDefaultDomain:ListenerDefaultDomain example lb-k2zjp9lv#lbl-hh141sn9 + ``` + + :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 CLB instance. + :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[str] listener_id: ID of CLB listener. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ListenerDefaultDomainArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to set clb listener default domain + + ## Example Usage + + ### Set default domain + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.clb.ListenerDefaultDomain("example", + clb_id="lb-g1miv1ok", + domain="3.com", + listener_id="lbl-duilx5qm") + ``` + + + ## Import + + CLB listener default domain can be imported using the id (version >= 1.47.0), e.g. + + ```sh + $ pulumi import tencentcloud:Clb/listenerDefaultDomain:ListenerDefaultDomain example lb-k2zjp9lv#lbl-hh141sn9 + ``` + + :param str resource_name: The name of the resource. + :param ListenerDefaultDomainArgs 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(ListenerDefaultDomainArgs, 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, + clb_id: Optional[pulumi.Input[str]] = None, + domain: Optional[pulumi.Input[str]] = None, + listener_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__ = ListenerDefaultDomainArgs.__new__(ListenerDefaultDomainArgs) + + 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 + if listener_id is None and not opts.urn: + raise TypeError("Missing required property 'listener_id'") + __props__.__dict__["listener_id"] = listener_id + __props__.__dict__["rule_id"] = None + super(ListenerDefaultDomain, __self__).__init__( + 'tencentcloud:Clb/listenerDefaultDomain:ListenerDefaultDomain', + resource_name, + __props__, + opts) + + @staticmethod + 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, + rule_id: Optional[pulumi.Input[str]] = None) -> 'ListenerDefaultDomain': + """ + Get an existing ListenerDefaultDomain 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] clb_id: ID of CLB instance. + :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[str] listener_id: ID of CLB listener. + :param pulumi.Input[str] rule_id: ID of this CLB listener rule. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ListenerDefaultDomainState.__new__(_ListenerDefaultDomainState) + + __props__.__dict__["clb_id"] = clb_id + __props__.__dict__["domain"] = domain + __props__.__dict__["listener_id"] = listener_id + __props__.__dict__["rule_id"] = rule_id + return ListenerDefaultDomain(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="clbId") + def clb_id(self) -> pulumi.Output[str]: + """ + ID of CLB instance. + """ + return pulumi.get(self, "clb_id") + + @property + @pulumi.getter + def domain(self) -> pulumi.Output[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") + + @property + @pulumi.getter(name="listenerId") + def listener_id(self) -> pulumi.Output[str]: + """ + ID of CLB listener. + """ + return pulumi.get(self, "listener_id") + + @property + @pulumi.getter(name="ruleId") + def rule_id(self) -> pulumi.Output[str]: + """ + ID of this CLB listener rule. + """ + return pulumi.get(self, "rule_id") + diff --git a/sdk/python/tencentcloud_iac_pulumi/clb/listener_rule.py b/sdk/python/tencentcloud_iac_pulumi/clb/listener_rule.py index 3720b7c82..bf7ea4c2f 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,13 +41,14 @@ 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] forward_type: Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `TRPC`. The default is `HTTP`. + :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`, `GRPC`, `GRPCS`, `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. :param pulumi.Input[str] health_check_http_domain: Domain name of health check. NOTES: Only supports listeners of `HTTP` and `HTTPS` protocol. @@ -55,7 +57,7 @@ def __init__(__self__, *, :param pulumi.Input[int] health_check_interval_time: Interval time of health check. Valid value ranges: (2~300) sec. and the default is `5` sec. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in `Clb.ListenerRule`. :param pulumi.Input[bool] health_check_switch: Indicates whether health check is enabled. :param pulumi.Input[int] health_check_time_out: Time out of health check. The value range is 2-60. - :param pulumi.Input[str] health_check_type: Type of health check. Valid value is `CUSTOM`, `TCP`, `HTTP`. + :param pulumi.Input[str] health_check_type: Type of health check. Valid value is `CUSTOM`, `PING`, `TCP`, `HTTP`, `HTTPS`, `GRPC`, `GRPCS`. :param pulumi.Input[int] health_check_unhealth_num: Unhealthy threshold of health check, and the default is `3`. If the unhealthy result is returned 3 consecutive times, indicates that the forwarding is abnormal. 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[bool] http2_switch: Indicate to apply HTTP2.0 protocol or not. :param pulumi.Input[bool] quic: Whether to enable QUIC. Note: QUIC can be enabled only for HTTPS domain names. @@ -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,11 +183,35 @@ 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]]: """ - Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `TRPC`. The default is `HTTP`. + Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `GRPC`, `GRPCS`, `TRPC`. The default is `HTTP`. """ return pulumi.get(self, "forward_type") @@ -302,7 +319,7 @@ def health_check_time_out(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="healthCheckType") def health_check_type(self) -> Optional[pulumi.Input[str]]: """ - Type of health check. Valid value is `CUSTOM`, `TCP`, `HTTP`. + Type of health check. Valid value is `CUSTOM`, `PING`, `TCP`, `HTTP`, `HTTPS`, `GRPC`, `GRPCS`. """ return pulumi.get(self, "health_check_type") @@ -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,8 +434,9 @@ 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] forward_type: Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `TRPC`. The default is `HTTP`. + :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`, `GRPC`, `GRPCS`, `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. :param pulumi.Input[str] health_check_http_domain: Domain name of health check. NOTES: Only supports listeners of `HTTP` and `HTTPS` protocol. @@ -426,7 +445,7 @@ def __init__(__self__, *, :param pulumi.Input[int] health_check_interval_time: Interval time of health check. Valid value ranges: (2~300) sec. and the default is `5` sec. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in `Clb.ListenerRule`. :param pulumi.Input[bool] health_check_switch: Indicates whether health check is enabled. :param pulumi.Input[int] health_check_time_out: Time out of health check. The value range is 2-60. - :param pulumi.Input[str] health_check_type: Type of health check. Valid value is `CUSTOM`, `TCP`, `HTTP`. + :param pulumi.Input[str] health_check_type: Type of health check. Valid value is `CUSTOM`, `PING`, `TCP`, `HTTP`, `HTTPS`, `GRPC`, `GRPCS`. :param pulumi.Input[int] health_check_unhealth_num: Unhealthy threshold of health check, and the default is `3`. If the unhealthy result is returned 3 consecutive times, indicates that the forwarding is abnormal. 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[bool] http2_switch: Indicate to apply HTTP2.0 protocol or not. :param pulumi.Input[str] listener_id: ID of CLB listener. @@ -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,11 +567,23 @@ 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]]: """ - Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `TRPC`. The default is `HTTP`. + Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `GRPC`, `GRPCS`, `TRPC`. The default is `HTTP`. """ return pulumi.get(self, "forward_type") @@ -658,7 +691,7 @@ def health_check_time_out(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="healthCheckType") def health_check_type(self) -> Optional[pulumi.Input[str]]: """ - Type of health check. Valid value is `CUSTOM`, `TCP`, `HTTP`. + Type of health check. Valid value is `CUSTOM`, `PING`, `TCP`, `HTTP`, `HTTPS`, `GRPC`, `GRPCS`. """ return pulumi.get(self, "health_check_type") @@ -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,8 +914,9 @@ 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] forward_type: Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `TRPC`. The default is `HTTP`. + :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`, `GRPC`, `GRPCS`, `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. :param pulumi.Input[str] health_check_http_domain: Domain name of health check. NOTES: Only supports listeners of `HTTP` and `HTTPS` protocol. @@ -861,7 +925,7 @@ def __init__(__self__, :param pulumi.Input[int] health_check_interval_time: Interval time of health check. Valid value ranges: (2~300) sec. and the default is `5` sec. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in `Clb.ListenerRule`. :param pulumi.Input[bool] health_check_switch: Indicates whether health check is enabled. :param pulumi.Input[int] health_check_time_out: Time out of health check. The value range is 2-60. - :param pulumi.Input[str] health_check_type: Type of health check. Valid value is `CUSTOM`, `TCP`, `HTTP`. + :param pulumi.Input[str] health_check_type: Type of health check. Valid value is `CUSTOM`, `PING`, `TCP`, `HTTP`, `HTTPS`, `GRPC`, `GRPCS`. :param pulumi.Input[int] health_check_unhealth_num: Unhealthy threshold of health check, and the default is `3`. If the unhealthy result is returned 3 consecutive times, indicates that the forwarding is abnormal. 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[bool] http2_switch: Indicate to apply HTTP2.0 protocol or not. :param pulumi.Input[str] listener_id: ID of CLB listener. @@ -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,8 +1136,9 @@ 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] forward_type: Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `TRPC`. The default is `HTTP`. + :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`, `GRPC`, `GRPCS`, `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. :param pulumi.Input[str] health_check_http_domain: Domain name of health check. NOTES: Only supports listeners of `HTTP` and `HTTPS` protocol. @@ -1052,7 +1147,7 @@ def get(resource_name: str, :param pulumi.Input[int] health_check_interval_time: Interval time of health check. Valid value ranges: (2~300) sec. and the default is `5` sec. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in `Clb.ListenerRule`. :param pulumi.Input[bool] health_check_switch: Indicates whether health check is enabled. :param pulumi.Input[int] health_check_time_out: Time out of health check. The value range is 2-60. - :param pulumi.Input[str] health_check_type: Type of health check. Valid value is `CUSTOM`, `TCP`, `HTTP`. + :param pulumi.Input[str] health_check_type: Type of health check. Valid value is `CUSTOM`, `PING`, `TCP`, `HTTP`, `HTTPS`, `GRPC`, `GRPCS`. :param pulumi.Input[int] health_check_unhealth_num: Unhealthy threshold of health check, and the default is `3`. If the unhealthy result is returned 3 consecutive times, indicates that the forwarding is abnormal. 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[bool] http2_switch: Indicate to apply HTTP2.0 protocol or not. :param pulumi.Input[str] listener_id: ID of CLB listener. @@ -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,15 +1225,23 @@ 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]: """ - Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `TRPC`. The default is `HTTP`. + Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `GRPC`, `GRPCS`, `TRPC`. The default is `HTTP`. """ return pulumi.get(self, "forward_type") @@ -1209,7 +1313,7 @@ def health_check_time_out(self) -> pulumi.Output[int]: @pulumi.getter(name="healthCheckType") def health_check_type(self) -> pulumi.Output[str]: """ - Type of health check. Valid value is `CUSTOM`, `TCP`, `HTTP`. + Type of health check. Valid value is `CUSTOM`, `PING`, `TCP`, `HTTP`, `HTTPS`, `GRPC`, `GRPCS`. """ return pulumi.get(self, "health_check_type") 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..51ee8a7da 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 @@ -19,16 +21,20 @@ def __init__(__self__, *, role_arn: str, session_duration: int, session_name: str, + external_id: Optional[str] = None, policy: Optional[str] = None): """ :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 AssumeRole 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 external_id: External role ID, which can be obtained by clicking the role name in the CAM console. It can contain 2-128 letters, digits, and symbols (=,.@:/-). Regex: [\\w+=,.@:/-]*. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_EXTERNAL_ID`. :param str policy: A more restrictive policy when making the AssumeRole call. Its content must not contains `principal` elements. Notice: more syntax references, please refer to: [policies syntax logic](https://intl.cloud.tencent.com/document/product/598/10603). """ pulumi.set(__self__, "role_arn", role_arn) pulumi.set(__self__, "session_duration", session_duration) pulumi.set(__self__, "session_name", session_name) + if external_id is not None: + pulumi.set(__self__, "external_id", external_id) if policy is not None: pulumi.set(__self__, "policy", policy) @@ -56,6 +62,14 @@ def session_name(self) -> str: """ return pulumi.get(self, "session_name") + @property + @pulumi.getter(name="externalId") + def external_id(self) -> Optional[str]: + """ + External role ID, which can be obtained by clicking the role name in the CAM console. It can contain 2-128 letters, digits, and symbols (=,.@:/-). Regex: [\\w+=,.@:/-]*. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_EXTERNAL_ID`. + """ + return pulumi.get(self, "external_id") + @property @pulumi.getter def policy(self) -> Optional[str]: @@ -65,3 +79,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/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/cos/_inputs.py index 6d90119f1..db73f00ff 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cos/_inputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/cos/_inputs.py @@ -1856,11 +1856,13 @@ class BucketWebsiteArgs: def __init__(__self__, *, endpoint: Optional[pulumi.Input[str]] = None, error_document: Optional[pulumi.Input[str]] = None, - index_document: Optional[pulumi.Input[str]] = None): + index_document: Optional[pulumi.Input[str]] = None, + redirect_all_requests_to: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[str] endpoint: `Endpoint` of the static website. :param pulumi.Input[str] error_document: An absolute path to the document to return in case of a 4XX error. :param pulumi.Input[str] index_document: COS returns this index document when requests are made to the root domain or any of the subfolders. + :param pulumi.Input[str] redirect_all_requests_to: Redirects all request configurations. Valid values: http, https. Default is `http`. """ if endpoint is not None: pulumi.set(__self__, "endpoint", endpoint) @@ -1868,6 +1870,8 @@ def __init__(__self__, *, pulumi.set(__self__, "error_document", error_document) if index_document is not None: pulumi.set(__self__, "index_document", index_document) + if redirect_all_requests_to is not None: + pulumi.set(__self__, "redirect_all_requests_to", redirect_all_requests_to) @property @pulumi.getter @@ -1905,4 +1909,16 @@ def index_document(self) -> Optional[pulumi.Input[str]]: def index_document(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "index_document", value) + @property + @pulumi.getter(name="redirectAllRequestsTo") + def redirect_all_requests_to(self) -> Optional[pulumi.Input[str]]: + """ + Redirects all request configurations. Valid values: http, https. Default is `http`. + """ + return pulumi.get(self, "redirect_all_requests_to") + + @redirect_all_requests_to.setter + def redirect_all_requests_to(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "redirect_all_requests_to", value) + 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..7205d8fff 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, @@ -779,6 +845,8 @@ def __init__(__self__, """ Provides a COS resource to create a COS bucket and set its attributes. + > **NOTE:** The following capabilities do not support cdc scenarios: `multi_az`, `website`, and bucket replication `replica_role`. + ## Example Usage ### Private Bucket @@ -791,12 +859,61 @@ 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 + + region = "ap-guangzhou" + cdc_id = "cluster-262n63e8" + info = tencentcloud.User.get_info() + app_id = info.app_id + private_bucket = tencentcloud.cos.Bucket("privateBucket", + bucket=f"private-bucket-{app_id}", + 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=False, + force_clean=True) + ``` + + ### Creation of multiple available zone bucket @@ -892,6 +1009,47 @@ def __init__(__self__, ``` + ### Using verbose acl with CDC cluster + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + import tencentcloud_iac_pulumi as tencentcloud + + region = "ap-guangzhou" + cdc_id = "cluster-262n63e8" + info = tencentcloud.User.get_info() + app_id = info.app_id + bucket_with_acl = tencentcloud.cos.Bucket("bucketWithAcl", + bucket=f"private-bucket-{app_id}", + acl="private", + acl_body=\"\"\" + + qcs::cam::uin/100023201586:uin/100023201586 + qcs::cam::uin/100023201586:uin/100023201586 + + + + + qcs::cam::uin/100015006748:uin/100015006748 + qcs::cam::uin/100015006748:uin/100015006748 + + WRITE + + + + qcs::cam::uin/100023201586:uin/100023201586 + qcs::cam::uin/100023201586:uin/100023201586 + + FULL_CONTROL + + + + \"\"\") + ``` + + ### Static Website @@ -907,6 +1065,7 @@ def __init__(__self__, website=tencentcloud.cos.BucketWebsiteArgs( index_document="index.html", error_document="error.html", + redirect_all_requests_to="https", )) pulumi.export("endpointTest", bucket_with_static_website.website.endpoint) ``` @@ -938,6 +1097,33 @@ def __init__(__self__, ``` + ### Using CORS with CDC + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + import tencentcloud_iac_pulumi as tencentcloud + + region = "ap-guangzhou" + cdc_id = "cluster-262n63e8" + info = tencentcloud.User.get_info() + app_id = info.app_id + bucket_with_cors = tencentcloud.cos.Bucket("bucketWithCors", + bucket=f"bucket-with-cors-{app_id}", + 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 +1150,30 @@ def __init__(__self__, ``` + ### Using object lifecycle with CDC + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + import tencentcloud_iac_pulumi as tencentcloud + + region = "ap-guangzhou" + cdc_id = "cluster-262n63e8" + info = tencentcloud.User.get_info() + app_id = info.app_id + bucket_with_lifecycle = tencentcloud.cos.Bucket("bucketWithLifecycle", + bucket=f"bucket-with-lifecycle-{app_id}", + acl="private", + lifecycle_rules=[tencentcloud.cos.BucketLifecycleRuleArgs( + filter_prefix="path1/", + expiration=tencentcloud.cos.BucketLifecycleRuleExpirationArgs( + days=90, + ), + )]) + ``` + + ### Using replication @@ -1009,12 +1219,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`. @@ -1037,6 +1249,8 @@ def __init__(__self__, """ Provides a COS resource to create a COS bucket and set its attributes. + > **NOTE:** The following capabilities do not support cdc scenarios: `multi_az`, `website`, and bucket replication `replica_role`. + ## Example Usage ### Private Bucket @@ -1049,12 +1263,61 @@ 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 + + region = "ap-guangzhou" + cdc_id = "cluster-262n63e8" + info = tencentcloud.User.get_info() + app_id = info.app_id + private_bucket = tencentcloud.cos.Bucket("privateBucket", + bucket=f"private-bucket-{app_id}", + 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=False, + force_clean=True) + ``` + + ### Creation of multiple available zone bucket @@ -1150,6 +1413,47 @@ def __init__(__self__, ``` + ### Using verbose acl with CDC cluster + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + import tencentcloud_iac_pulumi as tencentcloud + + region = "ap-guangzhou" + cdc_id = "cluster-262n63e8" + info = tencentcloud.User.get_info() + app_id = info.app_id + bucket_with_acl = tencentcloud.cos.Bucket("bucketWithAcl", + bucket=f"private-bucket-{app_id}", + acl="private", + acl_body=\"\"\" + + qcs::cam::uin/100023201586:uin/100023201586 + qcs::cam::uin/100023201586:uin/100023201586 + + + + + qcs::cam::uin/100015006748:uin/100015006748 + qcs::cam::uin/100015006748:uin/100015006748 + + WRITE + + + + qcs::cam::uin/100023201586:uin/100023201586 + qcs::cam::uin/100023201586:uin/100023201586 + + FULL_CONTROL + + + + \"\"\") + ``` + + ### Static Website @@ -1165,6 +1469,7 @@ def __init__(__self__, website=tencentcloud.cos.BucketWebsiteArgs( index_document="index.html", error_document="error.html", + redirect_all_requests_to="https", )) pulumi.export("endpointTest", bucket_with_static_website.website.endpoint) ``` @@ -1196,6 +1501,33 @@ def __init__(__self__, ``` + ### Using CORS with CDC + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + import tencentcloud_iac_pulumi as tencentcloud + + region = "ap-guangzhou" + cdc_id = "cluster-262n63e8" + info = tencentcloud.User.get_info() + app_id = info.app_id + bucket_with_cors = tencentcloud.cos.Bucket("bucketWithCors", + bucket=f"bucket-with-cors-{app_id}", + 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 +1554,30 @@ def __init__(__self__, ``` + ### Using object lifecycle with CDC + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + import tencentcloud_iac_pulumi as tencentcloud + + region = "ap-guangzhou" + cdc_id = "cluster-262n63e8" + info = tencentcloud.User.get_info() + app_id = info.app_id + bucket_with_lifecycle = tencentcloud.cos.Bucket("bucketWithLifecycle", + bucket=f"bucket-with-lifecycle-{app_id}", + acl="private", + lifecycle_rules=[tencentcloud.cos.BucketLifecycleRuleArgs( + filter_prefix="path1/", + expiration=tencentcloud.cos.BucketLifecycleRuleExpirationArgs( + days=90, + ), + )]) + ``` + + ### Using replication @@ -1280,12 +1636,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 +1671,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 +1706,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 +1714,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 +1738,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 +1768,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 +1776,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 +1823,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 +1859,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 +1887,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_policy.py b/sdk/python/tencentcloud_iac_pulumi/cos/bucket_policy.py index 258ce6958..a0ac30957 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cos/bucket_policy.py +++ b/sdk/python/tencentcloud_iac_pulumi/cos/bucket_policy.py @@ -19,7 +19,7 @@ def __init__(__self__, *, """ The set of arguments for constructing a BucketPolicy resource. :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] policy: The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023). + :param pulumi.Input[str] policy: The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023), The six-segment resource scenario example in the document is as follows: Example of specifying a bucket: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/*`; Example of specifying a folder: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/*`; Specified object example: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/exampleobject`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/exampleobject`. """ pulumi.set(__self__, "bucket", bucket) pulumi.set(__self__, "policy", policy) @@ -40,7 +40,7 @@ def bucket(self, value: pulumi.Input[str]): @pulumi.getter def policy(self) -> pulumi.Input[str]: """ - The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023). + The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023), The six-segment resource scenario example in the document is as follows: Example of specifying a bucket: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/*`; Example of specifying a folder: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/*`; Specified object example: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/exampleobject`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/exampleobject`. """ return pulumi.get(self, "policy") @@ -57,7 +57,7 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering BucketPolicy resources. :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] policy: The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023). + :param pulumi.Input[str] policy: The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023), The six-segment resource scenario example in the document is as follows: Example of specifying a bucket: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/*`; Example of specifying a folder: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/*`; Specified object example: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/exampleobject`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/exampleobject`. """ if bucket is not None: pulumi.set(__self__, "bucket", bucket) @@ -80,7 +80,7 @@ def bucket(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def policy(self) -> Optional[pulumi.Input[str]]: """ - The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023). + The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023), The six-segment resource scenario example in the document is as follows: Example of specifying a bucket: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/*`; Example of specifying a folder: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/*`; Specified object example: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/exampleobject`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/exampleobject`. """ return pulumi.get(self, "policy") @@ -145,7 +145,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] bucket: The name of a bucket to be created. Bucket format should be [custom name]-[appid], for example `mycos-1258798060`. - :param pulumi.Input[str] policy: The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023). + :param pulumi.Input[str] policy: The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023), The six-segment resource scenario example in the document is as follows: Example of specifying a bucket: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/*`; Example of specifying a folder: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/*`; Specified object example: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/exampleobject`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/exampleobject`. """ ... @overload @@ -250,7 +250,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] bucket: The name of a bucket to be created. Bucket format should be [custom name]-[appid], for example `mycos-1258798060`. - :param pulumi.Input[str] policy: The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023). + :param pulumi.Input[str] policy: The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023), The six-segment resource scenario example in the document is as follows: Example of specifying a bucket: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/*`; Example of specifying a folder: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/*`; Specified object example: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/exampleobject`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/exampleobject`. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -272,7 +272,7 @@ def bucket(self) -> pulumi.Output[str]: @pulumi.getter def policy(self) -> pulumi.Output[str]: """ - The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023). + The text of the policy. For more info please refer to [Tencent official doc](https://intl.cloud.tencent.com/document/product/436/18023), The six-segment resource scenario example in the document is as follows: Example of specifying a bucket: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/*`; Example of specifying a folder: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/*`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/*`; Specified object example: `qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/exampleobject`, In the cdc scenario: `qcs::cos:ap-guangzhou:uid/1250000000:cdc_cluster-123456_examplebucket-1250000000/folder/exampleobject`. """ return pulumi.get(self, "policy") 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_copy_operation.py b/sdk/python/tencentcloud_iac_pulumi/cos/object_copy_operation.py index 8240564d8..282e50fee 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cos/object_copy_operation.py +++ b/sdk/python/tencentcloud_iac_pulumi/cos/object_copy_operation.py @@ -21,7 +21,7 @@ def __init__(__self__, *, The set of arguments for constructing a ObjectCopyOperation resource. :param pulumi.Input[str] bucket: Bucket. :param pulumi.Input[str] key: Object key. - :param pulumi.Input[str] source_url: Object key. + :param pulumi.Input[str] source_url: Source url. In the CDC scenario, the CDC source url is used. """ pulumi.set(__self__, "bucket", bucket) pulumi.set(__self__, "key", key) @@ -55,7 +55,7 @@ def key(self, value: pulumi.Input[str]): @pulumi.getter(name="sourceUrl") def source_url(self) -> pulumi.Input[str]: """ - Object key. + Source url. In the CDC scenario, the CDC source url is used. """ return pulumi.get(self, "source_url") @@ -74,7 +74,7 @@ def __init__(__self__, *, Input properties used for looking up and filtering ObjectCopyOperation resources. :param pulumi.Input[str] bucket: Bucket. :param pulumi.Input[str] key: Object key. - :param pulumi.Input[str] source_url: Object key. + :param pulumi.Input[str] source_url: Source url. In the CDC scenario, the CDC source url is used. """ if bucket is not None: pulumi.set(__self__, "bucket", bucket) @@ -111,7 +111,7 @@ def key(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="sourceUrl") def source_url(self) -> Optional[pulumi.Input[str]]: """ - Object key. + Source url. In the CDC scenario, the CDC source url is used. """ return pulumi.get(self, "source_url") @@ -150,7 +150,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] bucket: Bucket. :param pulumi.Input[str] key: Object key. - :param pulumi.Input[str] source_url: Object key. + :param pulumi.Input[str] source_url: Source url. In the CDC scenario, the CDC source url is used. """ ... @overload @@ -233,7 +233,7 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] bucket: Bucket. :param pulumi.Input[str] key: Object key. - :param pulumi.Input[str] source_url: Object key. + :param pulumi.Input[str] source_url: Source url. In the CDC scenario, the CDC source url is used. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -264,7 +264,7 @@ def key(self) -> pulumi.Output[str]: @pulumi.getter(name="sourceUrl") def source_url(self) -> pulumi.Output[str]: """ - Object key. + Source url. In the CDC scenario, the CDC source url is used. """ return pulumi.get(self, "source_url") 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/cos/outputs.py b/sdk/python/tencentcloud_iac_pulumi/cos/outputs.py index dc3fc9ad0..388073a83 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cos/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/cos/outputs.py @@ -1909,6 +1909,8 @@ def __key_warning(key: str): suggest = "error_document" elif key == "indexDocument": suggest = "index_document" + elif key == "redirectAllRequestsTo": + suggest = "redirect_all_requests_to" if suggest: pulumi.log.warn(f"Key '{key}' not found in BucketWebsite. Access the value via the '{suggest}' property getter instead.") @@ -1924,11 +1926,13 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, endpoint: Optional[str] = None, error_document: Optional[str] = None, - index_document: Optional[str] = None): + index_document: Optional[str] = None, + redirect_all_requests_to: Optional[str] = None): """ :param str endpoint: `Endpoint` of the static website. :param str error_document: An absolute path to the document to return in case of a 4XX error. :param str index_document: COS returns this index document when requests are made to the root domain or any of the subfolders. + :param str redirect_all_requests_to: Redirects all request configurations. Valid values: http, https. Default is `http`. """ if endpoint is not None: pulumi.set(__self__, "endpoint", endpoint) @@ -1936,6 +1940,8 @@ def __init__(__self__, *, pulumi.set(__self__, "error_document", error_document) if index_document is not None: pulumi.set(__self__, "index_document", index_document) + if redirect_all_requests_to is not None: + pulumi.set(__self__, "redirect_all_requests_to", redirect_all_requests_to) @property @pulumi.getter @@ -1961,6 +1967,14 @@ def index_document(self) -> Optional[str]: """ return pulumi.get(self, "index_document") + @property + @pulumi.getter(name="redirectAllRequestsTo") + def redirect_all_requests_to(self) -> Optional[str]: + """ + Redirects all request configurations. Valid values: http, https. Default is `http`. + """ + return pulumi.get(self, "redirect_all_requests_to") + @pulumi.output_type class GetBatchsJobResult(dict): diff --git a/sdk/python/tencentcloud_iac_pulumi/cvm/__init__.py b/sdk/python/tencentcloud_iac_pulumi/cvm/__init__.py index 2f18baaec..6c4bc7547 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cvm/__init__.py +++ b/sdk/python/tencentcloud_iac_pulumi/cvm/__init__.py @@ -5,6 +5,7 @@ from .. import _utilities import typing # Export this package's modules as members: +from .action_timer import * from .chc_config import * from .export_images import * from .get_chc_denied_actions import * diff --git a/sdk/python/tencentcloud_iac_pulumi/cvm/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/cvm/_inputs.py index f8783c351..c7296625a 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cvm/_inputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/cvm/_inputs.py @@ -10,6 +10,7 @@ from .. import _utilities __all__ = [ + 'ActionTimerActionTimerArgs', 'ChcConfigBmcVirtualPrivateCloudArgs', 'ChcConfigDeployVirtualPrivateCloudArgs', 'ImportImageTagSpecificationArgs', @@ -58,6 +59,45 @@ 'GetInstancesModificationFilterArgs', ] +@pulumi.input_type +class ActionTimerActionTimerArgs: + def __init__(__self__, *, + action_time: Optional[pulumi.Input[str]] = None, + timer_action: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] action_time: Execution time, expressed according to ISO8601 standard and using UTC time. The format is YYYY-MM-DDThh:mm:ssZ. For example, 2018-05-29T11:26:40Z, the execution time must be 5 minutes longer than the current time. + :param pulumi.Input[str] timer_action: Timer action, currently only supports destroying one value: TerminateInstances. + """ + if action_time is not None: + pulumi.set(__self__, "action_time", action_time) + if timer_action is not None: + pulumi.set(__self__, "timer_action", timer_action) + + @property + @pulumi.getter(name="actionTime") + def action_time(self) -> Optional[pulumi.Input[str]]: + """ + Execution time, expressed according to ISO8601 standard and using UTC time. The format is YYYY-MM-DDThh:mm:ssZ. For example, 2018-05-29T11:26:40Z, the execution time must be 5 minutes longer than the current time. + """ + return pulumi.get(self, "action_time") + + @action_time.setter + def action_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "action_time", value) + + @property + @pulumi.getter(name="timerAction") + def timer_action(self) -> Optional[pulumi.Input[str]]: + """ + Timer action, currently only supports destroying one value: TerminateInstances. + """ + return pulumi.get(self, "timer_action") + + @timer_action.setter + def timer_action(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "timer_action", value) + + @pulumi.input_type class ChcConfigBmcVirtualPrivateCloudArgs: def __init__(__self__, *, @@ -988,12 +1028,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 +1070,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/action_timer.py b/sdk/python/tencentcloud_iac_pulumi/cvm/action_timer.py new file mode 100644 index 000000000..5e2afbf66 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/cvm/action_timer.py @@ -0,0 +1,300 @@ +# 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__ = ['ActionTimerArgs', 'ActionTimer'] + +@pulumi.input_type +class ActionTimerArgs: + def __init__(__self__, *, + action_timer: pulumi.Input['ActionTimerActionTimerArgs'], + instance_id: pulumi.Input[str]): + """ + The set of arguments for constructing a ActionTimer resource. + :param pulumi.Input['ActionTimerActionTimerArgs'] action_timer: Scheduled tasks. This parameter can be used to specify scheduled tasks for instances, and currently only supports scheduled destruction. + :param pulumi.Input[str] instance_id: Instance ID. + """ + pulumi.set(__self__, "action_timer", action_timer) + pulumi.set(__self__, "instance_id", instance_id) + + @property + @pulumi.getter(name="actionTimer") + def action_timer(self) -> pulumi.Input['ActionTimerActionTimerArgs']: + """ + Scheduled tasks. This parameter can be used to specify scheduled tasks for instances, and currently only supports scheduled destruction. + """ + return pulumi.get(self, "action_timer") + + @action_timer.setter + def action_timer(self, value: pulumi.Input['ActionTimerActionTimerArgs']): + pulumi.set(self, "action_timer", 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) + + +@pulumi.input_type +class _ActionTimerState: + def __init__(__self__, *, + action_timer: Optional[pulumi.Input['ActionTimerActionTimerArgs']] = None, + instance_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering ActionTimer resources. + :param pulumi.Input['ActionTimerActionTimerArgs'] action_timer: Scheduled tasks. This parameter can be used to specify scheduled tasks for instances, and currently only supports scheduled destruction. + :param pulumi.Input[str] instance_id: Instance ID. + """ + if action_timer is not None: + pulumi.set(__self__, "action_timer", action_timer) + if instance_id is not None: + pulumi.set(__self__, "instance_id", instance_id) + + @property + @pulumi.getter(name="actionTimer") + def action_timer(self) -> Optional[pulumi.Input['ActionTimerActionTimerArgs']]: + """ + Scheduled tasks. This parameter can be used to specify scheduled tasks for instances, and currently only supports scheduled destruction. + """ + return pulumi.get(self, "action_timer") + + @action_timer.setter + def action_timer(self, value: Optional[pulumi.Input['ActionTimerActionTimerArgs']]): + pulumi.set(self, "action_timer", value) + + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> Optional[pulumi.Input[str]]: + """ + Instance ID. + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "instance_id", value) + + +class ActionTimer(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + action_timer: Optional[pulumi.Input[pulumi.InputType['ActionTimerActionTimerArgs']]] = None, + instance_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to create a CVM instance action timer + + ## Example Usage + + + ```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-6" + images = tencentcloud.Images.get_instance(image_types=["PUBLIC_IMAGE"], + image_name_regex="TencentOS Server") + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create vpc subnet + subnet = tencentcloud.subnet.Instance("subnet", + vpc_id=vpc.id, + availability_zone=availability_zone, + cidr_block="10.0.20.0/28", + is_multicast=False) + # create cvm + example_instance = tencentcloud.instance.Instance("exampleInstance", + instance_name="tf_example", + availability_zone=availability_zone, + image_id=images.images[0].image_id, + instance_type="SA3.MEDIUM4", + system_disk_type="CLOUD_HSSD", + system_disk_size=100, + hostname="example", + project_id=0, + vpc_id=vpc.id, + subnet_id=subnet.id, + data_disks=[tencentcloud.instance.InstanceDataDiskArgs( + data_disk_type="CLOUD_HSSD", + data_disk_size=50, + encrypt=False, + )], + tags={ + "createBy": "terraform", + }) + # create cvm action timer + example_action_timer = tencentcloud.cvm.ActionTimer("exampleActionTimer", + instance_id=example_instance.id, + action_timer=tencentcloud.cvm.ActionTimerActionTimerArgs( + timer_action="TerminateInstances", + action_time="2024-11-11T11:26:40Z", + )) + ``` + + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[pulumi.InputType['ActionTimerActionTimerArgs']] action_timer: Scheduled tasks. This parameter can be used to specify scheduled tasks for instances, and currently only supports scheduled destruction. + :param pulumi.Input[str] instance_id: Instance ID. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ActionTimerArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a CVM instance action timer + + ## Example Usage + + + ```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-6" + images = tencentcloud.Images.get_instance(image_types=["PUBLIC_IMAGE"], + image_name_regex="TencentOS Server") + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create vpc subnet + subnet = tencentcloud.subnet.Instance("subnet", + vpc_id=vpc.id, + availability_zone=availability_zone, + cidr_block="10.0.20.0/28", + is_multicast=False) + # create cvm + example_instance = tencentcloud.instance.Instance("exampleInstance", + instance_name="tf_example", + availability_zone=availability_zone, + image_id=images.images[0].image_id, + instance_type="SA3.MEDIUM4", + system_disk_type="CLOUD_HSSD", + system_disk_size=100, + hostname="example", + project_id=0, + vpc_id=vpc.id, + subnet_id=subnet.id, + data_disks=[tencentcloud.instance.InstanceDataDiskArgs( + data_disk_type="CLOUD_HSSD", + data_disk_size=50, + encrypt=False, + )], + tags={ + "createBy": "terraform", + }) + # create cvm action timer + example_action_timer = tencentcloud.cvm.ActionTimer("exampleActionTimer", + instance_id=example_instance.id, + action_timer=tencentcloud.cvm.ActionTimerActionTimerArgs( + timer_action="TerminateInstances", + action_time="2024-11-11T11:26:40Z", + )) + ``` + + + :param str resource_name: The name of the resource. + :param ActionTimerArgs 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(ActionTimerArgs, 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, + action_timer: Optional[pulumi.Input[pulumi.InputType['ActionTimerActionTimerArgs']]] = None, + instance_id: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = ActionTimerArgs.__new__(ActionTimerArgs) + + if action_timer is None and not opts.urn: + raise TypeError("Missing required property 'action_timer'") + __props__.__dict__["action_timer"] = action_timer + if instance_id is None and not opts.urn: + raise TypeError("Missing required property 'instance_id'") + __props__.__dict__["instance_id"] = instance_id + super(ActionTimer, __self__).__init__( + 'tencentcloud:Cvm/actionTimer:ActionTimer', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + action_timer: Optional[pulumi.Input[pulumi.InputType['ActionTimerActionTimerArgs']]] = None, + instance_id: Optional[pulumi.Input[str]] = None) -> 'ActionTimer': + """ + Get an existing ActionTimer 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['ActionTimerActionTimerArgs']] action_timer: Scheduled tasks. This parameter can be used to specify scheduled tasks for instances, and currently only supports scheduled destruction. + :param pulumi.Input[str] instance_id: Instance ID. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ActionTimerState.__new__(_ActionTimerState) + + __props__.__dict__["action_timer"] = action_timer + __props__.__dict__["instance_id"] = instance_id + return ActionTimer(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="actionTimer") + def action_timer(self) -> pulumi.Output['outputs.ActionTimerActionTimer']: + """ + Scheduled tasks. This parameter can be used to specify scheduled tasks for instances, and currently only supports scheduled destruction. + """ + return pulumi.get(self, "action_timer") + + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Output[str]: + """ + Instance ID. + """ + return pulumi.get(self, "instance_id") + diff --git a/sdk/python/tencentcloud_iac_pulumi/cvm/outputs.py b/sdk/python/tencentcloud_iac_pulumi/cvm/outputs.py index 24c47ba45..c66018988 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cvm/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/cvm/outputs.py @@ -11,6 +11,7 @@ from . import outputs __all__ = [ + 'ActionTimerActionTimer', 'ChcConfigBmcVirtualPrivateCloud', 'ChcConfigDeployVirtualPrivateCloud', 'ImportImageTagSpecification', @@ -69,6 +70,56 @@ 'GetInstancesModificationInstanceTypeConfigStatusListInstanceTypeConfigResult', ] +@pulumi.output_type +class ActionTimerActionTimer(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "actionTime": + suggest = "action_time" + elif key == "timerAction": + suggest = "timer_action" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ActionTimerActionTimer. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ActionTimerActionTimer.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ActionTimerActionTimer.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + action_time: Optional[str] = None, + timer_action: Optional[str] = None): + """ + :param str action_time: Execution time, expressed according to ISO8601 standard and using UTC time. The format is YYYY-MM-DDThh:mm:ssZ. For example, 2018-05-29T11:26:40Z, the execution time must be 5 minutes longer than the current time. + :param str timer_action: Timer action, currently only supports destroying one value: TerminateInstances. + """ + if action_time is not None: + pulumi.set(__self__, "action_time", action_time) + if timer_action is not None: + pulumi.set(__self__, "timer_action", timer_action) + + @property + @pulumi.getter(name="actionTime") + def action_time(self) -> Optional[str]: + """ + Execution time, expressed according to ISO8601 standard and using UTC time. The format is YYYY-MM-DDThh:mm:ssZ. For example, 2018-05-29T11:26:40Z, the execution time must be 5 minutes longer than the current time. + """ + return pulumi.get(self, "action_time") + + @property + @pulumi.getter(name="timerAction") + def timer_action(self) -> Optional[str]: + """ + Timer action, currently only supports destroying one value: TerminateInstances. + """ + return pulumi.get(self, "timer_action") + + @pulumi.output_type class ChcConfigBmcVirtualPrivateCloud(dict): @staticmethod @@ -1091,7 +1142,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 +1173,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 +3262,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 +3292,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/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/emr/_inputs.py index 0feb696c7..89216acdf 100644 --- a/sdk/python/tencentcloud_iac_pulumi/emr/_inputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/emr/_inputs.py @@ -11,11 +11,17 @@ __all__ = [ 'ClusterPlacementInfoArgs', + 'ClusterPreExecutedFileSettingArgs', 'ClusterResourceSpecArgs', 'ClusterResourceSpecCommonResourceSpecArgs', + 'ClusterResourceSpecCommonResourceSpecMultiDiskArgs', 'ClusterResourceSpecCoreResourceSpecArgs', + 'ClusterResourceSpecCoreResourceSpecMultiDiskArgs', 'ClusterResourceSpecMasterResourceSpecArgs', + 'ClusterResourceSpecMasterResourceSpecMultiDiskArgs', 'ClusterResourceSpecTaskResourceSpecArgs', + 'ClusterResourceSpecTaskResourceSpecMultiDiskArgs', + 'ClusterTerminateNodeInfoArgs', 'GetAutoScaleRecordsFilterArgs', ] @@ -57,6 +63,141 @@ def project_id(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "project_id", value) +@pulumi.input_type +class ClusterPreExecutedFileSettingArgs: + def __init__(__self__, *, + args: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + cos_file_name: Optional[pulumi.Input[str]] = None, + cos_file_uri: Optional[pulumi.Input[str]] = None, + cos_secret_id: Optional[pulumi.Input[str]] = None, + cos_secret_key: Optional[pulumi.Input[str]] = None, + remark: Optional[pulumi.Input[str]] = None, + run_order: Optional[pulumi.Input[int]] = None, + when_run: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] args: Execution script parameters. + :param pulumi.Input[str] cos_file_name: Script file name. + :param pulumi.Input[str] cos_file_uri: The cos address of the script. + :param pulumi.Input[str] cos_secret_id: Cos secretId. + :param pulumi.Input[str] cos_secret_key: Cos secretKey. + :param pulumi.Input[str] remark: Remark. + :param pulumi.Input[int] run_order: Run order. + :param pulumi.Input[str] when_run: `resourceAfter` or `clusterAfter`. + """ + if args is not None: + pulumi.set(__self__, "args", args) + if cos_file_name is not None: + pulumi.set(__self__, "cos_file_name", cos_file_name) + if cos_file_uri is not None: + pulumi.set(__self__, "cos_file_uri", cos_file_uri) + if cos_secret_id is not None: + pulumi.set(__self__, "cos_secret_id", cos_secret_id) + if cos_secret_key is not None: + pulumi.set(__self__, "cos_secret_key", cos_secret_key) + if remark is not None: + pulumi.set(__self__, "remark", remark) + if run_order is not None: + pulumi.set(__self__, "run_order", run_order) + if when_run is not None: + pulumi.set(__self__, "when_run", when_run) + + @property + @pulumi.getter + def args(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Execution script parameters. + """ + return pulumi.get(self, "args") + + @args.setter + def args(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "args", value) + + @property + @pulumi.getter(name="cosFileName") + def cos_file_name(self) -> Optional[pulumi.Input[str]]: + """ + Script file name. + """ + return pulumi.get(self, "cos_file_name") + + @cos_file_name.setter + def cos_file_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cos_file_name", value) + + @property + @pulumi.getter(name="cosFileUri") + def cos_file_uri(self) -> Optional[pulumi.Input[str]]: + """ + The cos address of the script. + """ + return pulumi.get(self, "cos_file_uri") + + @cos_file_uri.setter + def cos_file_uri(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cos_file_uri", value) + + @property + @pulumi.getter(name="cosSecretId") + def cos_secret_id(self) -> Optional[pulumi.Input[str]]: + """ + Cos secretId. + """ + return pulumi.get(self, "cos_secret_id") + + @cos_secret_id.setter + def cos_secret_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cos_secret_id", value) + + @property + @pulumi.getter(name="cosSecretKey") + def cos_secret_key(self) -> Optional[pulumi.Input[str]]: + """ + Cos secretKey. + """ + return pulumi.get(self, "cos_secret_key") + + @cos_secret_key.setter + def cos_secret_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cos_secret_key", 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(name="runOrder") + def run_order(self) -> Optional[pulumi.Input[int]]: + """ + Run order. + """ + return pulumi.get(self, "run_order") + + @run_order.setter + def run_order(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "run_order", value) + + @property + @pulumi.getter(name="whenRun") + def when_run(self) -> Optional[pulumi.Input[str]]: + """ + `resourceAfter` or `clusterAfter`. + """ + return pulumi.get(self, "when_run") + + @when_run.setter + def when_run(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "when_run", value) + + @pulumi.input_type class ClusterResourceSpecArgs: def __init__(__self__, *, @@ -70,9 +211,13 @@ def __init__(__self__, *, task_resource_spec: Optional[pulumi.Input['ClusterResourceSpecTaskResourceSpecArgs']] = None): """ :param pulumi.Input[int] common_count: The number of common node. + :param pulumi.Input['ClusterResourceSpecCommonResourceSpecArgs'] common_resource_spec: Resource details. :param pulumi.Input[int] core_count: The number of core node. + :param pulumi.Input['ClusterResourceSpecCoreResourceSpecArgs'] core_resource_spec: Resource details. :param pulumi.Input[int] master_count: The number of master node. + :param pulumi.Input['ClusterResourceSpecMasterResourceSpecArgs'] master_resource_spec: Resource details. :param pulumi.Input[int] task_count: The number of core node. + :param pulumi.Input['ClusterResourceSpecTaskResourceSpecArgs'] task_resource_spec: Resource details. """ if common_count is not None: pulumi.set(__self__, "common_count", common_count) @@ -106,6 +251,9 @@ def common_count(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter(name="commonResourceSpec") def common_resource_spec(self) -> Optional[pulumi.Input['ClusterResourceSpecCommonResourceSpecArgs']]: + """ + Resource details. + """ return pulumi.get(self, "common_resource_spec") @common_resource_spec.setter @@ -127,6 +275,9 @@ def core_count(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter(name="coreResourceSpec") def core_resource_spec(self) -> Optional[pulumi.Input['ClusterResourceSpecCoreResourceSpecArgs']]: + """ + Resource details. + """ return pulumi.get(self, "core_resource_spec") @core_resource_spec.setter @@ -148,6 +299,9 @@ def master_count(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter(name="masterResourceSpec") def master_resource_spec(self) -> Optional[pulumi.Input['ClusterResourceSpecMasterResourceSpecArgs']]: + """ + Resource details. + """ return pulumi.get(self, "master_resource_spec") @master_resource_spec.setter @@ -169,6 +323,9 @@ def task_count(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter(name="taskResourceSpec") def task_resource_spec(self) -> Optional[pulumi.Input['ClusterResourceSpecTaskResourceSpecArgs']]: + """ + Resource details. + """ return pulumi.get(self, "task_resource_spec") @task_resource_spec.setter @@ -183,9 +340,28 @@ def __init__(__self__, *, disk_size: Optional[pulumi.Input[int]] = None, disk_type: Optional[pulumi.Input[str]] = None, mem_size: Optional[pulumi.Input[int]] = None, + multi_disks: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterResourceSpecCommonResourceSpecMultiDiskArgs']]]] = None, root_size: Optional[pulumi.Input[int]] = None, spec: Optional[pulumi.Input[str]] = None, storage_type: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[int] cpu: Number of CPU cores. + :param pulumi.Input[int] disk_size: Data disk capacity. + :param pulumi.Input[str] disk_type: disk types. Value range: + - CLOUD_SSD: Represents cloud SSD; + - CLOUD_PREMIUM: Represents efficient cloud disk; + - CLOUD_BASIC: Represents Cloud Block Storage. + :param pulumi.Input[int] mem_size: Memory size in M. + :param pulumi.Input[Sequence[pulumi.Input['ClusterResourceSpecCommonResourceSpecMultiDiskArgs']]] multi_disks: Cloud disk list. When the data disk is a cloud disk, use disk_type and disk_size parameters directly, and use multi_disks for excess parts. + :param pulumi.Input[int] root_size: Root disk capacity. + :param pulumi.Input[str] spec: Node specification description, such as CVM.SA2. + :param pulumi.Input[int] storage_type: Storage type. Value range: + - 4: Represents cloud SSD; + - 5: Represents efficient cloud disk; + - 6: Represents enhanced SSD Cloud Block Storage; + - 11: Represents throughput Cloud Block Storage; + - 12: Represents extremely fast SSD Cloud Block Storage. + """ if cpu is not None: pulumi.set(__self__, "cpu", cpu) if disk_size is not None: @@ -194,6 +370,8 @@ def __init__(__self__, *, pulumi.set(__self__, "disk_type", disk_type) if mem_size is not None: pulumi.set(__self__, "mem_size", mem_size) + if multi_disks is not None: + pulumi.set(__self__, "multi_disks", multi_disks) if root_size is not None: pulumi.set(__self__, "root_size", root_size) if spec is not None: @@ -204,6 +382,9 @@ def __init__(__self__, *, @property @pulumi.getter def cpu(self) -> Optional[pulumi.Input[int]]: + """ + Number of CPU cores. + """ return pulumi.get(self, "cpu") @cpu.setter @@ -213,6 +394,9 @@ def cpu(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter(name="diskSize") def disk_size(self) -> Optional[pulumi.Input[int]]: + """ + Data disk capacity. + """ return pulumi.get(self, "disk_size") @disk_size.setter @@ -222,6 +406,12 @@ def disk_size(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter(name="diskType") def disk_type(self) -> Optional[pulumi.Input[str]]: + """ + disk types. Value range: + - CLOUD_SSD: Represents cloud SSD; + - CLOUD_PREMIUM: Represents efficient cloud disk; + - CLOUD_BASIC: Represents Cloud Block Storage. + """ return pulumi.get(self, "disk_type") @disk_type.setter @@ -231,15 +421,33 @@ def disk_type(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="memSize") def mem_size(self) -> Optional[pulumi.Input[int]]: + """ + Memory size in M. + """ return pulumi.get(self, "mem_size") @mem_size.setter def mem_size(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "mem_size", value) + @property + @pulumi.getter(name="multiDisks") + def multi_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterResourceSpecCommonResourceSpecMultiDiskArgs']]]]: + """ + Cloud disk list. When the data disk is a cloud disk, use disk_type and disk_size parameters directly, and use multi_disks for excess parts. + """ + return pulumi.get(self, "multi_disks") + + @multi_disks.setter + def multi_disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterResourceSpecCommonResourceSpecMultiDiskArgs']]]]): + pulumi.set(self, "multi_disks", value) + @property @pulumi.getter(name="rootSize") def root_size(self) -> Optional[pulumi.Input[int]]: + """ + Root disk capacity. + """ return pulumi.get(self, "root_size") @root_size.setter @@ -249,6 +457,9 @@ def root_size(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter def spec(self) -> Optional[pulumi.Input[str]]: + """ + Node specification description, such as CVM.SA2. + """ return pulumi.get(self, "spec") @spec.setter @@ -258,6 +469,14 @@ def spec(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="storageType") def storage_type(self) -> Optional[pulumi.Input[int]]: + """ + Storage type. Value range: + - 4: Represents cloud SSD; + - 5: Represents efficient cloud disk; + - 6: Represents enhanced SSD Cloud Block Storage; + - 11: Represents throughput Cloud Block Storage; + - 12: Represents extremely fast SSD Cloud Block Storage. + """ return pulumi.get(self, "storage_type") @storage_type.setter @@ -265,6 +484,67 @@ def storage_type(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "storage_type", value) +@pulumi.input_type +class ClusterResourceSpecCommonResourceSpecMultiDiskArgs: + def __init__(__self__, *, + count: Optional[pulumi.Input[int]] = None, + disk_type: Optional[pulumi.Input[str]] = None, + volume: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[int] count: Number of cloud disks of this type. + :param pulumi.Input[str] disk_type: Cloud disk type + - CLOUD_SSD: Represents cloud SSD; + - CLOUD_PREMIUM: Represents efficient cloud disk; + - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + :param pulumi.Input[int] volume: Cloud disk size. + """ + if count is not None: + pulumi.set(__self__, "count", count) + if disk_type is not None: + pulumi.set(__self__, "disk_type", disk_type) + if volume is not None: + pulumi.set(__self__, "volume", volume) + + @property + @pulumi.getter + def count(self) -> Optional[pulumi.Input[int]]: + """ + Number of cloud disks of this type. + """ + return pulumi.get(self, "count") + + @count.setter + def count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "count", value) + + @property + @pulumi.getter(name="diskType") + def disk_type(self) -> Optional[pulumi.Input[str]]: + """ + Cloud disk type + - CLOUD_SSD: Represents cloud SSD; + - CLOUD_PREMIUM: Represents efficient cloud disk; + - CLOUD_HSSD: Represents enhanced SSD Cloud Block 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 + def volume(self) -> Optional[pulumi.Input[int]]: + """ + Cloud disk size. + """ + return pulumi.get(self, "volume") + + @volume.setter + def volume(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "volume", value) + + @pulumi.input_type class ClusterResourceSpecCoreResourceSpecArgs: def __init__(__self__, *, @@ -272,9 +552,28 @@ def __init__(__self__, *, disk_size: Optional[pulumi.Input[int]] = None, disk_type: Optional[pulumi.Input[str]] = None, mem_size: Optional[pulumi.Input[int]] = None, + multi_disks: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterResourceSpecCoreResourceSpecMultiDiskArgs']]]] = None, root_size: Optional[pulumi.Input[int]] = None, spec: Optional[pulumi.Input[str]] = None, storage_type: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[int] cpu: Number of CPU cores. + :param pulumi.Input[int] disk_size: Data disk capacity. + :param pulumi.Input[str] disk_type: disk types. Value range: + - CLOUD_SSD: Represents cloud SSD; + - CLOUD_PREMIUM: Represents efficient cloud disk; + - CLOUD_BASIC: Represents Cloud Block Storage. + :param pulumi.Input[int] mem_size: Memory size in M. + :param pulumi.Input[Sequence[pulumi.Input['ClusterResourceSpecCoreResourceSpecMultiDiskArgs']]] multi_disks: Cloud disk list. When the data disk is a cloud disk, use disk_type and disk_size parameters directly, and use multi_disks for excess parts. + :param pulumi.Input[int] root_size: Root disk capacity. + :param pulumi.Input[str] spec: Node specification description, such as CVM.SA2. + :param pulumi.Input[int] storage_type: Storage type. Value range: + - 4: Represents cloud SSD; + - 5: Represents efficient cloud disk; + - 6: Represents enhanced SSD Cloud Block Storage; + - 11: Represents throughput Cloud Block Storage; + - 12: Represents extremely fast SSD Cloud Block Storage. + """ if cpu is not None: pulumi.set(__self__, "cpu", cpu) if disk_size is not None: @@ -283,6 +582,8 @@ def __init__(__self__, *, pulumi.set(__self__, "disk_type", disk_type) if mem_size is not None: pulumi.set(__self__, "mem_size", mem_size) + if multi_disks is not None: + pulumi.set(__self__, "multi_disks", multi_disks) if root_size is not None: pulumi.set(__self__, "root_size", root_size) if spec is not None: @@ -293,6 +594,9 @@ def __init__(__self__, *, @property @pulumi.getter def cpu(self) -> Optional[pulumi.Input[int]]: + """ + Number of CPU cores. + """ return pulumi.get(self, "cpu") @cpu.setter @@ -302,6 +606,9 @@ def cpu(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter(name="diskSize") def disk_size(self) -> Optional[pulumi.Input[int]]: + """ + Data disk capacity. + """ return pulumi.get(self, "disk_size") @disk_size.setter @@ -311,6 +618,12 @@ def disk_size(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter(name="diskType") def disk_type(self) -> Optional[pulumi.Input[str]]: + """ + disk types. Value range: + - CLOUD_SSD: Represents cloud SSD; + - CLOUD_PREMIUM: Represents efficient cloud disk; + - CLOUD_BASIC: Represents Cloud Block Storage. + """ return pulumi.get(self, "disk_type") @disk_type.setter @@ -320,15 +633,33 @@ def disk_type(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="memSize") def mem_size(self) -> Optional[pulumi.Input[int]]: + """ + Memory size in M. + """ return pulumi.get(self, "mem_size") @mem_size.setter def mem_size(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "mem_size", value) + @property + @pulumi.getter(name="multiDisks") + def multi_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterResourceSpecCoreResourceSpecMultiDiskArgs']]]]: + """ + Cloud disk list. When the data disk is a cloud disk, use disk_type and disk_size parameters directly, and use multi_disks for excess parts. + """ + return pulumi.get(self, "multi_disks") + + @multi_disks.setter + def multi_disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterResourceSpecCoreResourceSpecMultiDiskArgs']]]]): + pulumi.set(self, "multi_disks", value) + @property @pulumi.getter(name="rootSize") def root_size(self) -> Optional[pulumi.Input[int]]: + """ + Root disk capacity. + """ return pulumi.get(self, "root_size") @root_size.setter @@ -338,6 +669,9 @@ def root_size(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter def spec(self) -> Optional[pulumi.Input[str]]: + """ + Node specification description, such as CVM.SA2. + """ return pulumi.get(self, "spec") @spec.setter @@ -347,6 +681,14 @@ def spec(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="storageType") def storage_type(self) -> Optional[pulumi.Input[int]]: + """ + Storage type. Value range: + - 4: Represents cloud SSD; + - 5: Represents efficient cloud disk; + - 6: Represents enhanced SSD Cloud Block Storage; + - 11: Represents throughput Cloud Block Storage; + - 12: Represents extremely fast SSD Cloud Block Storage. + """ return pulumi.get(self, "storage_type") @storage_type.setter @@ -354,6 +696,67 @@ def storage_type(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "storage_type", value) +@pulumi.input_type +class ClusterResourceSpecCoreResourceSpecMultiDiskArgs: + def __init__(__self__, *, + count: Optional[pulumi.Input[int]] = None, + disk_type: Optional[pulumi.Input[str]] = None, + volume: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[int] count: Number of cloud disks of this type. + :param pulumi.Input[str] disk_type: Cloud disk type + - CLOUD_SSD: Represents cloud SSD; + - CLOUD_PREMIUM: Represents efficient cloud disk; + - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + :param pulumi.Input[int] volume: Cloud disk size. + """ + if count is not None: + pulumi.set(__self__, "count", count) + if disk_type is not None: + pulumi.set(__self__, "disk_type", disk_type) + if volume is not None: + pulumi.set(__self__, "volume", volume) + + @property + @pulumi.getter + def count(self) -> Optional[pulumi.Input[int]]: + """ + Number of cloud disks of this type. + """ + return pulumi.get(self, "count") + + @count.setter + def count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "count", value) + + @property + @pulumi.getter(name="diskType") + def disk_type(self) -> Optional[pulumi.Input[str]]: + """ + Cloud disk type + - CLOUD_SSD: Represents cloud SSD; + - CLOUD_PREMIUM: Represents efficient cloud disk; + - CLOUD_HSSD: Represents enhanced SSD Cloud Block 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 + def volume(self) -> Optional[pulumi.Input[int]]: + """ + Cloud disk size. + """ + return pulumi.get(self, "volume") + + @volume.setter + def volume(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "volume", value) + + @pulumi.input_type class ClusterResourceSpecMasterResourceSpecArgs: def __init__(__self__, *, @@ -361,9 +764,28 @@ def __init__(__self__, *, disk_size: Optional[pulumi.Input[int]] = None, disk_type: Optional[pulumi.Input[str]] = None, mem_size: Optional[pulumi.Input[int]] = None, + multi_disks: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterResourceSpecMasterResourceSpecMultiDiskArgs']]]] = None, root_size: Optional[pulumi.Input[int]] = None, spec: Optional[pulumi.Input[str]] = None, storage_type: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[int] cpu: Number of CPU cores. + :param pulumi.Input[int] disk_size: Data disk capacity. + :param pulumi.Input[str] disk_type: disk types. Value range: + - CLOUD_SSD: Represents cloud SSD; + - CLOUD_PREMIUM: Represents efficient cloud disk; + - CLOUD_BASIC: Represents Cloud Block Storage. + :param pulumi.Input[int] mem_size: Memory size in M. + :param pulumi.Input[Sequence[pulumi.Input['ClusterResourceSpecMasterResourceSpecMultiDiskArgs']]] multi_disks: Cloud disk list. When the data disk is a cloud disk, use disk_type and disk_size parameters directly, and use multi_disks for excess parts. + :param pulumi.Input[int] root_size: Root disk capacity. + :param pulumi.Input[str] spec: Node specification description, such as CVM.SA2. + :param pulumi.Input[int] storage_type: Storage type. Value range: + - 4: Represents cloud SSD; + - 5: Represents efficient cloud disk; + - 6: Represents enhanced SSD Cloud Block Storage; + - 11: Represents throughput Cloud Block Storage; + - 12: Represents extremely fast SSD Cloud Block Storage. + """ if cpu is not None: pulumi.set(__self__, "cpu", cpu) if disk_size is not None: @@ -372,6 +794,8 @@ def __init__(__self__, *, pulumi.set(__self__, "disk_type", disk_type) if mem_size is not None: pulumi.set(__self__, "mem_size", mem_size) + if multi_disks is not None: + pulumi.set(__self__, "multi_disks", multi_disks) if root_size is not None: pulumi.set(__self__, "root_size", root_size) if spec is not None: @@ -382,6 +806,9 @@ def __init__(__self__, *, @property @pulumi.getter def cpu(self) -> Optional[pulumi.Input[int]]: + """ + Number of CPU cores. + """ return pulumi.get(self, "cpu") @cpu.setter @@ -391,6 +818,9 @@ def cpu(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter(name="diskSize") def disk_size(self) -> Optional[pulumi.Input[int]]: + """ + Data disk capacity. + """ return pulumi.get(self, "disk_size") @disk_size.setter @@ -400,6 +830,12 @@ def disk_size(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter(name="diskType") def disk_type(self) -> Optional[pulumi.Input[str]]: + """ + disk types. Value range: + - CLOUD_SSD: Represents cloud SSD; + - CLOUD_PREMIUM: Represents efficient cloud disk; + - CLOUD_BASIC: Represents Cloud Block Storage. + """ return pulumi.get(self, "disk_type") @disk_type.setter @@ -409,15 +845,33 @@ def disk_type(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="memSize") def mem_size(self) -> Optional[pulumi.Input[int]]: + """ + Memory size in M. + """ return pulumi.get(self, "mem_size") @mem_size.setter def mem_size(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "mem_size", value) + @property + @pulumi.getter(name="multiDisks") + def multi_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterResourceSpecMasterResourceSpecMultiDiskArgs']]]]: + """ + Cloud disk list. When the data disk is a cloud disk, use disk_type and disk_size parameters directly, and use multi_disks for excess parts. + """ + return pulumi.get(self, "multi_disks") + + @multi_disks.setter + def multi_disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterResourceSpecMasterResourceSpecMultiDiskArgs']]]]): + pulumi.set(self, "multi_disks", value) + @property @pulumi.getter(name="rootSize") def root_size(self) -> Optional[pulumi.Input[int]]: + """ + Root disk capacity. + """ return pulumi.get(self, "root_size") @root_size.setter @@ -427,6 +881,9 @@ def root_size(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter def spec(self) -> Optional[pulumi.Input[str]]: + """ + Node specification description, such as CVM.SA2. + """ return pulumi.get(self, "spec") @spec.setter @@ -436,6 +893,14 @@ def spec(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="storageType") def storage_type(self) -> Optional[pulumi.Input[int]]: + """ + Storage type. Value range: + - 4: Represents cloud SSD; + - 5: Represents efficient cloud disk; + - 6: Represents enhanced SSD Cloud Block Storage; + - 11: Represents throughput Cloud Block Storage; + - 12: Represents extremely fast SSD Cloud Block Storage. + """ return pulumi.get(self, "storage_type") @storage_type.setter @@ -443,6 +908,67 @@ def storage_type(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "storage_type", value) +@pulumi.input_type +class ClusterResourceSpecMasterResourceSpecMultiDiskArgs: + def __init__(__self__, *, + count: Optional[pulumi.Input[int]] = None, + disk_type: Optional[pulumi.Input[str]] = None, + volume: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[int] count: Number of cloud disks of this type. + :param pulumi.Input[str] disk_type: Cloud disk type + - CLOUD_SSD: Represents cloud SSD; + - CLOUD_PREMIUM: Represents efficient cloud disk; + - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + :param pulumi.Input[int] volume: Cloud disk size. + """ + if count is not None: + pulumi.set(__self__, "count", count) + if disk_type is not None: + pulumi.set(__self__, "disk_type", disk_type) + if volume is not None: + pulumi.set(__self__, "volume", volume) + + @property + @pulumi.getter + def count(self) -> Optional[pulumi.Input[int]]: + """ + Number of cloud disks of this type. + """ + return pulumi.get(self, "count") + + @count.setter + def count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "count", value) + + @property + @pulumi.getter(name="diskType") + def disk_type(self) -> Optional[pulumi.Input[str]]: + """ + Cloud disk type + - CLOUD_SSD: Represents cloud SSD; + - CLOUD_PREMIUM: Represents efficient cloud disk; + - CLOUD_HSSD: Represents enhanced SSD Cloud Block 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 + def volume(self) -> Optional[pulumi.Input[int]]: + """ + Cloud disk size. + """ + return pulumi.get(self, "volume") + + @volume.setter + def volume(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "volume", value) + + @pulumi.input_type class ClusterResourceSpecTaskResourceSpecArgs: def __init__(__self__, *, @@ -450,9 +976,28 @@ def __init__(__self__, *, disk_size: Optional[pulumi.Input[int]] = None, disk_type: Optional[pulumi.Input[str]] = None, mem_size: Optional[pulumi.Input[int]] = None, + multi_disks: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterResourceSpecTaskResourceSpecMultiDiskArgs']]]] = None, root_size: Optional[pulumi.Input[int]] = None, spec: Optional[pulumi.Input[str]] = None, storage_type: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[int] cpu: Number of CPU cores. + :param pulumi.Input[int] disk_size: Data disk capacity. + :param pulumi.Input[str] disk_type: disk types. Value range: + - CLOUD_SSD: Represents cloud SSD; + - CLOUD_PREMIUM: Represents efficient cloud disk; + - CLOUD_BASIC: Represents Cloud Block Storage. + :param pulumi.Input[int] mem_size: Memory size in M. + :param pulumi.Input[Sequence[pulumi.Input['ClusterResourceSpecTaskResourceSpecMultiDiskArgs']]] multi_disks: Cloud disk list. When the data disk is a cloud disk, use disk_type and disk_size parameters directly, and use multi_disks for excess parts. + :param pulumi.Input[int] root_size: Root disk capacity. + :param pulumi.Input[str] spec: Node specification description, such as CVM.SA2. + :param pulumi.Input[int] storage_type: Storage type. Value range: + - 4: Represents cloud SSD; + - 5: Represents efficient cloud disk; + - 6: Represents enhanced SSD Cloud Block Storage; + - 11: Represents throughput Cloud Block Storage; + - 12: Represents extremely fast SSD Cloud Block Storage. + """ if cpu is not None: pulumi.set(__self__, "cpu", cpu) if disk_size is not None: @@ -461,6 +1006,8 @@ def __init__(__self__, *, pulumi.set(__self__, "disk_type", disk_type) if mem_size is not None: pulumi.set(__self__, "mem_size", mem_size) + if multi_disks is not None: + pulumi.set(__self__, "multi_disks", multi_disks) if root_size is not None: pulumi.set(__self__, "root_size", root_size) if spec is not None: @@ -471,6 +1018,9 @@ def __init__(__self__, *, @property @pulumi.getter def cpu(self) -> Optional[pulumi.Input[int]]: + """ + Number of CPU cores. + """ return pulumi.get(self, "cpu") @cpu.setter @@ -480,6 +1030,9 @@ def cpu(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter(name="diskSize") def disk_size(self) -> Optional[pulumi.Input[int]]: + """ + Data disk capacity. + """ return pulumi.get(self, "disk_size") @disk_size.setter @@ -489,6 +1042,12 @@ def disk_size(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter(name="diskType") def disk_type(self) -> Optional[pulumi.Input[str]]: + """ + disk types. Value range: + - CLOUD_SSD: Represents cloud SSD; + - CLOUD_PREMIUM: Represents efficient cloud disk; + - CLOUD_BASIC: Represents Cloud Block Storage. + """ return pulumi.get(self, "disk_type") @disk_type.setter @@ -498,15 +1057,33 @@ def disk_type(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="memSize") def mem_size(self) -> Optional[pulumi.Input[int]]: + """ + Memory size in M. + """ return pulumi.get(self, "mem_size") @mem_size.setter def mem_size(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "mem_size", value) + @property + @pulumi.getter(name="multiDisks") + def multi_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterResourceSpecTaskResourceSpecMultiDiskArgs']]]]: + """ + Cloud disk list. When the data disk is a cloud disk, use disk_type and disk_size parameters directly, and use multi_disks for excess parts. + """ + return pulumi.get(self, "multi_disks") + + @multi_disks.setter + def multi_disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterResourceSpecTaskResourceSpecMultiDiskArgs']]]]): + pulumi.set(self, "multi_disks", value) + @property @pulumi.getter(name="rootSize") def root_size(self) -> Optional[pulumi.Input[int]]: + """ + Root disk capacity. + """ return pulumi.get(self, "root_size") @root_size.setter @@ -516,6 +1093,9 @@ def root_size(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter def spec(self) -> Optional[pulumi.Input[str]]: + """ + Node specification description, such as CVM.SA2. + """ return pulumi.get(self, "spec") @spec.setter @@ -525,6 +1105,14 @@ def spec(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="storageType") def storage_type(self) -> Optional[pulumi.Input[int]]: + """ + Storage type. Value range: + - 4: Represents cloud SSD; + - 5: Represents efficient cloud disk; + - 6: Represents enhanced SSD Cloud Block Storage; + - 11: Represents throughput Cloud Block Storage; + - 12: Represents extremely fast SSD Cloud Block Storage. + """ return pulumi.get(self, "storage_type") @storage_type.setter @@ -532,6 +1120,106 @@ def storage_type(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "storage_type", value) +@pulumi.input_type +class ClusterResourceSpecTaskResourceSpecMultiDiskArgs: + def __init__(__self__, *, + count: Optional[pulumi.Input[int]] = None, + disk_type: Optional[pulumi.Input[str]] = None, + volume: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[int] count: Number of cloud disks of this type. + :param pulumi.Input[str] disk_type: Cloud disk type + - CLOUD_SSD: Represents cloud SSD; + - CLOUD_PREMIUM: Represents efficient cloud disk; + - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + :param pulumi.Input[int] volume: Cloud disk size. + """ + if count is not None: + pulumi.set(__self__, "count", count) + if disk_type is not None: + pulumi.set(__self__, "disk_type", disk_type) + if volume is not None: + pulumi.set(__self__, "volume", volume) + + @property + @pulumi.getter + def count(self) -> Optional[pulumi.Input[int]]: + """ + Number of cloud disks of this type. + """ + return pulumi.get(self, "count") + + @count.setter + def count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "count", value) + + @property + @pulumi.getter(name="diskType") + def disk_type(self) -> Optional[pulumi.Input[str]]: + """ + Cloud disk type + - CLOUD_SSD: Represents cloud SSD; + - CLOUD_PREMIUM: Represents efficient cloud disk; + - CLOUD_HSSD: Represents enhanced SSD Cloud Block 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 + def volume(self) -> Optional[pulumi.Input[int]]: + """ + Cloud disk size. + """ + return pulumi.get(self, "volume") + + @volume.setter + def volume(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "volume", value) + + +@pulumi.input_type +class ClusterTerminateNodeInfoArgs: + def __init__(__self__, *, + cvm_instance_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + node_flag: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] cvm_instance_ids: Destroy resource list. + :param pulumi.Input[str] node_flag: Value range of destruction node type: `MASTER`, `TASK`, `CORE`, `ROUTER`. + """ + if cvm_instance_ids is not None: + pulumi.set(__self__, "cvm_instance_ids", cvm_instance_ids) + if node_flag is not None: + pulumi.set(__self__, "node_flag", node_flag) + + @property + @pulumi.getter(name="cvmInstanceIds") + def cvm_instance_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Destroy resource list. + """ + return pulumi.get(self, "cvm_instance_ids") + + @cvm_instance_ids.setter + def cvm_instance_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "cvm_instance_ids", value) + + @property + @pulumi.getter(name="nodeFlag") + def node_flag(self) -> Optional[pulumi.Input[str]]: + """ + Value range of destruction node type: `MASTER`, `TASK`, `CORE`, `ROUTER`. + """ + return pulumi.get(self, "node_flag") + + @node_flag.setter + def node_flag(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "node_flag", value) + + @pulumi.input_type class GetAutoScaleRecordsFilterArgs: def __init__(__self__, *, diff --git a/sdk/python/tencentcloud_iac_pulumi/emr/cluster.py b/sdk/python/tencentcloud_iac_pulumi/emr/cluster.py index b7190c95a..78196938e 100644 --- a/sdk/python/tencentcloud_iac_pulumi/emr/cluster.py +++ b/sdk/python/tencentcloud_iac_pulumi/emr/cluster.py @@ -22,15 +22,18 @@ 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, need_master_wan: Optional[pulumi.Input[str]] = None, placement: Optional[pulumi.Input[Mapping[str, Any]]] = None, placement_info: Optional[pulumi.Input['ClusterPlacementInfoArgs']] = None, + pre_executed_file_settings: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterPreExecutedFileSettingArgs']]]] = None, resource_spec: Optional[pulumi.Input['ClusterResourceSpecArgs']] = None, sg_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, + terminate_node_infos: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterTerminateNodeInfoArgs']]]] = None, time_span: Optional[pulumi.Input[int]] = None, time_unit: Optional[pulumi.Input[str]] = None): """ @@ -39,20 +42,23 @@ def __init__(__self__, *, :param pulumi.Input[int] pay_mode: The pay mode of instance. 0 represent POSTPAID_BY_HOUR, 1 represent PREPAID. :param pulumi.Input[int] product_id: Product ID. Different products ID represents different EMR product versions. Value range: - 16: represents EMR-V2.3.0 - - 20: indicates EMR-V2.5.0 + - 20: represents EMR-V2.5.0 - 25: represents EMR-V3.1.0 - 27: represents KAFKA-V1.0.0 - - 30: indicates EMR-V2.6.0 + - 30: represents EMR-V2.6.0 - 33: represents EMR-V3.2.1 - - 34: stands for EMR-V3.3.0 - - 36: represents STARROCKS-V1.0.0 - - 37: indicates EMR-V3.4.0 + - 34: represents EMR-V3.3.0 + - 37: represents EMR-V3.4.0 - 38: represents EMR-V2.7.0 - - 39: stands for STARROCKS-V1.1.0 - - 41: represents DRUID-V1.1.0. + - 44: represents EMR-V3.5.0 + - 50: represents KAFKA-V2.0.0 + - 51: represents STARROCKS-V1.4.0 + - 53: represents EMR-V3.6.0 + - 54: represents STARROCKS-V2.0.0. :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. @@ -62,9 +68,11 @@ def __init__(__self__, *, By default, the cluster Master node internet is enabled. :param pulumi.Input[Mapping[str, Any]] placement: It will be deprecated in later versions. Use `placement_info` instead. The location of the instance. :param pulumi.Input['ClusterPlacementInfoArgs'] placement_info: The location of the instance. + :param pulumi.Input[Sequence[pulumi.Input['ClusterPreExecutedFileSettingArgs']]] pre_executed_file_settings: Pre executed file settings. It can only be set at the time of creation, and cannot be modified. :param pulumi.Input['ClusterResourceSpecArgs'] resource_spec: Resource specification of EMR instance. :param pulumi.Input[str] sg_id: The ID of the security group to which the instance belongs, in the form of sg-xxxxxxxx. :param pulumi.Input[Mapping[str, Any]] tags: Tag description list. + :param pulumi.Input[Sequence[pulumi.Input['ClusterTerminateNodeInfoArgs']]] terminate_node_infos: Terminate nodes. Note: it only works when the number of nodes decreases. :param pulumi.Input[int] time_span: The length of time the instance was purchased. Use with TimeUnit.When TimeUnit is s, the parameter can only be filled in at 3600, representing a metered instance. When TimeUnit is m, the number filled in by this parameter indicates the length of purchase of the monthly instance of the package year, such as 1 for one month of purchase. :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). @@ -75,6 +83,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.""") @@ -93,12 +103,16 @@ def __init__(__self__, *, pulumi.set(__self__, "placement", placement) if placement_info is not None: pulumi.set(__self__, "placement_info", placement_info) + if pre_executed_file_settings is not None: + pulumi.set(__self__, "pre_executed_file_settings", pre_executed_file_settings) if resource_spec is not None: pulumi.set(__self__, "resource_spec", resource_spec) if sg_id is not None: pulumi.set(__self__, "sg_id", sg_id) if tags is not None: pulumi.set(__self__, "tags", tags) + if terminate_node_infos is not None: + pulumi.set(__self__, "terminate_node_infos", terminate_node_infos) if time_span is not None: pulumi.set(__self__, "time_span", time_span) if time_unit is not None: @@ -134,17 +148,19 @@ def product_id(self) -> pulumi.Input[int]: """ Product ID. Different products ID represents different EMR product versions. Value range: - 16: represents EMR-V2.3.0 - - 20: indicates EMR-V2.5.0 + - 20: represents EMR-V2.5.0 - 25: represents EMR-V3.1.0 - 27: represents KAFKA-V1.0.0 - - 30: indicates EMR-V2.6.0 + - 30: represents EMR-V2.6.0 - 33: represents EMR-V3.2.1 - - 34: stands for EMR-V3.3.0 - - 36: represents STARROCKS-V1.0.0 - - 37: indicates EMR-V3.4.0 + - 34: represents EMR-V3.3.0 + - 37: represents EMR-V3.4.0 - 38: represents EMR-V2.7.0 - - 39: stands for STARROCKS-V1.1.0 - - 41: represents DRUID-V1.1.0. + - 44: represents EMR-V3.5.0 + - 50: represents KAFKA-V2.0.0 + - 51: represents STARROCKS-V1.4.0 + - 53: represents EMR-V3.6.0 + - 54: represents STARROCKS-V2.0.0. """ return pulumi.get(self, "product_id") @@ -188,6 +204,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]]: @@ -269,6 +297,18 @@ def placement_info(self) -> Optional[pulumi.Input['ClusterPlacementInfoArgs']]: def placement_info(self, value: Optional[pulumi.Input['ClusterPlacementInfoArgs']]): pulumi.set(self, "placement_info", value) + @property + @pulumi.getter(name="preExecutedFileSettings") + def pre_executed_file_settings(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterPreExecutedFileSettingArgs']]]]: + """ + Pre executed file settings. It can only be set at the time of creation, and cannot be modified. + """ + return pulumi.get(self, "pre_executed_file_settings") + + @pre_executed_file_settings.setter + def pre_executed_file_settings(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterPreExecutedFileSettingArgs']]]]): + pulumi.set(self, "pre_executed_file_settings", value) + @property @pulumi.getter(name="resourceSpec") def resource_spec(self) -> Optional[pulumi.Input['ClusterResourceSpecArgs']]: @@ -305,6 +345,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="terminateNodeInfos") + def terminate_node_infos(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterTerminateNodeInfoArgs']]]]: + """ + Terminate nodes. Note: it only works when the number of nodes decreases. + """ + return pulumi.get(self, "terminate_node_infos") + + @terminate_node_infos.setter + def terminate_node_infos(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterTerminateNodeInfoArgs']]]]): + pulumi.set(self, "terminate_node_infos", value) + @property @pulumi.getter(name="timeSpan") def time_span(self) -> Optional[pulumi.Input[int]]: @@ -334,6 +386,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, @@ -343,17 +396,20 @@ def __init__(__self__, *, pay_mode: Optional[pulumi.Input[int]] = None, placement: Optional[pulumi.Input[Mapping[str, Any]]] = None, placement_info: Optional[pulumi.Input['ClusterPlacementInfoArgs']] = None, + pre_executed_file_settings: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterPreExecutedFileSettingArgs']]]] = None, product_id: Optional[pulumi.Input[int]] = None, resource_spec: Optional[pulumi.Input['ClusterResourceSpecArgs']] = None, sg_id: Optional[pulumi.Input[str]] = None, softwares: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, support_ha: Optional[pulumi.Input[int]] = None, tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, + terminate_node_infos: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterTerminateNodeInfoArgs']]]] = None, time_span: Optional[pulumi.Input[int]] = None, time_unit: Optional[pulumi.Input[str]] = None, 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. @@ -366,29 +422,35 @@ def __init__(__self__, *, :param pulumi.Input[int] pay_mode: The pay mode of instance. 0 represent POSTPAID_BY_HOUR, 1 represent PREPAID. :param pulumi.Input[Mapping[str, Any]] placement: It will be deprecated in later versions. Use `placement_info` instead. The location of the instance. :param pulumi.Input['ClusterPlacementInfoArgs'] placement_info: The location of the instance. + :param pulumi.Input[Sequence[pulumi.Input['ClusterPreExecutedFileSettingArgs']]] pre_executed_file_settings: Pre executed file settings. It can only be set at the time of creation, and cannot be modified. :param pulumi.Input[int] product_id: Product ID. Different products ID represents different EMR product versions. Value range: - 16: represents EMR-V2.3.0 - - 20: indicates EMR-V2.5.0 + - 20: represents EMR-V2.5.0 - 25: represents EMR-V3.1.0 - 27: represents KAFKA-V1.0.0 - - 30: indicates EMR-V2.6.0 + - 30: represents EMR-V2.6.0 - 33: represents EMR-V3.2.1 - - 34: stands for EMR-V3.3.0 - - 36: represents STARROCKS-V1.0.0 - - 37: indicates EMR-V3.4.0 + - 34: represents EMR-V3.3.0 + - 37: represents EMR-V3.4.0 - 38: represents EMR-V2.7.0 - - 39: stands for STARROCKS-V1.1.0 - - 41: represents DRUID-V1.1.0. + - 44: represents EMR-V3.5.0 + - 50: represents KAFKA-V2.0.0 + - 51: represents STARROCKS-V1.4.0 + - 53: represents EMR-V3.6.0 + - 54: represents STARROCKS-V2.0.0. :param pulumi.Input['ClusterResourceSpecArgs'] resource_spec: Resource specification of EMR instance. :param pulumi.Input[str] sg_id: The ID of the security group to which the instance belongs, in the form of sg-xxxxxxxx. :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]] tags: Tag description list. + :param pulumi.Input[Sequence[pulumi.Input['ClusterTerminateNodeInfoArgs']]] terminate_node_infos: Terminate nodes. Note: it only works when the number of nodes decreases. :param pulumi.Input[int] time_span: The length of time the instance was purchased. Use with TimeUnit.When TimeUnit is s, the parameter can only be filled in at 3600, representing a metered instance. When TimeUnit is m, the number filled in by this parameter indicates the length of purchase of the monthly instance of the package year, such as 1 for one month of purchase. :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.""") @@ -413,6 +475,8 @@ def __init__(__self__, *, pulumi.set(__self__, "placement", placement) if placement_info is not None: pulumi.set(__self__, "placement_info", placement_info) + if pre_executed_file_settings is not None: + pulumi.set(__self__, "pre_executed_file_settings", pre_executed_file_settings) if product_id is not None: pulumi.set(__self__, "product_id", product_id) if resource_spec is not None: @@ -425,6 +489,8 @@ def __init__(__self__, *, pulumi.set(__self__, "support_ha", support_ha) if tags is not None: pulumi.set(__self__, "tags", tags) + if terminate_node_infos is not None: + pulumi.set(__self__, "terminate_node_infos", terminate_node_infos) if time_span is not None: pulumi.set(__self__, "time_span", time_span) if time_unit is not None: @@ -432,6 +498,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]]: @@ -549,23 +627,37 @@ def placement_info(self) -> Optional[pulumi.Input['ClusterPlacementInfoArgs']]: def placement_info(self, value: Optional[pulumi.Input['ClusterPlacementInfoArgs']]): pulumi.set(self, "placement_info", value) + @property + @pulumi.getter(name="preExecutedFileSettings") + def pre_executed_file_settings(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterPreExecutedFileSettingArgs']]]]: + """ + Pre executed file settings. It can only be set at the time of creation, and cannot be modified. + """ + return pulumi.get(self, "pre_executed_file_settings") + + @pre_executed_file_settings.setter + def pre_executed_file_settings(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterPreExecutedFileSettingArgs']]]]): + pulumi.set(self, "pre_executed_file_settings", value) + @property @pulumi.getter(name="productId") def product_id(self) -> Optional[pulumi.Input[int]]: """ Product ID. Different products ID represents different EMR product versions. Value range: - 16: represents EMR-V2.3.0 - - 20: indicates EMR-V2.5.0 + - 20: represents EMR-V2.5.0 - 25: represents EMR-V3.1.0 - 27: represents KAFKA-V1.0.0 - - 30: indicates EMR-V2.6.0 + - 30: represents EMR-V2.6.0 - 33: represents EMR-V3.2.1 - - 34: stands for EMR-V3.3.0 - - 36: represents STARROCKS-V1.0.0 - - 37: indicates EMR-V3.4.0 + - 34: represents EMR-V3.3.0 + - 37: represents EMR-V3.4.0 - 38: represents EMR-V2.7.0 - - 39: stands for STARROCKS-V1.1.0 - - 41: represents DRUID-V1.1.0. + - 44: represents EMR-V3.5.0 + - 50: represents KAFKA-V2.0.0 + - 51: represents STARROCKS-V1.4.0 + - 53: represents EMR-V3.6.0 + - 54: represents STARROCKS-V2.0.0. """ return pulumi.get(self, "product_id") @@ -633,6 +725,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="terminateNodeInfos") + def terminate_node_infos(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterTerminateNodeInfoArgs']]]]: + """ + Terminate nodes. Note: it only works when the number of nodes decreases. + """ + return pulumi.get(self, "terminate_node_infos") + + @terminate_node_infos.setter + def terminate_node_infos(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterTerminateNodeInfoArgs']]]]): + pulumi.set(self, "terminate_node_infos", value) + @property @pulumi.getter(name="timeSpan") def time_span(self) -> Optional[pulumi.Input[int]]: @@ -676,6 +780,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, @@ -684,12 +789,14 @@ def __init__(__self__, pay_mode: Optional[pulumi.Input[int]] = None, placement: Optional[pulumi.Input[Mapping[str, Any]]] = None, placement_info: Optional[pulumi.Input[pulumi.InputType['ClusterPlacementInfoArgs']]] = None, + pre_executed_file_settings: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterPreExecutedFileSettingArgs']]]]] = None, product_id: Optional[pulumi.Input[int]] = None, resource_spec: Optional[pulumi.Input[pulumi.InputType['ClusterResourceSpecArgs']]] = None, sg_id: Optional[pulumi.Input[str]] = None, softwares: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, support_ha: Optional[pulumi.Input[int]] = None, tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, + terminate_node_infos: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterTerminateNodeInfoArgs']]]]] = None, time_span: Optional[pulumi.Input[int]] = None, time_unit: Optional[pulumi.Input[str]] = None, vpc_settings: Optional[pulumi.Input[Mapping[str, Any]]] = None, @@ -784,6 +891,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(_). @@ -795,24 +903,28 @@ def __init__(__self__, :param pulumi.Input[int] pay_mode: The pay mode of instance. 0 represent POSTPAID_BY_HOUR, 1 represent PREPAID. :param pulumi.Input[Mapping[str, Any]] placement: It will be deprecated in later versions. Use `placement_info` instead. The location of the instance. :param pulumi.Input[pulumi.InputType['ClusterPlacementInfoArgs']] placement_info: The location of the instance. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterPreExecutedFileSettingArgs']]]] pre_executed_file_settings: Pre executed file settings. It can only be set at the time of creation, and cannot be modified. :param pulumi.Input[int] product_id: Product ID. Different products ID represents different EMR product versions. Value range: - 16: represents EMR-V2.3.0 - - 20: indicates EMR-V2.5.0 + - 20: represents EMR-V2.5.0 - 25: represents EMR-V3.1.0 - 27: represents KAFKA-V1.0.0 - - 30: indicates EMR-V2.6.0 + - 30: represents EMR-V2.6.0 - 33: represents EMR-V3.2.1 - - 34: stands for EMR-V3.3.0 - - 36: represents STARROCKS-V1.0.0 - - 37: indicates EMR-V3.4.0 + - 34: represents EMR-V3.3.0 + - 37: represents EMR-V3.4.0 - 38: represents EMR-V2.7.0 - - 39: stands for STARROCKS-V1.1.0 - - 41: represents DRUID-V1.1.0. + - 44: represents EMR-V3.5.0 + - 50: represents KAFKA-V2.0.0 + - 51: represents STARROCKS-V1.4.0 + - 53: represents EMR-V3.6.0 + - 54: represents STARROCKS-V2.0.0. :param pulumi.Input[pulumi.InputType['ClusterResourceSpecArgs']] resource_spec: Resource specification of EMR instance. :param pulumi.Input[str] sg_id: The ID of the security group to which the instance belongs, in the form of sg-xxxxxxxx. :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]] tags: Tag description list. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterTerminateNodeInfoArgs']]]] terminate_node_infos: Terminate nodes. Note: it only works when the number of nodes decreases. :param pulumi.Input[int] time_span: The length of time the instance was purchased. Use with TimeUnit.When TimeUnit is s, the parameter can only be filled in at 3600, representing a metered instance. When TimeUnit is m, the number filled in by this parameter indicates the length of purchase of the monthly instance of the package year, such as 1 for one month of purchase. :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). @@ -927,6 +1039,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, @@ -935,12 +1048,14 @@ def _internal_init(__self__, pay_mode: Optional[pulumi.Input[int]] = None, placement: Optional[pulumi.Input[Mapping[str, Any]]] = None, placement_info: Optional[pulumi.Input[pulumi.InputType['ClusterPlacementInfoArgs']]] = None, + pre_executed_file_settings: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterPreExecutedFileSettingArgs']]]]] = None, product_id: Optional[pulumi.Input[int]] = None, resource_spec: Optional[pulumi.Input[pulumi.InputType['ClusterResourceSpecArgs']]] = None, sg_id: Optional[pulumi.Input[str]] = None, softwares: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, support_ha: Optional[pulumi.Input[int]] = None, tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, + terminate_node_infos: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterTerminateNodeInfoArgs']]]]] = None, time_span: Optional[pulumi.Input[int]] = None, time_unit: Optional[pulumi.Input[str]] = None, vpc_settings: Optional[pulumi.Input[Mapping[str, Any]]] = None, @@ -953,6 +1068,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: @@ -965,6 +1081,7 @@ def _internal_init(__self__, __props__.__dict__["pay_mode"] = pay_mode __props__.__dict__["placement"] = placement __props__.__dict__["placement_info"] = placement_info + __props__.__dict__["pre_executed_file_settings"] = pre_executed_file_settings if product_id is None and not opts.urn: raise TypeError("Missing required property 'product_id'") __props__.__dict__["product_id"] = product_id @@ -977,6 +1094,7 @@ def _internal_init(__self__, raise TypeError("Missing required property 'support_ha'") __props__.__dict__["support_ha"] = support_ha __props__.__dict__["tags"] = tags + __props__.__dict__["terminate_node_infos"] = terminate_node_infos __props__.__dict__["time_span"] = time_span __props__.__dict__["time_unit"] = time_unit if vpc_settings is None and not opts.urn: @@ -995,6 +1113,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, @@ -1004,12 +1123,14 @@ def get(resource_name: str, pay_mode: Optional[pulumi.Input[int]] = None, placement: Optional[pulumi.Input[Mapping[str, Any]]] = None, placement_info: Optional[pulumi.Input[pulumi.InputType['ClusterPlacementInfoArgs']]] = None, + pre_executed_file_settings: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterPreExecutedFileSettingArgs']]]]] = None, product_id: Optional[pulumi.Input[int]] = None, resource_spec: Optional[pulumi.Input[pulumi.InputType['ClusterResourceSpecArgs']]] = None, sg_id: Optional[pulumi.Input[str]] = None, softwares: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, support_ha: Optional[pulumi.Input[int]] = None, tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, + terminate_node_infos: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterTerminateNodeInfoArgs']]]]] = None, time_span: Optional[pulumi.Input[int]] = None, time_unit: Optional[pulumi.Input[str]] = None, vpc_settings: Optional[pulumi.Input[Mapping[str, Any]]] = None) -> 'Cluster': @@ -1020,6 +1141,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. @@ -1032,24 +1154,28 @@ def get(resource_name: str, :param pulumi.Input[int] pay_mode: The pay mode of instance. 0 represent POSTPAID_BY_HOUR, 1 represent PREPAID. :param pulumi.Input[Mapping[str, Any]] placement: It will be deprecated in later versions. Use `placement_info` instead. The location of the instance. :param pulumi.Input[pulumi.InputType['ClusterPlacementInfoArgs']] placement_info: The location of the instance. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterPreExecutedFileSettingArgs']]]] pre_executed_file_settings: Pre executed file settings. It can only be set at the time of creation, and cannot be modified. :param pulumi.Input[int] product_id: Product ID. Different products ID represents different EMR product versions. Value range: - 16: represents EMR-V2.3.0 - - 20: indicates EMR-V2.5.0 + - 20: represents EMR-V2.5.0 - 25: represents EMR-V3.1.0 - 27: represents KAFKA-V1.0.0 - - 30: indicates EMR-V2.6.0 + - 30: represents EMR-V2.6.0 - 33: represents EMR-V3.2.1 - - 34: stands for EMR-V3.3.0 - - 36: represents STARROCKS-V1.0.0 - - 37: indicates EMR-V3.4.0 + - 34: represents EMR-V3.3.0 + - 37: represents EMR-V3.4.0 - 38: represents EMR-V2.7.0 - - 39: stands for STARROCKS-V1.1.0 - - 41: represents DRUID-V1.1.0. + - 44: represents EMR-V3.5.0 + - 50: represents KAFKA-V2.0.0 + - 51: represents STARROCKS-V1.4.0 + - 53: represents EMR-V3.6.0 + - 54: represents STARROCKS-V2.0.0. :param pulumi.Input[pulumi.InputType['ClusterResourceSpecArgs']] resource_spec: Resource specification of EMR instance. :param pulumi.Input[str] sg_id: The ID of the security group to which the instance belongs, in the form of sg-xxxxxxxx. :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]] tags: Tag description list. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterTerminateNodeInfoArgs']]]] terminate_node_infos: Terminate nodes. Note: it only works when the number of nodes decreases. :param pulumi.Input[int] time_span: The length of time the instance was purchased. Use with TimeUnit.When TimeUnit is s, the parameter can only be filled in at 3600, representing a metered instance. When TimeUnit is m, the number filled in by this parameter indicates the length of purchase of the monthly instance of the package year, such as 1 for one month of purchase. :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). @@ -1059,6 +1185,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 @@ -1068,17 +1195,27 @@ def get(resource_name: str, __props__.__dict__["pay_mode"] = pay_mode __props__.__dict__["placement"] = placement __props__.__dict__["placement_info"] = placement_info + __props__.__dict__["pre_executed_file_settings"] = pre_executed_file_settings __props__.__dict__["product_id"] = product_id __props__.__dict__["resource_spec"] = resource_spec __props__.__dict__["sg_id"] = sg_id __props__.__dict__["softwares"] = softwares __props__.__dict__["support_ha"] = support_ha __props__.__dict__["tags"] = tags + __props__.__dict__["terminate_node_infos"] = terminate_node_infos __props__.__dict__["time_span"] = time_span __props__.__dict__["time_unit"] = time_unit __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]]: @@ -1160,23 +1297,33 @@ def placement_info(self) -> pulumi.Output['outputs.ClusterPlacementInfo']: """ return pulumi.get(self, "placement_info") + @property + @pulumi.getter(name="preExecutedFileSettings") + def pre_executed_file_settings(self) -> pulumi.Output[Optional[Sequence['outputs.ClusterPreExecutedFileSetting']]]: + """ + Pre executed file settings. It can only be set at the time of creation, and cannot be modified. + """ + return pulumi.get(self, "pre_executed_file_settings") + @property @pulumi.getter(name="productId") def product_id(self) -> pulumi.Output[int]: """ Product ID. Different products ID represents different EMR product versions. Value range: - 16: represents EMR-V2.3.0 - - 20: indicates EMR-V2.5.0 + - 20: represents EMR-V2.5.0 - 25: represents EMR-V3.1.0 - 27: represents KAFKA-V1.0.0 - - 30: indicates EMR-V2.6.0 + - 30: represents EMR-V2.6.0 - 33: represents EMR-V3.2.1 - - 34: stands for EMR-V3.3.0 - - 36: represents STARROCKS-V1.0.0 - - 37: indicates EMR-V3.4.0 + - 34: represents EMR-V3.3.0 + - 37: represents EMR-V3.4.0 - 38: represents EMR-V2.7.0 - - 39: stands for STARROCKS-V1.1.0 - - 41: represents DRUID-V1.1.0. + - 44: represents EMR-V3.5.0 + - 50: represents KAFKA-V2.0.0 + - 51: represents STARROCKS-V1.4.0 + - 53: represents EMR-V3.6.0 + - 54: represents STARROCKS-V2.0.0. """ return pulumi.get(self, "product_id") @@ -1220,6 +1367,14 @@ def tags(self) -> pulumi.Output[Mapping[str, Any]]: """ return pulumi.get(self, "tags") + @property + @pulumi.getter(name="terminateNodeInfos") + def terminate_node_infos(self) -> pulumi.Output[Optional[Sequence['outputs.ClusterTerminateNodeInfo']]]: + """ + Terminate nodes. Note: it only works when the number of nodes decreases. + """ + return pulumi.get(self, "terminate_node_infos") + @property @pulumi.getter(name="timeSpan") def time_span(self) -> pulumi.Output[Optional[int]]: diff --git a/sdk/python/tencentcloud_iac_pulumi/emr/outputs.py b/sdk/python/tencentcloud_iac_pulumi/emr/outputs.py index d8d2146d3..d1d9d6dce 100644 --- a/sdk/python/tencentcloud_iac_pulumi/emr/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/emr/outputs.py @@ -12,11 +12,17 @@ __all__ = [ 'ClusterPlacementInfo', + 'ClusterPreExecutedFileSetting', 'ClusterResourceSpec', 'ClusterResourceSpecCommonResourceSpec', + 'ClusterResourceSpecCommonResourceSpecMultiDisk', 'ClusterResourceSpecCoreResourceSpec', + 'ClusterResourceSpecCoreResourceSpecMultiDisk', 'ClusterResourceSpecMasterResourceSpec', + 'ClusterResourceSpecMasterResourceSpecMultiDisk', 'ClusterResourceSpecTaskResourceSpec', + 'ClusterResourceSpecTaskResourceSpecMultiDisk', + 'ClusterTerminateNodeInfo', 'GetAutoScaleRecordsFilterResult', 'GetAutoScaleRecordsRecordListResult', 'GetCvmQuotaEksQuotaSetResult', @@ -76,6 +82,136 @@ def project_id(self) -> Optional[int]: return pulumi.get(self, "project_id") +@pulumi.output_type +class ClusterPreExecutedFileSetting(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "cosFileName": + suggest = "cos_file_name" + elif key == "cosFileUri": + suggest = "cos_file_uri" + elif key == "cosSecretId": + suggest = "cos_secret_id" + elif key == "cosSecretKey": + suggest = "cos_secret_key" + elif key == "runOrder": + suggest = "run_order" + elif key == "whenRun": + suggest = "when_run" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterPreExecutedFileSetting. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterPreExecutedFileSetting.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterPreExecutedFileSetting.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + args: Optional[Sequence[str]] = None, + cos_file_name: Optional[str] = None, + cos_file_uri: Optional[str] = None, + cos_secret_id: Optional[str] = None, + cos_secret_key: Optional[str] = None, + remark: Optional[str] = None, + run_order: Optional[int] = None, + when_run: Optional[str] = None): + """ + :param Sequence[str] args: Execution script parameters. + :param str cos_file_name: Script file name. + :param str cos_file_uri: The cos address of the script. + :param str cos_secret_id: Cos secretId. + :param str cos_secret_key: Cos secretKey. + :param str remark: Remark. + :param int run_order: Run order. + :param str when_run: `resourceAfter` or `clusterAfter`. + """ + if args is not None: + pulumi.set(__self__, "args", args) + if cos_file_name is not None: + pulumi.set(__self__, "cos_file_name", cos_file_name) + if cos_file_uri is not None: + pulumi.set(__self__, "cos_file_uri", cos_file_uri) + if cos_secret_id is not None: + pulumi.set(__self__, "cos_secret_id", cos_secret_id) + if cos_secret_key is not None: + pulumi.set(__self__, "cos_secret_key", cos_secret_key) + if remark is not None: + pulumi.set(__self__, "remark", remark) + if run_order is not None: + pulumi.set(__self__, "run_order", run_order) + if when_run is not None: + pulumi.set(__self__, "when_run", when_run) + + @property + @pulumi.getter + def args(self) -> Optional[Sequence[str]]: + """ + Execution script parameters. + """ + return pulumi.get(self, "args") + + @property + @pulumi.getter(name="cosFileName") + def cos_file_name(self) -> Optional[str]: + """ + Script file name. + """ + return pulumi.get(self, "cos_file_name") + + @property + @pulumi.getter(name="cosFileUri") + def cos_file_uri(self) -> Optional[str]: + """ + The cos address of the script. + """ + return pulumi.get(self, "cos_file_uri") + + @property + @pulumi.getter(name="cosSecretId") + def cos_secret_id(self) -> Optional[str]: + """ + Cos secretId. + """ + return pulumi.get(self, "cos_secret_id") + + @property + @pulumi.getter(name="cosSecretKey") + def cos_secret_key(self) -> Optional[str]: + """ + Cos secretKey. + """ + return pulumi.get(self, "cos_secret_key") + + @property + @pulumi.getter + def remark(self) -> Optional[str]: + """ + Remark. + """ + return pulumi.get(self, "remark") + + @property + @pulumi.getter(name="runOrder") + def run_order(self) -> Optional[int]: + """ + Run order. + """ + return pulumi.get(self, "run_order") + + @property + @pulumi.getter(name="whenRun") + def when_run(self) -> Optional[str]: + """ + `resourceAfter` or `clusterAfter`. + """ + return pulumi.get(self, "when_run") + + @pulumi.output_type class ClusterResourceSpec(dict): @staticmethod @@ -120,9 +256,13 @@ def __init__(__self__, *, task_resource_spec: Optional['outputs.ClusterResourceSpecTaskResourceSpec'] = None): """ :param int common_count: The number of common node. + :param 'ClusterResourceSpecCommonResourceSpecArgs' common_resource_spec: Resource details. :param int core_count: The number of core node. + :param 'ClusterResourceSpecCoreResourceSpecArgs' core_resource_spec: Resource details. :param int master_count: The number of master node. + :param 'ClusterResourceSpecMasterResourceSpecArgs' master_resource_spec: Resource details. :param int task_count: The number of core node. + :param 'ClusterResourceSpecTaskResourceSpecArgs' task_resource_spec: Resource details. """ if common_count is not None: pulumi.set(__self__, "common_count", common_count) @@ -152,6 +292,9 @@ def common_count(self) -> Optional[int]: @property @pulumi.getter(name="commonResourceSpec") def common_resource_spec(self) -> Optional['outputs.ClusterResourceSpecCommonResourceSpec']: + """ + Resource details. + """ return pulumi.get(self, "common_resource_spec") @property @@ -165,6 +308,9 @@ def core_count(self) -> Optional[int]: @property @pulumi.getter(name="coreResourceSpec") def core_resource_spec(self) -> Optional['outputs.ClusterResourceSpecCoreResourceSpec']: + """ + Resource details. + """ return pulumi.get(self, "core_resource_spec") @property @@ -178,6 +324,9 @@ def master_count(self) -> Optional[int]: @property @pulumi.getter(name="masterResourceSpec") def master_resource_spec(self) -> Optional['outputs.ClusterResourceSpecMasterResourceSpec']: + """ + Resource details. + """ return pulumi.get(self, "master_resource_spec") @property @@ -191,6 +340,9 @@ def task_count(self) -> Optional[int]: @property @pulumi.getter(name="taskResourceSpec") def task_resource_spec(self) -> Optional['outputs.ClusterResourceSpecTaskResourceSpec']: + """ + Resource details. + """ return pulumi.get(self, "task_resource_spec") @@ -205,6 +357,8 @@ def __key_warning(key: str): suggest = "disk_type" elif key == "memSize": suggest = "mem_size" + elif key == "multiDisks": + suggest = "multi_disks" elif key == "rootSize": suggest = "root_size" elif key == "storageType": @@ -226,9 +380,28 @@ def __init__(__self__, *, disk_size: Optional[int] = None, disk_type: Optional[str] = None, mem_size: Optional[int] = None, + multi_disks: Optional[Sequence['outputs.ClusterResourceSpecCommonResourceSpecMultiDisk']] = None, root_size: Optional[int] = None, spec: Optional[str] = None, storage_type: Optional[int] = None): + """ + :param int cpu: Number of CPU cores. + :param int disk_size: Data disk capacity. + :param str disk_type: disk types. Value range: + - CLOUD_SSD: Represents cloud SSD; + - CLOUD_PREMIUM: Represents efficient cloud disk; + - CLOUD_BASIC: Represents Cloud Block Storage. + :param int mem_size: Memory size in M. + :param Sequence['ClusterResourceSpecCommonResourceSpecMultiDiskArgs'] multi_disks: Cloud disk list. When the data disk is a cloud disk, use disk_type and disk_size parameters directly, and use multi_disks for excess parts. + :param int root_size: Root disk capacity. + :param str spec: Node specification description, such as CVM.SA2. + :param int storage_type: Storage type. Value range: + - 4: Represents cloud SSD; + - 5: Represents efficient cloud disk; + - 6: Represents enhanced SSD Cloud Block Storage; + - 11: Represents throughput Cloud Block Storage; + - 12: Represents extremely fast SSD Cloud Block Storage. + """ if cpu is not None: pulumi.set(__self__, "cpu", cpu) if disk_size is not None: @@ -237,6 +410,8 @@ def __init__(__self__, *, pulumi.set(__self__, "disk_type", disk_type) if mem_size is not None: pulumi.set(__self__, "mem_size", mem_size) + if multi_disks is not None: + pulumi.set(__self__, "multi_disks", multi_disks) if root_size is not None: pulumi.set(__self__, "root_size", root_size) if spec is not None: @@ -247,39 +422,142 @@ def __init__(__self__, *, @property @pulumi.getter def cpu(self) -> Optional[int]: + """ + Number of CPU cores. + """ return pulumi.get(self, "cpu") @property @pulumi.getter(name="diskSize") def disk_size(self) -> Optional[int]: + """ + Data disk capacity. + """ return pulumi.get(self, "disk_size") @property @pulumi.getter(name="diskType") def disk_type(self) -> Optional[str]: + """ + disk types. Value range: + - CLOUD_SSD: Represents cloud SSD; + - CLOUD_PREMIUM: Represents efficient cloud disk; + - CLOUD_BASIC: Represents Cloud Block Storage. + """ return pulumi.get(self, "disk_type") @property @pulumi.getter(name="memSize") def mem_size(self) -> Optional[int]: + """ + Memory size in M. + """ return pulumi.get(self, "mem_size") + @property + @pulumi.getter(name="multiDisks") + def multi_disks(self) -> Optional[Sequence['outputs.ClusterResourceSpecCommonResourceSpecMultiDisk']]: + """ + Cloud disk list. When the data disk is a cloud disk, use disk_type and disk_size parameters directly, and use multi_disks for excess parts. + """ + return pulumi.get(self, "multi_disks") + @property @pulumi.getter(name="rootSize") def root_size(self) -> Optional[int]: + """ + Root disk capacity. + """ return pulumi.get(self, "root_size") @property @pulumi.getter def spec(self) -> Optional[str]: + """ + Node specification description, such as CVM.SA2. + """ return pulumi.get(self, "spec") @property @pulumi.getter(name="storageType") def storage_type(self) -> Optional[int]: + """ + Storage type. Value range: + - 4: Represents cloud SSD; + - 5: Represents efficient cloud disk; + - 6: Represents enhanced SSD Cloud Block Storage; + - 11: Represents throughput Cloud Block Storage; + - 12: Represents extremely fast SSD Cloud Block Storage. + """ return pulumi.get(self, "storage_type") +@pulumi.output_type +class ClusterResourceSpecCommonResourceSpecMultiDisk(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "diskType": + suggest = "disk_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterResourceSpecCommonResourceSpecMultiDisk. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterResourceSpecCommonResourceSpecMultiDisk.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterResourceSpecCommonResourceSpecMultiDisk.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + count: Optional[int] = None, + disk_type: Optional[str] = None, + volume: Optional[int] = None): + """ + :param int count: Number of cloud disks of this type. + :param str disk_type: Cloud disk type + - CLOUD_SSD: Represents cloud SSD; + - CLOUD_PREMIUM: Represents efficient cloud disk; + - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + :param int volume: Cloud disk size. + """ + if count is not None: + pulumi.set(__self__, "count", count) + if disk_type is not None: + pulumi.set(__self__, "disk_type", disk_type) + if volume is not None: + pulumi.set(__self__, "volume", volume) + + @property + @pulumi.getter + def count(self) -> Optional[int]: + """ + Number of cloud disks of this type. + """ + return pulumi.get(self, "count") + + @property + @pulumi.getter(name="diskType") + def disk_type(self) -> Optional[str]: + """ + Cloud disk type + - CLOUD_SSD: Represents cloud SSD; + - CLOUD_PREMIUM: Represents efficient cloud disk; + - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + """ + return pulumi.get(self, "disk_type") + + @property + @pulumi.getter + def volume(self) -> Optional[int]: + """ + Cloud disk size. + """ + return pulumi.get(self, "volume") + + @pulumi.output_type class ClusterResourceSpecCoreResourceSpec(dict): @staticmethod @@ -291,6 +569,8 @@ def __key_warning(key: str): suggest = "disk_type" elif key == "memSize": suggest = "mem_size" + elif key == "multiDisks": + suggest = "multi_disks" elif key == "rootSize": suggest = "root_size" elif key == "storageType": @@ -312,9 +592,28 @@ def __init__(__self__, *, disk_size: Optional[int] = None, disk_type: Optional[str] = None, mem_size: Optional[int] = None, + multi_disks: Optional[Sequence['outputs.ClusterResourceSpecCoreResourceSpecMultiDisk']] = None, root_size: Optional[int] = None, spec: Optional[str] = None, storage_type: Optional[int] = None): + """ + :param int cpu: Number of CPU cores. + :param int disk_size: Data disk capacity. + :param str disk_type: disk types. Value range: + - CLOUD_SSD: Represents cloud SSD; + - CLOUD_PREMIUM: Represents efficient cloud disk; + - CLOUD_BASIC: Represents Cloud Block Storage. + :param int mem_size: Memory size in M. + :param Sequence['ClusterResourceSpecCoreResourceSpecMultiDiskArgs'] multi_disks: Cloud disk list. When the data disk is a cloud disk, use disk_type and disk_size parameters directly, and use multi_disks for excess parts. + :param int root_size: Root disk capacity. + :param str spec: Node specification description, such as CVM.SA2. + :param int storage_type: Storage type. Value range: + - 4: Represents cloud SSD; + - 5: Represents efficient cloud disk; + - 6: Represents enhanced SSD Cloud Block Storage; + - 11: Represents throughput Cloud Block Storage; + - 12: Represents extremely fast SSD Cloud Block Storage. + """ if cpu is not None: pulumi.set(__self__, "cpu", cpu) if disk_size is not None: @@ -323,6 +622,8 @@ def __init__(__self__, *, pulumi.set(__self__, "disk_type", disk_type) if mem_size is not None: pulumi.set(__self__, "mem_size", mem_size) + if multi_disks is not None: + pulumi.set(__self__, "multi_disks", multi_disks) if root_size is not None: pulumi.set(__self__, "root_size", root_size) if spec is not None: @@ -333,39 +634,142 @@ def __init__(__self__, *, @property @pulumi.getter def cpu(self) -> Optional[int]: + """ + Number of CPU cores. + """ return pulumi.get(self, "cpu") @property @pulumi.getter(name="diskSize") def disk_size(self) -> Optional[int]: + """ + Data disk capacity. + """ return pulumi.get(self, "disk_size") @property @pulumi.getter(name="diskType") def disk_type(self) -> Optional[str]: + """ + disk types. Value range: + - CLOUD_SSD: Represents cloud SSD; + - CLOUD_PREMIUM: Represents efficient cloud disk; + - CLOUD_BASIC: Represents Cloud Block Storage. + """ return pulumi.get(self, "disk_type") @property @pulumi.getter(name="memSize") def mem_size(self) -> Optional[int]: + """ + Memory size in M. + """ return pulumi.get(self, "mem_size") + @property + @pulumi.getter(name="multiDisks") + def multi_disks(self) -> Optional[Sequence['outputs.ClusterResourceSpecCoreResourceSpecMultiDisk']]: + """ + Cloud disk list. When the data disk is a cloud disk, use disk_type and disk_size parameters directly, and use multi_disks for excess parts. + """ + return pulumi.get(self, "multi_disks") + @property @pulumi.getter(name="rootSize") def root_size(self) -> Optional[int]: + """ + Root disk capacity. + """ return pulumi.get(self, "root_size") @property @pulumi.getter def spec(self) -> Optional[str]: + """ + Node specification description, such as CVM.SA2. + """ return pulumi.get(self, "spec") @property @pulumi.getter(name="storageType") def storage_type(self) -> Optional[int]: + """ + Storage type. Value range: + - 4: Represents cloud SSD; + - 5: Represents efficient cloud disk; + - 6: Represents enhanced SSD Cloud Block Storage; + - 11: Represents throughput Cloud Block Storage; + - 12: Represents extremely fast SSD Cloud Block Storage. + """ return pulumi.get(self, "storage_type") +@pulumi.output_type +class ClusterResourceSpecCoreResourceSpecMultiDisk(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "diskType": + suggest = "disk_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterResourceSpecCoreResourceSpecMultiDisk. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterResourceSpecCoreResourceSpecMultiDisk.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterResourceSpecCoreResourceSpecMultiDisk.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + count: Optional[int] = None, + disk_type: Optional[str] = None, + volume: Optional[int] = None): + """ + :param int count: Number of cloud disks of this type. + :param str disk_type: Cloud disk type + - CLOUD_SSD: Represents cloud SSD; + - CLOUD_PREMIUM: Represents efficient cloud disk; + - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + :param int volume: Cloud disk size. + """ + if count is not None: + pulumi.set(__self__, "count", count) + if disk_type is not None: + pulumi.set(__self__, "disk_type", disk_type) + if volume is not None: + pulumi.set(__self__, "volume", volume) + + @property + @pulumi.getter + def count(self) -> Optional[int]: + """ + Number of cloud disks of this type. + """ + return pulumi.get(self, "count") + + @property + @pulumi.getter(name="diskType") + def disk_type(self) -> Optional[str]: + """ + Cloud disk type + - CLOUD_SSD: Represents cloud SSD; + - CLOUD_PREMIUM: Represents efficient cloud disk; + - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + """ + return pulumi.get(self, "disk_type") + + @property + @pulumi.getter + def volume(self) -> Optional[int]: + """ + Cloud disk size. + """ + return pulumi.get(self, "volume") + + @pulumi.output_type class ClusterResourceSpecMasterResourceSpec(dict): @staticmethod @@ -377,6 +781,8 @@ def __key_warning(key: str): suggest = "disk_type" elif key == "memSize": suggest = "mem_size" + elif key == "multiDisks": + suggest = "multi_disks" elif key == "rootSize": suggest = "root_size" elif key == "storageType": @@ -398,9 +804,28 @@ def __init__(__self__, *, disk_size: Optional[int] = None, disk_type: Optional[str] = None, mem_size: Optional[int] = None, + multi_disks: Optional[Sequence['outputs.ClusterResourceSpecMasterResourceSpecMultiDisk']] = None, root_size: Optional[int] = None, spec: Optional[str] = None, storage_type: Optional[int] = None): + """ + :param int cpu: Number of CPU cores. + :param int disk_size: Data disk capacity. + :param str disk_type: disk types. Value range: + - CLOUD_SSD: Represents cloud SSD; + - CLOUD_PREMIUM: Represents efficient cloud disk; + - CLOUD_BASIC: Represents Cloud Block Storage. + :param int mem_size: Memory size in M. + :param Sequence['ClusterResourceSpecMasterResourceSpecMultiDiskArgs'] multi_disks: Cloud disk list. When the data disk is a cloud disk, use disk_type and disk_size parameters directly, and use multi_disks for excess parts. + :param int root_size: Root disk capacity. + :param str spec: Node specification description, such as CVM.SA2. + :param int storage_type: Storage type. Value range: + - 4: Represents cloud SSD; + - 5: Represents efficient cloud disk; + - 6: Represents enhanced SSD Cloud Block Storage; + - 11: Represents throughput Cloud Block Storage; + - 12: Represents extremely fast SSD Cloud Block Storage. + """ if cpu is not None: pulumi.set(__self__, "cpu", cpu) if disk_size is not None: @@ -409,6 +834,8 @@ def __init__(__self__, *, pulumi.set(__self__, "disk_type", disk_type) if mem_size is not None: pulumi.set(__self__, "mem_size", mem_size) + if multi_disks is not None: + pulumi.set(__self__, "multi_disks", multi_disks) if root_size is not None: pulumi.set(__self__, "root_size", root_size) if spec is not None: @@ -419,39 +846,142 @@ def __init__(__self__, *, @property @pulumi.getter def cpu(self) -> Optional[int]: + """ + Number of CPU cores. + """ return pulumi.get(self, "cpu") @property @pulumi.getter(name="diskSize") def disk_size(self) -> Optional[int]: + """ + Data disk capacity. + """ return pulumi.get(self, "disk_size") @property @pulumi.getter(name="diskType") def disk_type(self) -> Optional[str]: + """ + disk types. Value range: + - CLOUD_SSD: Represents cloud SSD; + - CLOUD_PREMIUM: Represents efficient cloud disk; + - CLOUD_BASIC: Represents Cloud Block Storage. + """ return pulumi.get(self, "disk_type") @property @pulumi.getter(name="memSize") def mem_size(self) -> Optional[int]: + """ + Memory size in M. + """ return pulumi.get(self, "mem_size") + @property + @pulumi.getter(name="multiDisks") + def multi_disks(self) -> Optional[Sequence['outputs.ClusterResourceSpecMasterResourceSpecMultiDisk']]: + """ + Cloud disk list. When the data disk is a cloud disk, use disk_type and disk_size parameters directly, and use multi_disks for excess parts. + """ + return pulumi.get(self, "multi_disks") + @property @pulumi.getter(name="rootSize") def root_size(self) -> Optional[int]: + """ + Root disk capacity. + """ return pulumi.get(self, "root_size") @property @pulumi.getter def spec(self) -> Optional[str]: + """ + Node specification description, such as CVM.SA2. + """ return pulumi.get(self, "spec") @property @pulumi.getter(name="storageType") def storage_type(self) -> Optional[int]: + """ + Storage type. Value range: + - 4: Represents cloud SSD; + - 5: Represents efficient cloud disk; + - 6: Represents enhanced SSD Cloud Block Storage; + - 11: Represents throughput Cloud Block Storage; + - 12: Represents extremely fast SSD Cloud Block Storage. + """ return pulumi.get(self, "storage_type") +@pulumi.output_type +class ClusterResourceSpecMasterResourceSpecMultiDisk(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "diskType": + suggest = "disk_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterResourceSpecMasterResourceSpecMultiDisk. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterResourceSpecMasterResourceSpecMultiDisk.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterResourceSpecMasterResourceSpecMultiDisk.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + count: Optional[int] = None, + disk_type: Optional[str] = None, + volume: Optional[int] = None): + """ + :param int count: Number of cloud disks of this type. + :param str disk_type: Cloud disk type + - CLOUD_SSD: Represents cloud SSD; + - CLOUD_PREMIUM: Represents efficient cloud disk; + - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + :param int volume: Cloud disk size. + """ + if count is not None: + pulumi.set(__self__, "count", count) + if disk_type is not None: + pulumi.set(__self__, "disk_type", disk_type) + if volume is not None: + pulumi.set(__self__, "volume", volume) + + @property + @pulumi.getter + def count(self) -> Optional[int]: + """ + Number of cloud disks of this type. + """ + return pulumi.get(self, "count") + + @property + @pulumi.getter(name="diskType") + def disk_type(self) -> Optional[str]: + """ + Cloud disk type + - CLOUD_SSD: Represents cloud SSD; + - CLOUD_PREMIUM: Represents efficient cloud disk; + - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + """ + return pulumi.get(self, "disk_type") + + @property + @pulumi.getter + def volume(self) -> Optional[int]: + """ + Cloud disk size. + """ + return pulumi.get(self, "volume") + + @pulumi.output_type class ClusterResourceSpecTaskResourceSpec(dict): @staticmethod @@ -463,6 +993,8 @@ def __key_warning(key: str): suggest = "disk_type" elif key == "memSize": suggest = "mem_size" + elif key == "multiDisks": + suggest = "multi_disks" elif key == "rootSize": suggest = "root_size" elif key == "storageType": @@ -484,9 +1016,28 @@ def __init__(__self__, *, disk_size: Optional[int] = None, disk_type: Optional[str] = None, mem_size: Optional[int] = None, + multi_disks: Optional[Sequence['outputs.ClusterResourceSpecTaskResourceSpecMultiDisk']] = None, root_size: Optional[int] = None, spec: Optional[str] = None, storage_type: Optional[int] = None): + """ + :param int cpu: Number of CPU cores. + :param int disk_size: Data disk capacity. + :param str disk_type: disk types. Value range: + - CLOUD_SSD: Represents cloud SSD; + - CLOUD_PREMIUM: Represents efficient cloud disk; + - CLOUD_BASIC: Represents Cloud Block Storage. + :param int mem_size: Memory size in M. + :param Sequence['ClusterResourceSpecTaskResourceSpecMultiDiskArgs'] multi_disks: Cloud disk list. When the data disk is a cloud disk, use disk_type and disk_size parameters directly, and use multi_disks for excess parts. + :param int root_size: Root disk capacity. + :param str spec: Node specification description, such as CVM.SA2. + :param int storage_type: Storage type. Value range: + - 4: Represents cloud SSD; + - 5: Represents efficient cloud disk; + - 6: Represents enhanced SSD Cloud Block Storage; + - 11: Represents throughput Cloud Block Storage; + - 12: Represents extremely fast SSD Cloud Block Storage. + """ if cpu is not None: pulumi.set(__self__, "cpu", cpu) if disk_size is not None: @@ -495,6 +1046,8 @@ def __init__(__self__, *, pulumi.set(__self__, "disk_type", disk_type) if mem_size is not None: pulumi.set(__self__, "mem_size", mem_size) + if multi_disks is not None: + pulumi.set(__self__, "multi_disks", multi_disks) if root_size is not None: pulumi.set(__self__, "root_size", root_size) if spec is not None: @@ -505,39 +1058,192 @@ def __init__(__self__, *, @property @pulumi.getter def cpu(self) -> Optional[int]: + """ + Number of CPU cores. + """ return pulumi.get(self, "cpu") @property @pulumi.getter(name="diskSize") def disk_size(self) -> Optional[int]: + """ + Data disk capacity. + """ return pulumi.get(self, "disk_size") @property @pulumi.getter(name="diskType") def disk_type(self) -> Optional[str]: + """ + disk types. Value range: + - CLOUD_SSD: Represents cloud SSD; + - CLOUD_PREMIUM: Represents efficient cloud disk; + - CLOUD_BASIC: Represents Cloud Block Storage. + """ return pulumi.get(self, "disk_type") @property @pulumi.getter(name="memSize") def mem_size(self) -> Optional[int]: + """ + Memory size in M. + """ return pulumi.get(self, "mem_size") + @property + @pulumi.getter(name="multiDisks") + def multi_disks(self) -> Optional[Sequence['outputs.ClusterResourceSpecTaskResourceSpecMultiDisk']]: + """ + Cloud disk list. When the data disk is a cloud disk, use disk_type and disk_size parameters directly, and use multi_disks for excess parts. + """ + return pulumi.get(self, "multi_disks") + @property @pulumi.getter(name="rootSize") def root_size(self) -> Optional[int]: + """ + Root disk capacity. + """ return pulumi.get(self, "root_size") @property @pulumi.getter def spec(self) -> Optional[str]: + """ + Node specification description, such as CVM.SA2. + """ return pulumi.get(self, "spec") @property @pulumi.getter(name="storageType") def storage_type(self) -> Optional[int]: + """ + Storage type. Value range: + - 4: Represents cloud SSD; + - 5: Represents efficient cloud disk; + - 6: Represents enhanced SSD Cloud Block Storage; + - 11: Represents throughput Cloud Block Storage; + - 12: Represents extremely fast SSD Cloud Block Storage. + """ return pulumi.get(self, "storage_type") +@pulumi.output_type +class ClusterResourceSpecTaskResourceSpecMultiDisk(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "diskType": + suggest = "disk_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterResourceSpecTaskResourceSpecMultiDisk. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterResourceSpecTaskResourceSpecMultiDisk.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterResourceSpecTaskResourceSpecMultiDisk.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + count: Optional[int] = None, + disk_type: Optional[str] = None, + volume: Optional[int] = None): + """ + :param int count: Number of cloud disks of this type. + :param str disk_type: Cloud disk type + - CLOUD_SSD: Represents cloud SSD; + - CLOUD_PREMIUM: Represents efficient cloud disk; + - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + :param int volume: Cloud disk size. + """ + if count is not None: + pulumi.set(__self__, "count", count) + if disk_type is not None: + pulumi.set(__self__, "disk_type", disk_type) + if volume is not None: + pulumi.set(__self__, "volume", volume) + + @property + @pulumi.getter + def count(self) -> Optional[int]: + """ + Number of cloud disks of this type. + """ + return pulumi.get(self, "count") + + @property + @pulumi.getter(name="diskType") + def disk_type(self) -> Optional[str]: + """ + Cloud disk type + - CLOUD_SSD: Represents cloud SSD; + - CLOUD_PREMIUM: Represents efficient cloud disk; + - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. + """ + return pulumi.get(self, "disk_type") + + @property + @pulumi.getter + def volume(self) -> Optional[int]: + """ + Cloud disk size. + """ + return pulumi.get(self, "volume") + + +@pulumi.output_type +class ClusterTerminateNodeInfo(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "cvmInstanceIds": + suggest = "cvm_instance_ids" + elif key == "nodeFlag": + suggest = "node_flag" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterTerminateNodeInfo. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterTerminateNodeInfo.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterTerminateNodeInfo.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + cvm_instance_ids: Optional[Sequence[str]] = None, + node_flag: Optional[str] = None): + """ + :param Sequence[str] cvm_instance_ids: Destroy resource list. + :param str node_flag: Value range of destruction node type: `MASTER`, `TASK`, `CORE`, `ROUTER`. + """ + if cvm_instance_ids is not None: + pulumi.set(__self__, "cvm_instance_ids", cvm_instance_ids) + if node_flag is not None: + pulumi.set(__self__, "node_flag", node_flag) + + @property + @pulumi.getter(name="cvmInstanceIds") + def cvm_instance_ids(self) -> Optional[Sequence[str]]: + """ + Destroy resource list. + """ + return pulumi.get(self, "cvm_instance_ids") + + @property + @pulumi.getter(name="nodeFlag") + def node_flag(self) -> Optional[str]: + """ + Value range of destruction node type: `MASTER`, `TASK`, `CORE`, `ROUTER`. + """ + return pulumi.get(self, "node_flag") + + @pulumi.output_type class GetAutoScaleRecordsFilterResult(dict): def __init__(__self__, *, 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/get_instance.py b/sdk/python/tencentcloud_iac_pulumi/enis/get_instance.py index 0c9c33bc9..b5e99ae0d 100644 --- a/sdk/python/tencentcloud_iac_pulumi/enis/get_instance.py +++ b/sdk/python/tencentcloud_iac_pulumi/enis/get_instance.py @@ -64,7 +64,7 @@ def __init__(__self__, description=None, enis=None, id=None, ids=None, instance_ @pulumi.getter def description(self) -> Optional[str]: """ - Description of the IP. + Message description. """ return pulumi.get(self, "description") diff --git a/sdk/python/tencentcloud_iac_pulumi/enis/outputs.py b/sdk/python/tencentcloud_iac_pulumi/enis/outputs.py index 485f6c96a..e85b101ec 100644 --- a/sdk/python/tencentcloud_iac_pulumi/enis/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/enis/outputs.py @@ -13,16 +13,19 @@ __all__ = [ 'GetInstanceEniResult', 'GetInstanceEniIpv4Result', + 'GetInstanceEniIpv6Result', ] @pulumi.output_type class GetInstanceEniResult(dict): def __init__(__self__, *, + cdc_id: str, create_time: str, description: str, id: str, instance_id: str, ipv4s: Sequence['outputs.GetInstanceEniIpv4Result'], + ipv6s: Sequence['outputs.GetInstanceEniIpv6Result'], mac: str, name: str, primary: bool, @@ -32,11 +35,13 @@ 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. :param str instance_id: ID of the instance which bind the ENI. Conflict with `ids`. :param Sequence['GetInstanceEniIpv4Args'] ipv4s: A set of intranet IPv4s. + :param Sequence['GetInstanceEniIpv6Args'] ipv6s: A set of intranet IPv6s. :param str mac: MAC address. :param str name: Name of the ENI to be queried. Conflict with `ids`. :param bool primary: Indicates whether the IP is primary. @@ -46,11 +51,13 @@ 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) pulumi.set(__self__, "instance_id", instance_id) pulumi.set(__self__, "ipv4s", ipv4s) + pulumi.set(__self__, "ipv6s", ipv6s) pulumi.set(__self__, "mac", mac) pulumi.set(__self__, "name", name) pulumi.set(__self__, "primary", primary) @@ -60,6 +67,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: @@ -100,6 +115,14 @@ def ipv4s(self) -> Sequence['outputs.GetInstanceEniIpv4Result']: """ return pulumi.get(self, "ipv4s") + @property + @pulumi.getter + def ipv6s(self) -> Sequence['outputs.GetInstanceEniIpv6Result']: + """ + A set of intranet IPv6s. + """ + return pulumi.get(self, "ipv6s") + @property @pulumi.getter def mac(self) -> str: @@ -205,3 +228,65 @@ def primary(self) -> bool: return pulumi.get(self, "primary") +@pulumi.output_type +class GetInstanceEniIpv6Result(dict): + def __init__(__self__, *, + address: str, + address_id: str, + description: str, + is_wan_ip_blocked: bool, + primary: bool): + """ + :param str address: `IPv6` address, such as `3402:4e00:20:100:0:8cd9:2a67:71f3`. + :param str address_id: The `ID` of the `EIP` instance, such as `eip-hxlqja90`. + :param str description: Description of the ENI. Conflict with `ids`. + :param bool is_wan_ip_blocked: Whether the public IP is blocked. + :param bool primary: Indicates whether the IP is primary. + """ + pulumi.set(__self__, "address", address) + pulumi.set(__self__, "address_id", address_id) + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "is_wan_ip_blocked", is_wan_ip_blocked) + pulumi.set(__self__, "primary", primary) + + @property + @pulumi.getter + def address(self) -> str: + """ + `IPv6` address, such as `3402:4e00:20:100:0:8cd9:2a67:71f3`. + """ + return pulumi.get(self, "address") + + @property + @pulumi.getter(name="addressId") + def address_id(self) -> str: + """ + The `ID` of the `EIP` instance, such as `eip-hxlqja90`. + """ + return pulumi.get(self, "address_id") + + @property + @pulumi.getter + def description(self) -> str: + """ + Description of the ENI. Conflict with `ids`. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="isWanIpBlocked") + def is_wan_ip_blocked(self) -> bool: + """ + Whether the public IP is blocked. + """ + return pulumi.get(self, "is_wan_ip_blocked") + + @property + @pulumi.getter + def primary(self) -> bool: + """ + Indicates whether the IP is primary. + """ + return pulumi.get(self, "primary") + + diff --git a/sdk/python/tencentcloud_iac_pulumi/events/__init__.py b/sdk/python/tencentcloud_iac_pulumi/events/__init__.py new file mode 100644 index 000000000..c960f1638 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/events/__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 .audit_track import * +from ._inputs import * +from . import outputs diff --git a/sdk/python/tencentcloud_iac_pulumi/events/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/events/_inputs.py new file mode 100644 index 000000000..8e7c8c12a --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/events/_inputs.py @@ -0,0 +1,191 @@ +# 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__ = [ + 'AuditTrackFiltersArgs', + 'AuditTrackFiltersResourceFieldArgs', + 'AuditTrackStorageArgs', +] + +@pulumi.input_type +class AuditTrackFiltersArgs: + def __init__(__self__, *, + resource_fields: Optional[pulumi.Input[Sequence[pulumi.Input['AuditTrackFiltersResourceFieldArgs']]]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input['AuditTrackFiltersResourceFieldArgs']]] resource_fields: Resource filtering conditions. + """ + if resource_fields is not None: + pulumi.set(__self__, "resource_fields", resource_fields) + + @property + @pulumi.getter(name="resourceFields") + def resource_fields(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AuditTrackFiltersResourceFieldArgs']]]]: + """ + Resource filtering conditions. + """ + return pulumi.get(self, "resource_fields") + + @resource_fields.setter + def resource_fields(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AuditTrackFiltersResourceFieldArgs']]]]): + pulumi.set(self, "resource_fields", value) + + +@pulumi.input_type +class AuditTrackFiltersResourceFieldArgs: + def __init__(__self__, *, + action_type: pulumi.Input[str], + event_names: pulumi.Input[Sequence[pulumi.Input[str]]], + resource_type: pulumi.Input[str]): + """ + :param pulumi.Input[str] action_type: Tracking set event type (`Read`: Read; `Write`: Write; `*`: All). + :param pulumi.Input[Sequence[pulumi.Input[str]]] event_names: The list of API names of tracking set events. When `ResourceType` is `*`, the value of `EventNames` must be `*`. When `ResourceType` is a specified product, the value of `EventNames` can be `*`. When `ResourceType` is `cos` or `cls`, up to 10 APIs are supported. + :param pulumi.Input[str] resource_type: The product to which the tracking set event belongs. The value can be a single product such as `cos`, or `*` that indicates all products. + """ + pulumi.set(__self__, "action_type", action_type) + pulumi.set(__self__, "event_names", event_names) + pulumi.set(__self__, "resource_type", resource_type) + + @property + @pulumi.getter(name="actionType") + def action_type(self) -> pulumi.Input[str]: + """ + Tracking set event type (`Read`: Read; `Write`: Write; `*`: All). + """ + return pulumi.get(self, "action_type") + + @action_type.setter + def action_type(self, value: pulumi.Input[str]): + pulumi.set(self, "action_type", value) + + @property + @pulumi.getter(name="eventNames") + def event_names(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + The list of API names of tracking set events. When `ResourceType` is `*`, the value of `EventNames` must be `*`. When `ResourceType` is a specified product, the value of `EventNames` can be `*`. When `ResourceType` is `cos` or `cls`, up to 10 APIs are supported. + """ + return pulumi.get(self, "event_names") + + @event_names.setter + def event_names(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "event_names", value) + + @property + @pulumi.getter(name="resourceType") + def resource_type(self) -> pulumi.Input[str]: + """ + The product to which the tracking set event belongs. The value can be a single product such as `cos`, or `*` that indicates all products. + """ + return pulumi.get(self, "resource_type") + + @resource_type.setter + def resource_type(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_type", value) + + +@pulumi.input_type +class AuditTrackStorageArgs: + def __init__(__self__, *, + storage_name: pulumi.Input[str], + storage_prefix: pulumi.Input[str], + storage_region: pulumi.Input[str], + storage_type: pulumi.Input[str], + storage_account_id: Optional[pulumi.Input[str]] = None, + storage_app_id: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] storage_name: Storage name. For COS, the storage name is the custom bucket name, which can contain up to 50 lowercase letters, digits, and hyphens. It cannot contain "-APPID" and cannot start or end with a hyphen. For CLS, the storage name is the log topic ID, which can contain 1-50 characters. + :param pulumi.Input[str] storage_prefix: Storage directory prefix. The COS log file prefix can only contain 3-40 letters and digits. + :param pulumi.Input[str] storage_region: StorageRegion *string `json:'StorageRegion,omitnil,omitempty' name: 'StorageRegion'`. + :param pulumi.Input[str] storage_type: Storage type (Valid values: cos, cls). + :param pulumi.Input[str] storage_account_id: Designated to store user ID. + :param pulumi.Input[str] storage_app_id: Designated to store user app ID. + """ + pulumi.set(__self__, "storage_name", storage_name) + pulumi.set(__self__, "storage_prefix", storage_prefix) + pulumi.set(__self__, "storage_region", storage_region) + pulumi.set(__self__, "storage_type", storage_type) + if storage_account_id is not None: + pulumi.set(__self__, "storage_account_id", storage_account_id) + if storage_app_id is not None: + pulumi.set(__self__, "storage_app_id", storage_app_id) + + @property + @pulumi.getter(name="storageName") + def storage_name(self) -> pulumi.Input[str]: + """ + Storage name. For COS, the storage name is the custom bucket name, which can contain up to 50 lowercase letters, digits, and hyphens. It cannot contain "-APPID" and cannot start or end with a hyphen. For CLS, the storage name is the log topic ID, which can contain 1-50 characters. + """ + return pulumi.get(self, "storage_name") + + @storage_name.setter + def storage_name(self, value: pulumi.Input[str]): + pulumi.set(self, "storage_name", value) + + @property + @pulumi.getter(name="storagePrefix") + def storage_prefix(self) -> pulumi.Input[str]: + """ + Storage directory prefix. The COS log file prefix can only contain 3-40 letters and digits. + """ + return pulumi.get(self, "storage_prefix") + + @storage_prefix.setter + def storage_prefix(self, value: pulumi.Input[str]): + pulumi.set(self, "storage_prefix", value) + + @property + @pulumi.getter(name="storageRegion") + def storage_region(self) -> pulumi.Input[str]: + """ + StorageRegion *string `json:'StorageRegion,omitnil,omitempty' name: 'StorageRegion'`. + """ + return pulumi.get(self, "storage_region") + + @storage_region.setter + def storage_region(self, value: pulumi.Input[str]): + pulumi.set(self, "storage_region", value) + + @property + @pulumi.getter(name="storageType") + def storage_type(self) -> pulumi.Input[str]: + """ + Storage type (Valid values: cos, cls). + """ + return pulumi.get(self, "storage_type") + + @storage_type.setter + def storage_type(self, value: pulumi.Input[str]): + pulumi.set(self, "storage_type", value) + + @property + @pulumi.getter(name="storageAccountId") + def storage_account_id(self) -> Optional[pulumi.Input[str]]: + """ + Designated to store user ID. + """ + return pulumi.get(self, "storage_account_id") + + @storage_account_id.setter + def storage_account_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "storage_account_id", value) + + @property + @pulumi.getter(name="storageAppId") + def storage_app_id(self) -> Optional[pulumi.Input[str]]: + """ + Designated to store user app ID. + """ + return pulumi.get(self, "storage_app_id") + + @storage_app_id.setter + def storage_app_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "storage_app_id", value) + + diff --git a/sdk/python/tencentcloud_iac_pulumi/events/audit_track.py b/sdk/python/tencentcloud_iac_pulumi/events/audit_track.py new file mode 100644 index 000000000..8d0d66b28 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/events/audit_track.py @@ -0,0 +1,464 @@ +# 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__ = ['AuditTrackArgs', 'AuditTrack'] + +@pulumi.input_type +class AuditTrackArgs: + def __init__(__self__, *, + filters: pulumi.Input['AuditTrackFiltersArgs'], + status: pulumi.Input[int], + storage: pulumi.Input['AuditTrackStorageArgs'], + name: Optional[pulumi.Input[str]] = None, + track_for_all_members: Optional[pulumi.Input[int]] = None): + """ + The set of arguments for constructing a AuditTrack resource. + :param pulumi.Input['AuditTrackFiltersArgs'] filters: Data filtering criteria. + :param pulumi.Input[int] status: Tracking set status (0: Not enabled; 1: Enabled). + :param pulumi.Input['AuditTrackStorageArgs'] storage: Storage type of shipped data. Valid values: `cos`, `cls`. + :param pulumi.Input[str] name: Tracking set name, which can only contain 3-48 letters, digits, hyphens, and underscores. + :param pulumi.Input[int] track_for_all_members: Whether to enable the feature of shipping organization members operation logs to the organization admin account or the trusted service admin account (0: Not enabled; 1: Enabled. This feature can only be enabled by the organization admin account or the trusted service admin account). + """ + pulumi.set(__self__, "filters", filters) + pulumi.set(__self__, "status", status) + pulumi.set(__self__, "storage", storage) + if name is not None: + pulumi.set(__self__, "name", name) + if track_for_all_members is not None: + pulumi.set(__self__, "track_for_all_members", track_for_all_members) + + @property + @pulumi.getter + def filters(self) -> pulumi.Input['AuditTrackFiltersArgs']: + """ + Data filtering criteria. + """ + return pulumi.get(self, "filters") + + @filters.setter + def filters(self, value: pulumi.Input['AuditTrackFiltersArgs']): + pulumi.set(self, "filters", value) + + @property + @pulumi.getter + def status(self) -> pulumi.Input[int]: + """ + Tracking set status (0: Not enabled; 1: Enabled). + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: pulumi.Input[int]): + pulumi.set(self, "status", value) + + @property + @pulumi.getter + def storage(self) -> pulumi.Input['AuditTrackStorageArgs']: + """ + Storage type of shipped data. Valid values: `cos`, `cls`. + """ + return pulumi.get(self, "storage") + + @storage.setter + def storage(self, value: pulumi.Input['AuditTrackStorageArgs']): + pulumi.set(self, "storage", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Tracking set name, which can only contain 3-48 letters, digits, hyphens, and underscores. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="trackForAllMembers") + def track_for_all_members(self) -> Optional[pulumi.Input[int]]: + """ + Whether to enable the feature of shipping organization members operation logs to the organization admin account or the trusted service admin account (0: Not enabled; 1: Enabled. This feature can only be enabled by the organization admin account or the trusted service admin account). + """ + return pulumi.get(self, "track_for_all_members") + + @track_for_all_members.setter + def track_for_all_members(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "track_for_all_members", value) + + +@pulumi.input_type +class _AuditTrackState: + def __init__(__self__, *, + filters: Optional[pulumi.Input['AuditTrackFiltersArgs']] = None, + name: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[int]] = None, + storage: Optional[pulumi.Input['AuditTrackStorageArgs']] = None, + track_for_all_members: Optional[pulumi.Input[int]] = None, + track_id: Optional[pulumi.Input[int]] = None): + """ + Input properties used for looking up and filtering AuditTrack resources. + :param pulumi.Input['AuditTrackFiltersArgs'] filters: Data filtering criteria. + :param pulumi.Input[str] name: Tracking set name, which can only contain 3-48 letters, digits, hyphens, and underscores. + :param pulumi.Input[int] status: Tracking set status (0: Not enabled; 1: Enabled). + :param pulumi.Input['AuditTrackStorageArgs'] storage: Storage type of shipped data. Valid values: `cos`, `cls`. + :param pulumi.Input[int] track_for_all_members: Whether to enable the feature of shipping organization members operation logs to the organization admin account or the trusted service admin account (0: Not enabled; 1: Enabled. This feature can only be enabled by the organization admin account or the trusted service admin account). + :param pulumi.Input[int] track_id: Whether the log list has come to an end. `true`: Yes. Pagination is not required. + """ + if filters is not None: + pulumi.set(__self__, "filters", filters) + if name is not None: + pulumi.set(__self__, "name", name) + if status is not None: + pulumi.set(__self__, "status", status) + if storage is not None: + pulumi.set(__self__, "storage", storage) + if track_for_all_members is not None: + pulumi.set(__self__, "track_for_all_members", track_for_all_members) + if track_id is not None: + pulumi.set(__self__, "track_id", track_id) + + @property + @pulumi.getter + def filters(self) -> Optional[pulumi.Input['AuditTrackFiltersArgs']]: + """ + Data filtering criteria. + """ + return pulumi.get(self, "filters") + + @filters.setter + def filters(self, value: Optional[pulumi.Input['AuditTrackFiltersArgs']]): + pulumi.set(self, "filters", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Tracking set name, which can only contain 3-48 letters, digits, hyphens, and underscores. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[int]]: + """ + Tracking set status (0: Not enabled; 1: Enabled). + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "status", value) + + @property + @pulumi.getter + def storage(self) -> Optional[pulumi.Input['AuditTrackStorageArgs']]: + """ + Storage type of shipped data. Valid values: `cos`, `cls`. + """ + return pulumi.get(self, "storage") + + @storage.setter + def storage(self, value: Optional[pulumi.Input['AuditTrackStorageArgs']]): + pulumi.set(self, "storage", value) + + @property + @pulumi.getter(name="trackForAllMembers") + def track_for_all_members(self) -> Optional[pulumi.Input[int]]: + """ + Whether to enable the feature of shipping organization members operation logs to the organization admin account or the trusted service admin account (0: Not enabled; 1: Enabled. This feature can only be enabled by the organization admin account or the trusted service admin account). + """ + return pulumi.get(self, "track_for_all_members") + + @track_for_all_members.setter + def track_for_all_members(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "track_for_all_members", value) + + @property + @pulumi.getter(name="trackId") + def track_id(self) -> Optional[pulumi.Input[int]]: + """ + Whether the log list has come to an end. `true`: Yes. Pagination is not required. + """ + return pulumi.get(self, "track_id") + + @track_id.setter + def track_id(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "track_id", value) + + +class AuditTrack(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + filters: Optional[pulumi.Input[pulumi.InputType['AuditTrackFiltersArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[int]] = None, + storage: Optional[pulumi.Input[pulumi.InputType['AuditTrackStorageArgs']]] = None, + track_for_all_members: Optional[pulumi.Input[int]] = None, + __props__=None): + """ + Provides a resource to create events audit track + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.events.AuditTrack("example", + filters=tencentcloud.events.AuditTrackFiltersArgs( + resource_fields=[ + tencentcloud.events.AuditTrackFiltersResourceFieldArgs( + action_type="*", + event_names=[ + "AddSubAccount", + "AddSubAccountCheckingMFA", + ], + resource_type="cam", + ), + tencentcloud.events.AuditTrackFiltersResourceFieldArgs( + action_type="*", + event_names=["*"], + resource_type="cvm", + ), + tencentcloud.events.AuditTrackFiltersResourceFieldArgs( + action_type="*", + event_names=["*"], + resource_type="tke", + ), + ], + ), + status=1, + storage=tencentcloud.events.AuditTrackStorageArgs( + storage_name="393953ac-5c1b-457d-911d-376271b1b4f2", + storage_prefix="cloudaudit", + storage_region="ap-guangzhou", + storage_type="cls", + ), + track_for_all_members=0) + ``` + + + ## Import + + events audit track can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Events/auditTrack:AuditTrack example 24283 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[pulumi.InputType['AuditTrackFiltersArgs']] filters: Data filtering criteria. + :param pulumi.Input[str] name: Tracking set name, which can only contain 3-48 letters, digits, hyphens, and underscores. + :param pulumi.Input[int] status: Tracking set status (0: Not enabled; 1: Enabled). + :param pulumi.Input[pulumi.InputType['AuditTrackStorageArgs']] storage: Storage type of shipped data. Valid values: `cos`, `cls`. + :param pulumi.Input[int] track_for_all_members: Whether to enable the feature of shipping organization members operation logs to the organization admin account or the trusted service admin account (0: Not enabled; 1: Enabled. This feature can only be enabled by the organization admin account or the trusted service admin account). + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AuditTrackArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create events audit track + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.events.AuditTrack("example", + filters=tencentcloud.events.AuditTrackFiltersArgs( + resource_fields=[ + tencentcloud.events.AuditTrackFiltersResourceFieldArgs( + action_type="*", + event_names=[ + "AddSubAccount", + "AddSubAccountCheckingMFA", + ], + resource_type="cam", + ), + tencentcloud.events.AuditTrackFiltersResourceFieldArgs( + action_type="*", + event_names=["*"], + resource_type="cvm", + ), + tencentcloud.events.AuditTrackFiltersResourceFieldArgs( + action_type="*", + event_names=["*"], + resource_type="tke", + ), + ], + ), + status=1, + storage=tencentcloud.events.AuditTrackStorageArgs( + storage_name="393953ac-5c1b-457d-911d-376271b1b4f2", + storage_prefix="cloudaudit", + storage_region="ap-guangzhou", + storage_type="cls", + ), + track_for_all_members=0) + ``` + + + ## Import + + events audit track can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Events/auditTrack:AuditTrack example 24283 + ``` + + :param str resource_name: The name of the resource. + :param AuditTrackArgs 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(AuditTrackArgs, 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, + filters: Optional[pulumi.Input[pulumi.InputType['AuditTrackFiltersArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[int]] = None, + storage: Optional[pulumi.Input[pulumi.InputType['AuditTrackStorageArgs']]] = None, + track_for_all_members: 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__ = AuditTrackArgs.__new__(AuditTrackArgs) + + if filters is None and not opts.urn: + raise TypeError("Missing required property 'filters'") + __props__.__dict__["filters"] = filters + __props__.__dict__["name"] = name + if status is None and not opts.urn: + raise TypeError("Missing required property 'status'") + __props__.__dict__["status"] = status + if storage is None and not opts.urn: + raise TypeError("Missing required property 'storage'") + __props__.__dict__["storage"] = storage + __props__.__dict__["track_for_all_members"] = track_for_all_members + __props__.__dict__["track_id"] = None + super(AuditTrack, __self__).__init__( + 'tencentcloud:Events/auditTrack:AuditTrack', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + filters: Optional[pulumi.Input[pulumi.InputType['AuditTrackFiltersArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[int]] = None, + storage: Optional[pulumi.Input[pulumi.InputType['AuditTrackStorageArgs']]] = None, + track_for_all_members: Optional[pulumi.Input[int]] = None, + track_id: Optional[pulumi.Input[int]] = None) -> 'AuditTrack': + """ + Get an existing AuditTrack 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['AuditTrackFiltersArgs']] filters: Data filtering criteria. + :param pulumi.Input[str] name: Tracking set name, which can only contain 3-48 letters, digits, hyphens, and underscores. + :param pulumi.Input[int] status: Tracking set status (0: Not enabled; 1: Enabled). + :param pulumi.Input[pulumi.InputType['AuditTrackStorageArgs']] storage: Storage type of shipped data. Valid values: `cos`, `cls`. + :param pulumi.Input[int] track_for_all_members: Whether to enable the feature of shipping organization members operation logs to the organization admin account or the trusted service admin account (0: Not enabled; 1: Enabled. This feature can only be enabled by the organization admin account or the trusted service admin account). + :param pulumi.Input[int] track_id: Whether the log list has come to an end. `true`: Yes. Pagination is not required. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _AuditTrackState.__new__(_AuditTrackState) + + __props__.__dict__["filters"] = filters + __props__.__dict__["name"] = name + __props__.__dict__["status"] = status + __props__.__dict__["storage"] = storage + __props__.__dict__["track_for_all_members"] = track_for_all_members + __props__.__dict__["track_id"] = track_id + return AuditTrack(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def filters(self) -> pulumi.Output['outputs.AuditTrackFilters']: + """ + Data filtering criteria. + """ + return pulumi.get(self, "filters") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Tracking set name, which can only contain 3-48 letters, digits, hyphens, and underscores. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[int]: + """ + Tracking set status (0: Not enabled; 1: Enabled). + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def storage(self) -> pulumi.Output['outputs.AuditTrackStorage']: + """ + Storage type of shipped data. Valid values: `cos`, `cls`. + """ + return pulumi.get(self, "storage") + + @property + @pulumi.getter(name="trackForAllMembers") + def track_for_all_members(self) -> pulumi.Output[Optional[int]]: + """ + Whether to enable the feature of shipping organization members operation logs to the organization admin account or the trusted service admin account (0: Not enabled; 1: Enabled. This feature can only be enabled by the organization admin account or the trusted service admin account). + """ + return pulumi.get(self, "track_for_all_members") + + @property + @pulumi.getter(name="trackId") + def track_id(self) -> pulumi.Output[int]: + """ + Whether the log list has come to an end. `true`: Yes. Pagination is not required. + """ + return pulumi.get(self, "track_id") + diff --git a/sdk/python/tencentcloud_iac_pulumi/events/outputs.py b/sdk/python/tencentcloud_iac_pulumi/events/outputs.py new file mode 100644 index 000000000..5b316e479 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/events/outputs.py @@ -0,0 +1,217 @@ +# 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__ = [ + 'AuditTrackFilters', + 'AuditTrackFiltersResourceField', + 'AuditTrackStorage', +] + +@pulumi.output_type +class AuditTrackFilters(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "resourceFields": + suggest = "resource_fields" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AuditTrackFilters. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AuditTrackFilters.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AuditTrackFilters.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + resource_fields: Optional[Sequence['outputs.AuditTrackFiltersResourceField']] = None): + """ + :param Sequence['AuditTrackFiltersResourceFieldArgs'] resource_fields: Resource filtering conditions. + """ + if resource_fields is not None: + pulumi.set(__self__, "resource_fields", resource_fields) + + @property + @pulumi.getter(name="resourceFields") + def resource_fields(self) -> Optional[Sequence['outputs.AuditTrackFiltersResourceField']]: + """ + Resource filtering conditions. + """ + return pulumi.get(self, "resource_fields") + + +@pulumi.output_type +class AuditTrackFiltersResourceField(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "actionType": + suggest = "action_type" + elif key == "eventNames": + suggest = "event_names" + elif key == "resourceType": + suggest = "resource_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AuditTrackFiltersResourceField. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AuditTrackFiltersResourceField.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AuditTrackFiltersResourceField.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + action_type: str, + event_names: Sequence[str], + resource_type: str): + """ + :param str action_type: Tracking set event type (`Read`: Read; `Write`: Write; `*`: All). + :param Sequence[str] event_names: The list of API names of tracking set events. When `ResourceType` is `*`, the value of `EventNames` must be `*`. When `ResourceType` is a specified product, the value of `EventNames` can be `*`. When `ResourceType` is `cos` or `cls`, up to 10 APIs are supported. + :param str resource_type: The product to which the tracking set event belongs. The value can be a single product such as `cos`, or `*` that indicates all products. + """ + pulumi.set(__self__, "action_type", action_type) + pulumi.set(__self__, "event_names", event_names) + pulumi.set(__self__, "resource_type", resource_type) + + @property + @pulumi.getter(name="actionType") + def action_type(self) -> str: + """ + Tracking set event type (`Read`: Read; `Write`: Write; `*`: All). + """ + return pulumi.get(self, "action_type") + + @property + @pulumi.getter(name="eventNames") + def event_names(self) -> Sequence[str]: + """ + The list of API names of tracking set events. When `ResourceType` is `*`, the value of `EventNames` must be `*`. When `ResourceType` is a specified product, the value of `EventNames` can be `*`. When `ResourceType` is `cos` or `cls`, up to 10 APIs are supported. + """ + return pulumi.get(self, "event_names") + + @property + @pulumi.getter(name="resourceType") + def resource_type(self) -> str: + """ + The product to which the tracking set event belongs. The value can be a single product such as `cos`, or `*` that indicates all products. + """ + return pulumi.get(self, "resource_type") + + +@pulumi.output_type +class AuditTrackStorage(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "storageName": + suggest = "storage_name" + elif key == "storagePrefix": + suggest = "storage_prefix" + elif key == "storageRegion": + suggest = "storage_region" + elif key == "storageType": + suggest = "storage_type" + elif key == "storageAccountId": + suggest = "storage_account_id" + elif key == "storageAppId": + suggest = "storage_app_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AuditTrackStorage. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AuditTrackStorage.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AuditTrackStorage.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + storage_name: str, + storage_prefix: str, + storage_region: str, + storage_type: str, + storage_account_id: Optional[str] = None, + storage_app_id: Optional[str] = None): + """ + :param str storage_name: Storage name. For COS, the storage name is the custom bucket name, which can contain up to 50 lowercase letters, digits, and hyphens. It cannot contain "-APPID" and cannot start or end with a hyphen. For CLS, the storage name is the log topic ID, which can contain 1-50 characters. + :param str storage_prefix: Storage directory prefix. The COS log file prefix can only contain 3-40 letters and digits. + :param str storage_region: StorageRegion *string `json:'StorageRegion,omitnil,omitempty' name: 'StorageRegion'`. + :param str storage_type: Storage type (Valid values: cos, cls). + :param str storage_account_id: Designated to store user ID. + :param str storage_app_id: Designated to store user app ID. + """ + pulumi.set(__self__, "storage_name", storage_name) + pulumi.set(__self__, "storage_prefix", storage_prefix) + pulumi.set(__self__, "storage_region", storage_region) + pulumi.set(__self__, "storage_type", storage_type) + if storage_account_id is not None: + pulumi.set(__self__, "storage_account_id", storage_account_id) + if storage_app_id is not None: + pulumi.set(__self__, "storage_app_id", storage_app_id) + + @property + @pulumi.getter(name="storageName") + def storage_name(self) -> str: + """ + Storage name. For COS, the storage name is the custom bucket name, which can contain up to 50 lowercase letters, digits, and hyphens. It cannot contain "-APPID" and cannot start or end with a hyphen. For CLS, the storage name is the log topic ID, which can contain 1-50 characters. + """ + return pulumi.get(self, "storage_name") + + @property + @pulumi.getter(name="storagePrefix") + def storage_prefix(self) -> str: + """ + Storage directory prefix. The COS log file prefix can only contain 3-40 letters and digits. + """ + return pulumi.get(self, "storage_prefix") + + @property + @pulumi.getter(name="storageRegion") + def storage_region(self) -> str: + """ + StorageRegion *string `json:'StorageRegion,omitnil,omitempty' name: 'StorageRegion'`. + """ + return pulumi.get(self, "storage_region") + + @property + @pulumi.getter(name="storageType") + def storage_type(self) -> str: + """ + Storage type (Valid values: cos, cls). + """ + return pulumi.get(self, "storage_type") + + @property + @pulumi.getter(name="storageAccountId") + def storage_account_id(self) -> Optional[str]: + """ + Designated to store user ID. + """ + return pulumi.get(self, "storage_account_id") + + @property + @pulumi.getter(name="storageAppId") + def storage_app_id(self) -> Optional[str]: + """ + Designated to store user app ID. + """ + return pulumi.get(self, "storage_app_id") + + diff --git a/sdk/python/tencentcloud_iac_pulumi/gaap/get_layer7_listeners.py b/sdk/python/tencentcloud_iac_pulumi/gaap/get_layer7_listeners.py index fa6a42f2b..3b9fa1df1 100644 --- a/sdk/python/tencentcloud_iac_pulumi/gaap/get_layer7_listeners.py +++ b/sdk/python/tencentcloud_iac_pulumi/gaap/get_layer7_listeners.py @@ -22,7 +22,10 @@ class GetLayer7ListenersResult: """ A collection of values returned by getLayer7Listeners. """ - def __init__(__self__, id=None, listener_id=None, listener_name=None, listeners=None, port=None, protocol=None, proxy_id=None, result_output_file=None): + def __init__(__self__, group_id=None, id=None, listener_id=None, listener_name=None, listeners=None, port=None, protocol=None, proxy_id=None, result_output_file=None): + if group_id and not isinstance(group_id, str): + raise TypeError("Expected argument 'group_id' to be a str") + pulumi.set(__self__, "group_id", group_id) if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) @@ -48,6 +51,11 @@ def __init__(__self__, id=None, listener_id=None, listener_name=None, listeners= raise TypeError("Expected argument 'result_output_file' to be a str") pulumi.set(__self__, "result_output_file", result_output_file) + @property + @pulumi.getter(name="groupId") + def group_id(self) -> Optional[str]: + return pulumi.get(self, "group_id") + @property @pulumi.getter def id(self) -> str: @@ -110,6 +118,7 @@ def __await__(self): if False: yield self return GetLayer7ListenersResult( + group_id=self.group_id, id=self.id, listener_id=self.listener_id, listener_name=self.listener_name, @@ -120,7 +129,8 @@ def __await__(self): result_output_file=self.result_output_file) -def get_layer7_listeners(listener_id: Optional[str] = None, +def get_layer7_listeners(group_id: Optional[str] = None, + listener_id: Optional[str] = None, listener_name: Optional[str] = None, port: Optional[int] = None, protocol: Optional[str] = None, @@ -154,6 +164,7 @@ def get_layer7_listeners(listener_id: Optional[str] = None, + :param str group_id: Group id. :param str listener_id: ID of the layer7 listener to be queried. :param str listener_name: Name of the layer7 listener to be queried. :param int port: Port of the layer7 listener to be queried. @@ -162,6 +173,7 @@ def get_layer7_listeners(listener_id: Optional[str] = None, :param str result_output_file: Used to save results. """ __args__ = dict() + __args__['groupId'] = group_id __args__['listenerId'] = listener_id __args__['listenerName'] = listener_name __args__['port'] = port @@ -172,6 +184,7 @@ def get_layer7_listeners(listener_id: Optional[str] = None, __ret__ = pulumi.runtime.invoke('tencentcloud:Gaap/getLayer7Listeners:getLayer7Listeners', __args__, opts=opts, typ=GetLayer7ListenersResult).value return AwaitableGetLayer7ListenersResult( + group_id=pulumi.get(__ret__, 'group_id'), id=pulumi.get(__ret__, 'id'), listener_id=pulumi.get(__ret__, 'listener_id'), listener_name=pulumi.get(__ret__, 'listener_name'), @@ -183,7 +196,8 @@ def get_layer7_listeners(listener_id: Optional[str] = None, @_utilities.lift_output_func(get_layer7_listeners) -def get_layer7_listeners_output(listener_id: Optional[pulumi.Input[Optional[str]]] = None, +def get_layer7_listeners_output(group_id: Optional[pulumi.Input[Optional[str]]] = None, + listener_id: Optional[pulumi.Input[Optional[str]]] = None, listener_name: Optional[pulumi.Input[Optional[str]]] = None, port: Optional[pulumi.Input[Optional[int]]] = None, protocol: Optional[pulumi.Input[str]] = None, @@ -217,6 +231,7 @@ def get_layer7_listeners_output(listener_id: Optional[pulumi.Input[Optional[str] + :param str group_id: Group id. :param str listener_id: ID of the layer7 listener to be queried. :param str listener_name: Name of the layer7 listener to be queried. :param int port: Port of the layer7 listener to be queried. diff --git a/sdk/python/tencentcloud_iac_pulumi/gaap/get_proxy_statistics.py b/sdk/python/tencentcloud_iac_pulumi/gaap/get_proxy_statistics.py index 701c11154..64e0abe68 100644 --- a/sdk/python/tencentcloud_iac_pulumi/gaap/get_proxy_statistics.py +++ b/sdk/python/tencentcloud_iac_pulumi/gaap/get_proxy_statistics.py @@ -162,7 +162,7 @@ def get_proxy_statistics(end_time: Optional[str] = None, :param str end_time: End Time(2019-03-25 12:00:00). :param int granularity: Monitoring granularity, currently supporting 60 300 3600 86400, in seconds.When the time range does not exceed 3 days, support a minimum granularity of 60 seconds;When the time range does not exceed 7 days, support a minimum granularity of 300 seconds;When the time range does not exceed 30 days, the minimum granularity supported is 3600 seconds. :param str isp: Operator (valid when the proxy is a three network proxy), supports CMCC, CUCC, CTCC, and merges data from the three operators if null values are passed or not passed. - :param Sequence[str] metric_names: Metric Names. Valid values: InBandwidth,OutBandwidth, Concurrent, InPackets, OutPackets, PacketLoss, Latency, HttpQPS, HttpsQPS. + :param Sequence[str] metric_names: Metric Names. Valid values: InBandwidth,OutBandwidth, Concurrent, InPackets, OutPackets, PacketLoss, Latency, HttpQPS, HttpsQPS, HttpQPSPercent, HttpsQPSPercent. :param str proxy_id: Proxy Id. :param str result_output_file: Used to save results. :param str start_time: Start Time(2019-03-25 12:00:00). @@ -233,7 +233,7 @@ def get_proxy_statistics_output(end_time: Optional[pulumi.Input[str]] = None, :param str end_time: End Time(2019-03-25 12:00:00). :param int granularity: Monitoring granularity, currently supporting 60 300 3600 86400, in seconds.When the time range does not exceed 3 days, support a minimum granularity of 60 seconds;When the time range does not exceed 7 days, support a minimum granularity of 300 seconds;When the time range does not exceed 30 days, the minimum granularity supported is 3600 seconds. :param str isp: Operator (valid when the proxy is a three network proxy), supports CMCC, CUCC, CTCC, and merges data from the three operators if null values are passed or not passed. - :param Sequence[str] metric_names: Metric Names. Valid values: InBandwidth,OutBandwidth, Concurrent, InPackets, OutPackets, PacketLoss, Latency, HttpQPS, HttpsQPS. + :param Sequence[str] metric_names: Metric Names. Valid values: InBandwidth,OutBandwidth, Concurrent, InPackets, OutPackets, PacketLoss, Latency, HttpQPS, HttpsQPS, HttpQPSPercent, HttpsQPSPercent. :param str proxy_id: Proxy Id. :param str result_output_file: Used to save results. :param str start_time: Start Time(2019-03-25 12:00:00). diff --git a/sdk/python/tencentcloud_iac_pulumi/gaap/http_domain.py b/sdk/python/tencentcloud_iac_pulumi/gaap/http_domain.py index 7aaae8569..156bb6905 100644 --- a/sdk/python/tencentcloud_iac_pulumi/gaap/http_domain.py +++ b/sdk/python/tencentcloud_iac_pulumi/gaap/http_domain.py @@ -23,6 +23,8 @@ def __init__(__self__, *, client_certificate_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, gaap_auth: Optional[pulumi.Input[bool]] = None, gaap_auth_id: Optional[pulumi.Input[str]] = None, + group_id: Optional[pulumi.Input[str]] = None, + is_default_server: Optional[pulumi.Input[bool]] = None, realserver_auth: Optional[pulumi.Input[bool]] = None, realserver_certificate_domain: Optional[pulumi.Input[str]] = None, realserver_certificate_id: Optional[pulumi.Input[str]] = None, @@ -38,6 +40,8 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] client_certificate_ids: ID list of the poly client certificate. :param pulumi.Input[bool] gaap_auth: Indicates whether SSL certificate authentication is enable, default value is `false`. :param pulumi.Input[str] gaap_auth_id: ID of the SSL certificate. + :param pulumi.Input[str] group_id: Group Id. + :param pulumi.Input[bool] is_default_server: Whether to use as the default domain name, the default is false. :param pulumi.Input[bool] realserver_auth: Indicates whether realserver authentication is enable, default value is `false`. :param pulumi.Input[str] realserver_certificate_domain: CA certificate domain of the realserver. It has been deprecated. :param pulumi.Input[str] realserver_certificate_id: It has been deprecated from version 1.28.0. Set `realserver_certificate_ids` instead. CA certificate ID of the realserver. @@ -62,6 +66,10 @@ def __init__(__self__, *, pulumi.set(__self__, "gaap_auth", gaap_auth) if gaap_auth_id is not None: pulumi.set(__self__, "gaap_auth_id", gaap_auth_id) + if group_id is not None: + pulumi.set(__self__, "group_id", group_id) + if is_default_server is not None: + pulumi.set(__self__, "is_default_server", is_default_server) if realserver_auth is not None: pulumi.set(__self__, "realserver_auth", realserver_auth) if realserver_certificate_domain is not None: @@ -185,6 +193,30 @@ def gaap_auth_id(self) -> Optional[pulumi.Input[str]]: def gaap_auth_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "gaap_auth_id", value) + @property + @pulumi.getter(name="groupId") + def group_id(self) -> Optional[pulumi.Input[str]]: + """ + 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="isDefaultServer") + def is_default_server(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to use as the default domain name, the default is false. + """ + return pulumi.get(self, "is_default_server") + + @is_default_server.setter + def is_default_server(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_default_server", value) + @property @pulumi.getter(name="realserverAuth") def realserver_auth(self) -> Optional[pulumi.Input[bool]]: @@ -248,6 +280,8 @@ def __init__(__self__, *, domain: Optional[pulumi.Input[str]] = None, gaap_auth: Optional[pulumi.Input[bool]] = None, gaap_auth_id: Optional[pulumi.Input[str]] = None, + group_id: Optional[pulumi.Input[str]] = None, + is_default_server: Optional[pulumi.Input[bool]] = None, listener_id: Optional[pulumi.Input[str]] = None, realserver_auth: Optional[pulumi.Input[bool]] = None, realserver_certificate_domain: Optional[pulumi.Input[str]] = None, @@ -263,6 +297,8 @@ def __init__(__self__, *, :param pulumi.Input[str] domain: Forward domain of the layer7 listener. :param pulumi.Input[bool] gaap_auth: Indicates whether SSL certificate authentication is enable, default value is `false`. :param pulumi.Input[str] gaap_auth_id: ID of the SSL certificate. + :param pulumi.Input[str] group_id: Group Id. + :param pulumi.Input[bool] is_default_server: Whether to use as the default domain name, the default is false. :param pulumi.Input[str] listener_id: ID of the layer7 listener. :param pulumi.Input[bool] realserver_auth: Indicates whether realserver authentication is enable, default value is `false`. :param pulumi.Input[str] realserver_certificate_domain: CA certificate domain of the realserver. It has been deprecated. @@ -288,6 +324,10 @@ def __init__(__self__, *, pulumi.set(__self__, "gaap_auth", gaap_auth) if gaap_auth_id is not None: pulumi.set(__self__, "gaap_auth_id", gaap_auth_id) + if group_id is not None: + pulumi.set(__self__, "group_id", group_id) + if is_default_server is not None: + pulumi.set(__self__, "is_default_server", is_default_server) if listener_id is not None: pulumi.set(__self__, "listener_id", listener_id) if realserver_auth is not None: @@ -401,6 +441,30 @@ def gaap_auth_id(self) -> Optional[pulumi.Input[str]]: def gaap_auth_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "gaap_auth_id", value) + @property + @pulumi.getter(name="groupId") + def group_id(self) -> Optional[pulumi.Input[str]]: + """ + 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="isDefaultServer") + def is_default_server(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to use as the default domain name, the default is false. + """ + return pulumi.get(self, "is_default_server") + + @is_default_server.setter + def is_default_server(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_default_server", value) + @property @pulumi.getter(name="listenerId") def listener_id(self) -> Optional[pulumi.Input[str]]: @@ -478,6 +542,8 @@ def __init__(__self__, domain: Optional[pulumi.Input[str]] = None, gaap_auth: Optional[pulumi.Input[bool]] = None, gaap_auth_id: Optional[pulumi.Input[str]] = None, + group_id: Optional[pulumi.Input[str]] = None, + is_default_server: Optional[pulumi.Input[bool]] = None, listener_id: Optional[pulumi.Input[str]] = None, realserver_auth: Optional[pulumi.Input[bool]] = None, realserver_certificate_domain: Optional[pulumi.Input[str]] = None, @@ -527,6 +593,8 @@ def __init__(__self__, :param pulumi.Input[str] domain: Forward domain of the layer7 listener. :param pulumi.Input[bool] gaap_auth: Indicates whether SSL certificate authentication is enable, default value is `false`. :param pulumi.Input[str] gaap_auth_id: ID of the SSL certificate. + :param pulumi.Input[str] group_id: Group Id. + :param pulumi.Input[bool] is_default_server: Whether to use as the default domain name, the default is false. :param pulumi.Input[str] listener_id: ID of the layer7 listener. :param pulumi.Input[bool] realserver_auth: Indicates whether realserver authentication is enable, default value is `false`. :param pulumi.Input[str] realserver_certificate_domain: CA certificate domain of the realserver. It has been deprecated. @@ -595,6 +663,8 @@ def _internal_init(__self__, domain: Optional[pulumi.Input[str]] = None, gaap_auth: Optional[pulumi.Input[bool]] = None, gaap_auth_id: Optional[pulumi.Input[str]] = None, + group_id: Optional[pulumi.Input[str]] = None, + is_default_server: Optional[pulumi.Input[bool]] = None, listener_id: Optional[pulumi.Input[str]] = None, realserver_auth: Optional[pulumi.Input[bool]] = None, realserver_certificate_domain: Optional[pulumi.Input[str]] = None, @@ -619,6 +689,8 @@ def _internal_init(__self__, __props__.__dict__["domain"] = domain __props__.__dict__["gaap_auth"] = gaap_auth __props__.__dict__["gaap_auth_id"] = gaap_auth_id + __props__.__dict__["group_id"] = group_id + __props__.__dict__["is_default_server"] = is_default_server if listener_id is None and not opts.urn: raise TypeError("Missing required property 'listener_id'") __props__.__dict__["listener_id"] = listener_id @@ -644,6 +716,8 @@ def get(resource_name: str, domain: Optional[pulumi.Input[str]] = None, gaap_auth: Optional[pulumi.Input[bool]] = None, gaap_auth_id: Optional[pulumi.Input[str]] = None, + group_id: Optional[pulumi.Input[str]] = None, + is_default_server: Optional[pulumi.Input[bool]] = None, listener_id: Optional[pulumi.Input[str]] = None, realserver_auth: Optional[pulumi.Input[bool]] = None, realserver_certificate_domain: Optional[pulumi.Input[str]] = None, @@ -664,6 +738,8 @@ def get(resource_name: str, :param pulumi.Input[str] domain: Forward domain of the layer7 listener. :param pulumi.Input[bool] gaap_auth: Indicates whether SSL certificate authentication is enable, default value is `false`. :param pulumi.Input[str] gaap_auth_id: ID of the SSL certificate. + :param pulumi.Input[str] group_id: Group Id. + :param pulumi.Input[bool] is_default_server: Whether to use as the default domain name, the default is false. :param pulumi.Input[str] listener_id: ID of the layer7 listener. :param pulumi.Input[bool] realserver_auth: Indicates whether realserver authentication is enable, default value is `false`. :param pulumi.Input[str] realserver_certificate_domain: CA certificate domain of the realserver. It has been deprecated. @@ -682,6 +758,8 @@ def get(resource_name: str, __props__.__dict__["domain"] = domain __props__.__dict__["gaap_auth"] = gaap_auth __props__.__dict__["gaap_auth_id"] = gaap_auth_id + __props__.__dict__["group_id"] = group_id + __props__.__dict__["is_default_server"] = is_default_server __props__.__dict__["listener_id"] = listener_id __props__.__dict__["realserver_auth"] = realserver_auth __props__.__dict__["realserver_certificate_domain"] = realserver_certificate_domain @@ -756,6 +834,22 @@ def gaap_auth_id(self) -> pulumi.Output[str]: """ return pulumi.get(self, "gaap_auth_id") + @property + @pulumi.getter(name="groupId") + def group_id(self) -> pulumi.Output[Optional[str]]: + """ + Group Id. + """ + return pulumi.get(self, "group_id") + + @property + @pulumi.getter(name="isDefaultServer") + def is_default_server(self) -> pulumi.Output[Optional[bool]]: + """ + Whether to use as the default domain name, the default is false. + """ + return pulumi.get(self, "is_default_server") + @property @pulumi.getter(name="listenerId") def listener_id(self) -> pulumi.Output[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/gaap/layer7_listener.py b/sdk/python/tencentcloud_iac_pulumi/gaap/layer7_listener.py index 7d4263828..b502d9437 100644 --- a/sdk/python/tencentcloud_iac_pulumi/gaap/layer7_listener.py +++ b/sdk/python/tencentcloud_iac_pulumi/gaap/layer7_listener.py @@ -16,28 +16,33 @@ class Layer7ListenerArgs: def __init__(__self__, *, port: pulumi.Input[int], protocol: pulumi.Input[str], - proxy_id: pulumi.Input[str], auth_type: Optional[pulumi.Input[int]] = None, certificate_id: Optional[pulumi.Input[str]] = None, client_certificate_id: Optional[pulumi.Input[str]] = None, client_certificate_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, forward_protocol: Optional[pulumi.Input[str]] = None, - name: Optional[pulumi.Input[str]] = None): + group_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + proxy_id: Optional[pulumi.Input[str]] = None, + tls_ciphers: Optional[pulumi.Input[str]] = None, + tls_support_versions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): """ The set of arguments for constructing a Layer7Listener resource. :param pulumi.Input[int] port: Port of the layer7 listener. :param pulumi.Input[str] protocol: Protocol of the layer7 listener. Valid value: `HTTP` and `HTTPS`. - :param pulumi.Input[str] proxy_id: ID of the GAAP proxy. :param pulumi.Input[int] auth_type: Authentication type of the layer7 listener. `0` is one-way authentication and `1` is mutual authentication. NOTES: Only supports listeners of `HTTPS` protocol. :param pulumi.Input[str] certificate_id: Certificate ID of the layer7 listener. NOTES: Only supports listeners of `HTTPS` protocol. :param pulumi.Input[str] client_certificate_id: It has been deprecated from version 1.26.0. Set `client_certificate_ids` instead. ID of the client certificate. Set only when `auth_type` is specified as mutual authentication. NOTES: Only supports listeners of `HTTPS` protocol. :param pulumi.Input[Sequence[pulumi.Input[str]]] client_certificate_ids: ID list of the client certificate. Set only when `auth_type` is specified as mutual authentication. NOTES: Only supports listeners of `HTTPS` protocol. :param pulumi.Input[str] forward_protocol: Protocol type of the forwarding. Valid value: `HTTP` and `HTTPS`. NOTES: Only supports listeners of `HTTPS` protocol. + :param pulumi.Input[str] group_id: Group ID. :param pulumi.Input[str] name: Name of the layer7 listener, the maximum length is 30. + :param pulumi.Input[str] proxy_id: ID of the GAAP proxy. + :param pulumi.Input[str] tls_ciphers: Password Suite, optional GAAP_TLS_CIPHERS_STRICT, GAAP_TLS_CIPHERS_GENERAL, GAAP_TLS_CIPHERS_WIDE(default). + :param pulumi.Input[Sequence[pulumi.Input[str]]] tls_support_versions: TLS version, optional TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. """ pulumi.set(__self__, "port", port) pulumi.set(__self__, "protocol", protocol) - pulumi.set(__self__, "proxy_id", proxy_id) if auth_type is not None: pulumi.set(__self__, "auth_type", auth_type) if certificate_id is not None: @@ -51,8 +56,16 @@ def __init__(__self__, *, pulumi.set(__self__, "client_certificate_ids", client_certificate_ids) if forward_protocol is not None: pulumi.set(__self__, "forward_protocol", forward_protocol) + if group_id is not None: + pulumi.set(__self__, "group_id", group_id) if name is not None: pulumi.set(__self__, "name", name) + if proxy_id is not None: + pulumi.set(__self__, "proxy_id", proxy_id) + if tls_ciphers is not None: + pulumi.set(__self__, "tls_ciphers", tls_ciphers) + if tls_support_versions is not None: + pulumi.set(__self__, "tls_support_versions", tls_support_versions) @property @pulumi.getter @@ -78,18 +91,6 @@ def protocol(self) -> pulumi.Input[str]: def protocol(self, value: pulumi.Input[str]): pulumi.set(self, "protocol", value) - @property - @pulumi.getter(name="proxyId") - def proxy_id(self) -> pulumi.Input[str]: - """ - ID of the GAAP proxy. - """ - return pulumi.get(self, "proxy_id") - - @proxy_id.setter - def proxy_id(self, value: pulumi.Input[str]): - pulumi.set(self, "proxy_id", value) - @property @pulumi.getter(name="authType") def auth_type(self) -> Optional[pulumi.Input[int]]: @@ -153,6 +154,18 @@ def forward_protocol(self) -> Optional[pulumi.Input[str]]: def forward_protocol(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "forward_protocol", value) + @property + @pulumi.getter(name="groupId") + def group_id(self) -> Optional[pulumi.Input[str]]: + """ + 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 def name(self) -> Optional[pulumi.Input[str]]: @@ -165,6 +178,42 @@ def name(self) -> Optional[pulumi.Input[str]]: def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) + @property + @pulumi.getter(name="proxyId") + def proxy_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the GAAP proxy. + """ + return pulumi.get(self, "proxy_id") + + @proxy_id.setter + def proxy_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "proxy_id", value) + + @property + @pulumi.getter(name="tlsCiphers") + def tls_ciphers(self) -> Optional[pulumi.Input[str]]: + """ + Password Suite, optional GAAP_TLS_CIPHERS_STRICT, GAAP_TLS_CIPHERS_GENERAL, GAAP_TLS_CIPHERS_WIDE(default). + """ + return pulumi.get(self, "tls_ciphers") + + @tls_ciphers.setter + def tls_ciphers(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tls_ciphers", value) + + @property + @pulumi.getter(name="tlsSupportVersions") + def tls_support_versions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + TLS version, optional TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. + """ + return pulumi.get(self, "tls_support_versions") + + @tls_support_versions.setter + def tls_support_versions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "tls_support_versions", value) + @pulumi.input_type class _Layer7ListenerState: @@ -175,11 +224,14 @@ def __init__(__self__, *, client_certificate_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, create_time: Optional[pulumi.Input[str]] = None, forward_protocol: Optional[pulumi.Input[str]] = None, + group_id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, port: Optional[pulumi.Input[int]] = None, protocol: Optional[pulumi.Input[str]] = None, proxy_id: Optional[pulumi.Input[str]] = None, - status: Optional[pulumi.Input[int]] = None): + status: Optional[pulumi.Input[int]] = None, + tls_ciphers: Optional[pulumi.Input[str]] = None, + tls_support_versions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): """ Input properties used for looking up and filtering Layer7Listener resources. :param pulumi.Input[int] auth_type: Authentication type of the layer7 listener. `0` is one-way authentication and `1` is mutual authentication. NOTES: Only supports listeners of `HTTPS` protocol. @@ -188,11 +240,14 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] client_certificate_ids: ID list of the client certificate. Set only when `auth_type` is specified as mutual authentication. NOTES: Only supports listeners of `HTTPS` protocol. :param pulumi.Input[str] create_time: Creation time of the layer7 listener. :param pulumi.Input[str] forward_protocol: Protocol type of the forwarding. Valid value: `HTTP` and `HTTPS`. NOTES: Only supports listeners of `HTTPS` protocol. + :param pulumi.Input[str] group_id: Group ID. :param pulumi.Input[str] name: Name of the layer7 listener, the maximum length is 30. :param pulumi.Input[int] port: Port of the layer7 listener. :param pulumi.Input[str] protocol: Protocol of the layer7 listener. Valid value: `HTTP` and `HTTPS`. :param pulumi.Input[str] proxy_id: ID of the GAAP proxy. :param pulumi.Input[int] status: Status of the layer7 listener. + :param pulumi.Input[str] tls_ciphers: Password Suite, optional GAAP_TLS_CIPHERS_STRICT, GAAP_TLS_CIPHERS_GENERAL, GAAP_TLS_CIPHERS_WIDE(default). + :param pulumi.Input[Sequence[pulumi.Input[str]]] tls_support_versions: TLS version, optional TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. """ if auth_type is not None: pulumi.set(__self__, "auth_type", auth_type) @@ -209,6 +264,8 @@ def __init__(__self__, *, pulumi.set(__self__, "create_time", create_time) if forward_protocol is not None: pulumi.set(__self__, "forward_protocol", forward_protocol) + if group_id is not None: + pulumi.set(__self__, "group_id", group_id) if name is not None: pulumi.set(__self__, "name", name) if port is not None: @@ -219,6 +276,10 @@ def __init__(__self__, *, pulumi.set(__self__, "proxy_id", proxy_id) if status is not None: pulumi.set(__self__, "status", status) + if tls_ciphers is not None: + pulumi.set(__self__, "tls_ciphers", tls_ciphers) + if tls_support_versions is not None: + pulumi.set(__self__, "tls_support_versions", tls_support_versions) @property @pulumi.getter(name="authType") @@ -295,6 +356,18 @@ def forward_protocol(self) -> Optional[pulumi.Input[str]]: def forward_protocol(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "forward_protocol", value) + @property + @pulumi.getter(name="groupId") + def group_id(self) -> Optional[pulumi.Input[str]]: + """ + 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 def name(self) -> Optional[pulumi.Input[str]]: @@ -355,6 +428,30 @@ def status(self) -> Optional[pulumi.Input[int]]: def status(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "status", value) + @property + @pulumi.getter(name="tlsCiphers") + def tls_ciphers(self) -> Optional[pulumi.Input[str]]: + """ + Password Suite, optional GAAP_TLS_CIPHERS_STRICT, GAAP_TLS_CIPHERS_GENERAL, GAAP_TLS_CIPHERS_WIDE(default). + """ + return pulumi.get(self, "tls_ciphers") + + @tls_ciphers.setter + def tls_ciphers(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tls_ciphers", value) + + @property + @pulumi.getter(name="tlsSupportVersions") + def tls_support_versions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + TLS version, optional TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. + """ + return pulumi.get(self, "tls_support_versions") + + @tls_support_versions.setter + def tls_support_versions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "tls_support_versions", value) + class Layer7Listener(pulumi.CustomResource): @overload @@ -366,10 +463,13 @@ def __init__(__self__, client_certificate_id: Optional[pulumi.Input[str]] = None, client_certificate_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, forward_protocol: Optional[pulumi.Input[str]] = None, + group_id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, port: Optional[pulumi.Input[int]] = None, protocol: Optional[pulumi.Input[str]] = None, proxy_id: Optional[pulumi.Input[str]] = None, + tls_ciphers: Optional[pulumi.Input[str]] = None, + tls_support_versions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, __props__=None): """ Provides a resource to create a layer7 listener of GAAP. @@ -408,10 +508,13 @@ def __init__(__self__, :param pulumi.Input[str] client_certificate_id: It has been deprecated from version 1.26.0. Set `client_certificate_ids` instead. ID of the client certificate. Set only when `auth_type` is specified as mutual authentication. NOTES: Only supports listeners of `HTTPS` protocol. :param pulumi.Input[Sequence[pulumi.Input[str]]] client_certificate_ids: ID list of the client certificate. Set only when `auth_type` is specified as mutual authentication. NOTES: Only supports listeners of `HTTPS` protocol. :param pulumi.Input[str] forward_protocol: Protocol type of the forwarding. Valid value: `HTTP` and `HTTPS`. NOTES: Only supports listeners of `HTTPS` protocol. + :param pulumi.Input[str] group_id: Group ID. :param pulumi.Input[str] name: Name of the layer7 listener, the maximum length is 30. :param pulumi.Input[int] port: Port of the layer7 listener. :param pulumi.Input[str] protocol: Protocol of the layer7 listener. Valid value: `HTTP` and `HTTPS`. :param pulumi.Input[str] proxy_id: ID of the GAAP proxy. + :param pulumi.Input[str] tls_ciphers: Password Suite, optional GAAP_TLS_CIPHERS_STRICT, GAAP_TLS_CIPHERS_GENERAL, GAAP_TLS_CIPHERS_WIDE(default). + :param pulumi.Input[Sequence[pulumi.Input[str]]] tls_support_versions: TLS version, optional TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. """ ... @overload @@ -469,10 +572,13 @@ def _internal_init(__self__, client_certificate_id: Optional[pulumi.Input[str]] = None, client_certificate_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, forward_protocol: Optional[pulumi.Input[str]] = None, + group_id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, port: Optional[pulumi.Input[int]] = None, protocol: Optional[pulumi.Input[str]] = None, proxy_id: Optional[pulumi.Input[str]] = None, + tls_ciphers: Optional[pulumi.Input[str]] = None, + tls_support_versions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -487,6 +593,7 @@ def _internal_init(__self__, __props__.__dict__["client_certificate_id"] = client_certificate_id __props__.__dict__["client_certificate_ids"] = client_certificate_ids __props__.__dict__["forward_protocol"] = forward_protocol + __props__.__dict__["group_id"] = group_id __props__.__dict__["name"] = name if port is None and not opts.urn: raise TypeError("Missing required property 'port'") @@ -494,9 +601,9 @@ def _internal_init(__self__, if protocol is None and not opts.urn: raise TypeError("Missing required property 'protocol'") __props__.__dict__["protocol"] = protocol - if proxy_id is None and not opts.urn: - raise TypeError("Missing required property 'proxy_id'") __props__.__dict__["proxy_id"] = proxy_id + __props__.__dict__["tls_ciphers"] = tls_ciphers + __props__.__dict__["tls_support_versions"] = tls_support_versions __props__.__dict__["create_time"] = None __props__.__dict__["status"] = None super(Layer7Listener, __self__).__init__( @@ -515,11 +622,14 @@ def get(resource_name: str, client_certificate_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, create_time: Optional[pulumi.Input[str]] = None, forward_protocol: Optional[pulumi.Input[str]] = None, + group_id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, port: Optional[pulumi.Input[int]] = None, protocol: Optional[pulumi.Input[str]] = None, proxy_id: Optional[pulumi.Input[str]] = None, - status: Optional[pulumi.Input[int]] = None) -> 'Layer7Listener': + status: Optional[pulumi.Input[int]] = None, + tls_ciphers: Optional[pulumi.Input[str]] = None, + tls_support_versions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'Layer7Listener': """ Get an existing Layer7Listener resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -533,11 +643,14 @@ def get(resource_name: str, :param pulumi.Input[Sequence[pulumi.Input[str]]] client_certificate_ids: ID list of the client certificate. Set only when `auth_type` is specified as mutual authentication. NOTES: Only supports listeners of `HTTPS` protocol. :param pulumi.Input[str] create_time: Creation time of the layer7 listener. :param pulumi.Input[str] forward_protocol: Protocol type of the forwarding. Valid value: `HTTP` and `HTTPS`. NOTES: Only supports listeners of `HTTPS` protocol. + :param pulumi.Input[str] group_id: Group ID. :param pulumi.Input[str] name: Name of the layer7 listener, the maximum length is 30. :param pulumi.Input[int] port: Port of the layer7 listener. :param pulumi.Input[str] protocol: Protocol of the layer7 listener. Valid value: `HTTP` and `HTTPS`. :param pulumi.Input[str] proxy_id: ID of the GAAP proxy. :param pulumi.Input[int] status: Status of the layer7 listener. + :param pulumi.Input[str] tls_ciphers: Password Suite, optional GAAP_TLS_CIPHERS_STRICT, GAAP_TLS_CIPHERS_GENERAL, GAAP_TLS_CIPHERS_WIDE(default). + :param pulumi.Input[Sequence[pulumi.Input[str]]] tls_support_versions: TLS version, optional TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -549,11 +662,14 @@ def get(resource_name: str, __props__.__dict__["client_certificate_ids"] = client_certificate_ids __props__.__dict__["create_time"] = create_time __props__.__dict__["forward_protocol"] = forward_protocol + __props__.__dict__["group_id"] = group_id __props__.__dict__["name"] = name __props__.__dict__["port"] = port __props__.__dict__["protocol"] = protocol __props__.__dict__["proxy_id"] = proxy_id __props__.__dict__["status"] = status + __props__.__dict__["tls_ciphers"] = tls_ciphers + __props__.__dict__["tls_support_versions"] = tls_support_versions return Layer7Listener(resource_name, opts=opts, __props__=__props__) @property @@ -607,6 +723,14 @@ def forward_protocol(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "forward_protocol") + @property + @pulumi.getter(name="groupId") + def group_id(self) -> pulumi.Output[Optional[str]]: + """ + Group ID. + """ + return pulumi.get(self, "group_id") + @property @pulumi.getter def name(self) -> pulumi.Output[str]: @@ -633,7 +757,7 @@ def protocol(self) -> pulumi.Output[str]: @property @pulumi.getter(name="proxyId") - def proxy_id(self) -> pulumi.Output[str]: + def proxy_id(self) -> pulumi.Output[Optional[str]]: """ ID of the GAAP proxy. """ @@ -647,3 +771,19 @@ def status(self) -> pulumi.Output[int]: """ return pulumi.get(self, "status") + @property + @pulumi.getter(name="tlsCiphers") + def tls_ciphers(self) -> pulumi.Output[str]: + """ + Password Suite, optional GAAP_TLS_CIPHERS_STRICT, GAAP_TLS_CIPHERS_GENERAL, GAAP_TLS_CIPHERS_WIDE(default). + """ + return pulumi.get(self, "tls_ciphers") + + @property + @pulumi.getter(name="tlsSupportVersions") + def tls_support_versions(self) -> pulumi.Output[Sequence[str]]: + """ + TLS version, optional TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. + """ + return pulumi.get(self, "tls_support_versions") + diff --git a/sdk/python/tencentcloud_iac_pulumi/gaap/outputs.py b/sdk/python/tencentcloud_iac_pulumi/gaap/outputs.py index 53eec2c3b..1e64eac98 100644 --- a/sdk/python/tencentcloud_iac_pulumi/gaap/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/gaap/outputs.py @@ -1100,6 +1100,7 @@ def __init__(__self__, *, domain: str, gaap_auth: bool, gaap_auth_id: str, + is_default_server: bool, realserver_auth: bool, realserver_certificate_domain: str, realserver_certificate_id: str, @@ -1113,6 +1114,7 @@ def __init__(__self__, *, :param str domain: Forward domain of the layer7 listener to be queried. :param bool gaap_auth: Indicates whether SSL certificate authentication is enable. :param str gaap_auth_id: ID of the SSL certificate. + :param bool is_default_server: Whether to use as the default domain name. :param bool realserver_auth: Indicates whether realserver authentication is enable. :param str realserver_certificate_domain: CA certificate domain of the realserver. :param str realserver_certificate_id: (**Deprecated**) It has been deprecated from version 1.28.0. Use `realserver_certificate_ids` instead. CA certificate ID of the realserver. @@ -1126,6 +1128,7 @@ def __init__(__self__, *, pulumi.set(__self__, "domain", domain) pulumi.set(__self__, "gaap_auth", gaap_auth) pulumi.set(__self__, "gaap_auth_id", gaap_auth_id) + pulumi.set(__self__, "is_default_server", is_default_server) pulumi.set(__self__, "realserver_auth", realserver_auth) pulumi.set(__self__, "realserver_certificate_domain", realserver_certificate_domain) pulumi.set(__self__, "realserver_certificate_id", realserver_certificate_id) @@ -1198,6 +1201,14 @@ def gaap_auth_id(self) -> str: """ return pulumi.get(self, "gaap_auth_id") + @property + @pulumi.getter(name="isDefaultServer") + def is_default_server(self) -> bool: + """ + Whether to use as the default domain name. + """ + return pulumi.get(self, "is_default_server") + @property @pulumi.getter(name="realserverAuth") def realserver_auth(self) -> bool: @@ -1643,7 +1654,9 @@ def __init__(__self__, *, port: int, protocol: str, proxy_id: str, - status: int): + status: int, + tls_ciphers: str, + tls_support_versions: Sequence[str]): """ :param int auth_type: Authentication type of the layer7 listener. `0` is one-way authentication and `1` is mutual authentication. :param str certificate_id: Certificate ID of the layer7 listener. @@ -1657,6 +1670,8 @@ def __init__(__self__, *, :param str protocol: Protocol of the layer7 listener to be queried. Valid values: `HTTP` and `HTTPS`. :param str proxy_id: ID of the GAAP proxy to be queried. :param int status: Status of the layer7 listener. + :param str tls_ciphers: Password Suite, optional GAAP_TLS_CIPHERS_STRICT, GAAP_TLS_CIPHERS_GENERAL, GAAP_TLS_CIPHERS_WIDE(default). + :param Sequence[str] tls_support_versions: TLS version, optional TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. """ pulumi.set(__self__, "auth_type", auth_type) pulumi.set(__self__, "certificate_id", certificate_id) @@ -1670,6 +1685,8 @@ def __init__(__self__, *, pulumi.set(__self__, "protocol", protocol) pulumi.set(__self__, "proxy_id", proxy_id) pulumi.set(__self__, "status", status) + pulumi.set(__self__, "tls_ciphers", tls_ciphers) + pulumi.set(__self__, "tls_support_versions", tls_support_versions) @property @pulumi.getter(name="authType") @@ -1770,6 +1787,22 @@ def status(self) -> int: """ return pulumi.get(self, "status") + @property + @pulumi.getter(name="tlsCiphers") + def tls_ciphers(self) -> str: + """ + Password Suite, optional GAAP_TLS_CIPHERS_STRICT, GAAP_TLS_CIPHERS_GENERAL, GAAP_TLS_CIPHERS_WIDE(default). + """ + return pulumi.get(self, "tls_ciphers") + + @property + @pulumi.getter(name="tlsSupportVersions") + def tls_support_versions(self) -> Sequence[str]: + """ + TLS version, optional TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. + """ + return pulumi.get(self, "tls_support_versions") + @pulumi.output_type class GetListenerRealServersBindRealServerSetResult(dict): @@ -2330,6 +2363,7 @@ def __init__(__self__, *, ip: str, ip_address_version: str, ip_lists: Sequence['outputs.GetProxyDetailProxyDetailIpListResult'], + is_support_tls_choice: int, modify_config_time: int, network_type: str, package_type: str, @@ -2366,6 +2400,7 @@ def __init__(__self__, *, :param str ip: IP. :param str ip_address_version: IP version: IPv4, IPv6Note: This field may return null, indicating that a valid value cannot be obtained. :param Sequence['GetProxyDetailProxyDetailIpListArgs'] ip_lists: IP ListNote: This field may return null, indicating that a valid value cannot be obtained. + :param int is_support_tls_choice: Whether to allow TLS configuration.0-no support, 1-expressed support. :param int modify_config_time: Configuration change timeNote: This field may return null, indicating that a valid value cannot be obtained. :param str network_type: A list of network types supported by the access area, with normal indicating support for regular BGP, cn2 indicating premium BGP, triple indicating three networks, and secure_EIP represents a custom secure EIP. :param str package_type: proxy package type: Thunder represents standard proxy, Accelerator represents silver acceleration proxy,CrossBorder represents a cross-border proxy.Note: This field may return null, indicating that a valid value cannot be obtained. @@ -2402,6 +2437,7 @@ def __init__(__self__, *, pulumi.set(__self__, "ip", ip) pulumi.set(__self__, "ip_address_version", ip_address_version) pulumi.set(__self__, "ip_lists", ip_lists) + pulumi.set(__self__, "is_support_tls_choice", is_support_tls_choice) pulumi.set(__self__, "modify_config_time", modify_config_time) pulumi.set(__self__, "network_type", network_type) pulumi.set(__self__, "package_type", package_type) @@ -2564,6 +2600,14 @@ def ip_lists(self) -> Sequence['outputs.GetProxyDetailProxyDetailIpListResult']: """ return pulumi.get(self, "ip_lists") + @property + @pulumi.getter(name="isSupportTlsChoice") + def is_support_tls_choice(self) -> int: + """ + Whether to allow TLS configuration.0-no support, 1-expressed support. + """ + return pulumi.get(self, "is_support_tls_choice") + @property @pulumi.getter(name="modifyConfigTime") def modify_config_time(self) -> int: 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..e1c023b75 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/identity/__init__.py @@ -0,0 +1,25 @@ +# 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_policies_attachment import * +from .center_role_configuration_permission_custom_policy_attachment import * +from .center_role_configuration_permission_policy_attachment import * +from .center_scim_credential import * +from .center_scim_credential_status import * +from .center_scim_synchronization_status import * +from .center_user import * +from .center_user_group_attachment import * +from .center_user_sync_provisioning import * +from .get_center_groups import * +from .get_center_role_configurations import * +from .get_center_users import * +from ._inputs import * +from . import outputs diff --git a/sdk/python/tencentcloud_iac_pulumi/identity/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/identity/_inputs.py new file mode 100644 index 000000000..c5da0477b --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/identity/_inputs.py @@ -0,0 +1,84 @@ +# 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__ = [ + 'CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs', +] + +@pulumi.input_type +class CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs: + def __init__(__self__, *, + role_policy_document: pulumi.Input[str], + role_policy_name: pulumi.Input[str], + add_time: Optional[pulumi.Input[str]] = None, + role_policy_type: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] role_policy_document: Role policy document. + :param pulumi.Input[str] role_policy_name: Role policy name. + :param pulumi.Input[str] add_time: Role policy add time. + :param pulumi.Input[str] role_policy_type: Role policy type. + """ + pulumi.set(__self__, "role_policy_document", role_policy_document) + pulumi.set(__self__, "role_policy_name", role_policy_name) + if add_time is not None: + pulumi.set(__self__, "add_time", add_time) + if role_policy_type is not None: + pulumi.set(__self__, "role_policy_type", role_policy_type) + + @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="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="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) + + 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_policies_attachment.py b/sdk/python/tencentcloud_iac_pulumi/identity/center_role_configuration_permission_custom_policies_attachment.py new file mode 100644 index 000000000..1910b8552 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/identity/center_role_configuration_permission_custom_policies_attachment.py @@ -0,0 +1,362 @@ +# 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__ = ['CenterRoleConfigurationPermissionCustomPoliciesAttachmentArgs', 'CenterRoleConfigurationPermissionCustomPoliciesAttachment'] + +@pulumi.input_type +class CenterRoleConfigurationPermissionCustomPoliciesAttachmentArgs: + def __init__(__self__, *, + policies: pulumi.Input[Sequence[pulumi.Input['CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs']]], + role_configuration_id: pulumi.Input[str], + zone_id: pulumi.Input[str]): + """ + The set of arguments for constructing a CenterRoleConfigurationPermissionCustomPoliciesAttachment resource. + :param pulumi.Input[Sequence[pulumi.Input['CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs']]] policies: Policies. + :param pulumi.Input[str] role_configuration_id: Permission configuration ID. + :param pulumi.Input[str] zone_id: Space ID. + """ + pulumi.set(__self__, "policies", policies) + pulumi.set(__self__, "role_configuration_id", role_configuration_id) + pulumi.set(__self__, "zone_id", zone_id) + + @property + @pulumi.getter + def policies(self) -> pulumi.Input[Sequence[pulumi.Input['CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs']]]: + """ + Policies. + """ + return pulumi.get(self, "policies") + + @policies.setter + def policies(self, value: pulumi.Input[Sequence[pulumi.Input['CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs']]]): + pulumi.set(self, "policies", 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="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 _CenterRoleConfigurationPermissionCustomPoliciesAttachmentState: + def __init__(__self__, *, + policies: Optional[pulumi.Input[Sequence[pulumi.Input['CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs']]]] = None, + role_configuration_id: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering CenterRoleConfigurationPermissionCustomPoliciesAttachment resources. + :param pulumi.Input[Sequence[pulumi.Input['CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs']]] policies: Policies. + :param pulumi.Input[str] role_configuration_id: Permission configuration ID. + :param pulumi.Input[str] zone_id: Space ID. + """ + if policies is not None: + pulumi.set(__self__, "policies", policies) + if role_configuration_id is not None: + pulumi.set(__self__, "role_configuration_id", role_configuration_id) + if zone_id is not None: + pulumi.set(__self__, "zone_id", zone_id) + + @property + @pulumi.getter + def policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs']]]]: + """ + Policies. + """ + return pulumi.get(self, "policies") + + @policies.setter + def policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs']]]]): + pulumi.set(self, "policies", 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="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 CenterRoleConfigurationPermissionCustomPoliciesAttachment(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + policies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs']]]]] = None, + role_configuration_id: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to create a organization Identity.CenterRoleConfigurationPermissionCustomPoliciesAttachment + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + identity_center_role_configuration_permission_custom_policies_attachment = tencentcloud.identity.CenterRoleConfigurationPermissionCustomPoliciesAttachment("identityCenterRoleConfigurationPermissionCustomPoliciesAttachment", + zone_id="z-xxxxxx", + role_configuration_id="rc-xxxxxx", + policies=[ + tencentcloud.identity.CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs( + role_policy_name="CustomPolicy2", + role_policy_document=\"\"\"{ + "version": "2.0", + "statement": [ + { + "effect": "allow", + "action": [ + "vpc:AcceptAttachCcnInstances" + ], + "resource": [ + "*" + ] + } + ] + } + \"\"\", + ), + tencentcloud.identity.CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs( + role_policy_name="CustomPolicy1", + role_policy_document=\"\"\"{ + "version": "2.0", + "statement": [ + { + "effect": "allow", + "action": [ + "vpc:AcceptAttachCcnInstances" + ], + "resource": [ + "*" + ] + } + ] + } + \"\"\", + ), + ]) + ``` + + + ## Import + + organization tencentcloud_identity_center_role_configuration_permission_custom_policies_attachment can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Identity/centerRoleConfigurationPermissionCustomPoliciesAttachment:CenterRoleConfigurationPermissionCustomPoliciesAttachment identity_center_role_configuration_permission_custom_policies_attachment ${zoneId}#${roleConfigurationId}#${rolePolicyName1},...${rolePolicyNameN} + ``` + + :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['CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs']]]] policies: Policies. + :param pulumi.Input[str] role_configuration_id: Permission configuration ID. + :param pulumi.Input[str] zone_id: Space ID. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: CenterRoleConfigurationPermissionCustomPoliciesAttachmentArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a organization Identity.CenterRoleConfigurationPermissionCustomPoliciesAttachment + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + identity_center_role_configuration_permission_custom_policies_attachment = tencentcloud.identity.CenterRoleConfigurationPermissionCustomPoliciesAttachment("identityCenterRoleConfigurationPermissionCustomPoliciesAttachment", + zone_id="z-xxxxxx", + role_configuration_id="rc-xxxxxx", + policies=[ + tencentcloud.identity.CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs( + role_policy_name="CustomPolicy2", + role_policy_document=\"\"\"{ + "version": "2.0", + "statement": [ + { + "effect": "allow", + "action": [ + "vpc:AcceptAttachCcnInstances" + ], + "resource": [ + "*" + ] + } + ] + } + \"\"\", + ), + tencentcloud.identity.CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs( + role_policy_name="CustomPolicy1", + role_policy_document=\"\"\"{ + "version": "2.0", + "statement": [ + { + "effect": "allow", + "action": [ + "vpc:AcceptAttachCcnInstances" + ], + "resource": [ + "*" + ] + } + ] + } + \"\"\", + ), + ]) + ``` + + + ## Import + + organization tencentcloud_identity_center_role_configuration_permission_custom_policies_attachment can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Identity/centerRoleConfigurationPermissionCustomPoliciesAttachment:CenterRoleConfigurationPermissionCustomPoliciesAttachment identity_center_role_configuration_permission_custom_policies_attachment ${zoneId}#${roleConfigurationId}#${rolePolicyName1},...${rolePolicyNameN} + ``` + + :param str resource_name: The name of the resource. + :param CenterRoleConfigurationPermissionCustomPoliciesAttachmentArgs 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(CenterRoleConfigurationPermissionCustomPoliciesAttachmentArgs, 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, + policies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs']]]]] = None, + role_configuration_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__ = CenterRoleConfigurationPermissionCustomPoliciesAttachmentArgs.__new__(CenterRoleConfigurationPermissionCustomPoliciesAttachmentArgs) + + if policies is None and not opts.urn: + raise TypeError("Missing required property 'policies'") + __props__.__dict__["policies"] = policies + 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 zone_id is None and not opts.urn: + raise TypeError("Missing required property 'zone_id'") + __props__.__dict__["zone_id"] = zone_id + super(CenterRoleConfigurationPermissionCustomPoliciesAttachment, __self__).__init__( + 'tencentcloud:Identity/centerRoleConfigurationPermissionCustomPoliciesAttachment:CenterRoleConfigurationPermissionCustomPoliciesAttachment', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + policies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs']]]]] = None, + role_configuration_id: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None) -> 'CenterRoleConfigurationPermissionCustomPoliciesAttachment': + """ + Get an existing CenterRoleConfigurationPermissionCustomPoliciesAttachment 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['CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicyArgs']]]] policies: Policies. + :param pulumi.Input[str] role_configuration_id: Permission configuration ID. + :param pulumi.Input[str] zone_id: Space ID. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _CenterRoleConfigurationPermissionCustomPoliciesAttachmentState.__new__(_CenterRoleConfigurationPermissionCustomPoliciesAttachmentState) + + __props__.__dict__["policies"] = policies + __props__.__dict__["role_configuration_id"] = role_configuration_id + __props__.__dict__["zone_id"] = zone_id + return CenterRoleConfigurationPermissionCustomPoliciesAttachment(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def policies(self) -> pulumi.Output[Sequence['outputs.CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicy']]: + """ + Policies. + """ + return pulumi.get(self, "policies") + + @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="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_scim_credential.py b/sdk/python/tencentcloud_iac_pulumi/identity/center_scim_credential.py new file mode 100644 index 000000000..aaad4fb58 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/identity/center_scim_credential.py @@ -0,0 +1,324 @@ +# 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__ = ['CenterScimCredentialArgs', 'CenterScimCredential'] + +@pulumi.input_type +class CenterScimCredentialArgs: + def __init__(__self__, *, + zone_id: pulumi.Input[str]): + """ + The set of arguments for constructing a CenterScimCredential resource. + :param pulumi.Input[str] zone_id: Space ID. z-prefix starts with 12 random digits/lowercase letters. + """ + pulumi.set(__self__, "zone_id", zone_id) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Input[str]: + """ + Space ID. z-prefix starts with 12 random digits/lowercase letters. + """ + 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 _CenterScimCredentialState: + def __init__(__self__, *, + create_time: Optional[pulumi.Input[str]] = None, + credential_id: Optional[pulumi.Input[str]] = None, + credential_type: Optional[pulumi.Input[str]] = None, + expire_time: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering CenterScimCredential resources. + :param pulumi.Input[str] create_time: SCIM create time. + :param pulumi.Input[str] credential_id: SCIM key ID. scimcred-prefix and followed by 12 random digits/lowercase letters. + :param pulumi.Input[str] credential_type: SCIM credential type. + :param pulumi.Input[str] expire_time: SCIM expire time. + :param pulumi.Input[str] status: SCIM key status, Enabled-On, Disabled-Closed. + :param pulumi.Input[str] zone_id: Space ID. z-prefix starts with 12 random digits/lowercase letters. + """ + if create_time is not None: + pulumi.set(__self__, "create_time", create_time) + if credential_id is not None: + pulumi.set(__self__, "credential_id", credential_id) + if credential_type is not None: + pulumi.set(__self__, "credential_type", credential_type) + if expire_time is not None: + pulumi.set(__self__, "expire_time", expire_time) + if status is not None: + pulumi.set(__self__, "status", status) + 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]]: + """ + SCIM 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="credentialId") + def credential_id(self) -> Optional[pulumi.Input[str]]: + """ + SCIM key ID. scimcred-prefix and followed by 12 random digits/lowercase letters. + """ + return pulumi.get(self, "credential_id") + + @credential_id.setter + def credential_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "credential_id", value) + + @property + @pulumi.getter(name="credentialType") + def credential_type(self) -> Optional[pulumi.Input[str]]: + """ + SCIM credential type. + """ + return pulumi.get(self, "credential_type") + + @credential_type.setter + def credential_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "credential_type", value) + + @property + @pulumi.getter(name="expireTime") + def expire_time(self) -> Optional[pulumi.Input[str]]: + """ + SCIM expire time. + """ + return pulumi.get(self, "expire_time") + + @expire_time.setter + def expire_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "expire_time", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[str]]: + """ + SCIM key status, Enabled-On, Disabled-Closed. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> Optional[pulumi.Input[str]]: + """ + Space ID. z-prefix starts with 12 random digits/lowercase letters. + """ + 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 CenterScimCredential(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + zone_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to create an identity center scim credential + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + identity_center_scim_credential = tencentcloud.identity.CenterScimCredential("identityCenterScimCredential", zone_id="z-xxxxxx") + ``` + + + ## Import + + organization identity_center_scim_credential can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Identity/centerScimCredential:CenterScimCredential identity_center_scim_credential ${zone_id}#${credential_id} + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] zone_id: Space ID. z-prefix starts with 12 random digits/lowercase letters. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: CenterScimCredentialArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create an identity center scim credential + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + identity_center_scim_credential = tencentcloud.identity.CenterScimCredential("identityCenterScimCredential", zone_id="z-xxxxxx") + ``` + + + ## Import + + organization identity_center_scim_credential can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Identity/centerScimCredential:CenterScimCredential identity_center_scim_credential ${zone_id}#${credential_id} + ``` + + :param str resource_name: The name of the resource. + :param CenterScimCredentialArgs 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(CenterScimCredentialArgs, 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, + 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__ = CenterScimCredentialArgs.__new__(CenterScimCredentialArgs) + + 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__["credential_id"] = None + __props__.__dict__["credential_type"] = None + __props__.__dict__["expire_time"] = None + __props__.__dict__["status"] = None + super(CenterScimCredential, __self__).__init__( + 'tencentcloud:Identity/centerScimCredential:CenterScimCredential', + 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, + credential_id: Optional[pulumi.Input[str]] = None, + credential_type: Optional[pulumi.Input[str]] = None, + expire_time: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None) -> 'CenterScimCredential': + """ + Get an existing CenterScimCredential 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: SCIM create time. + :param pulumi.Input[str] credential_id: SCIM key ID. scimcred-prefix and followed by 12 random digits/lowercase letters. + :param pulumi.Input[str] credential_type: SCIM credential type. + :param pulumi.Input[str] expire_time: SCIM expire time. + :param pulumi.Input[str] status: SCIM key status, Enabled-On, Disabled-Closed. + :param pulumi.Input[str] zone_id: Space ID. z-prefix starts with 12 random digits/lowercase letters. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _CenterScimCredentialState.__new__(_CenterScimCredentialState) + + __props__.__dict__["create_time"] = create_time + __props__.__dict__["credential_id"] = credential_id + __props__.__dict__["credential_type"] = credential_type + __props__.__dict__["expire_time"] = expire_time + __props__.__dict__["status"] = status + __props__.__dict__["zone_id"] = zone_id + return CenterScimCredential(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="createTime") + def create_time(self) -> pulumi.Output[str]: + """ + SCIM create time. + """ + return pulumi.get(self, "create_time") + + @property + @pulumi.getter(name="credentialId") + def credential_id(self) -> pulumi.Output[str]: + """ + SCIM key ID. scimcred-prefix and followed by 12 random digits/lowercase letters. + """ + return pulumi.get(self, "credential_id") + + @property + @pulumi.getter(name="credentialType") + def credential_type(self) -> pulumi.Output[str]: + """ + SCIM credential type. + """ + return pulumi.get(self, "credential_type") + + @property + @pulumi.getter(name="expireTime") + def expire_time(self) -> pulumi.Output[str]: + """ + SCIM expire time. + """ + return pulumi.get(self, "expire_time") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + SCIM key status, Enabled-On, Disabled-Closed. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Output[str]: + """ + Space ID. z-prefix starts with 12 random digits/lowercase letters. + """ + return pulumi.get(self, "zone_id") + diff --git a/sdk/python/tencentcloud_iac_pulumi/identity/center_scim_credential_status.py b/sdk/python/tencentcloud_iac_pulumi/identity/center_scim_credential_status.py new file mode 100644 index 000000000..c829b8b2e --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/identity/center_scim_credential_status.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__ = ['CenterScimCredentialStatusArgs', 'CenterScimCredentialStatus'] + +@pulumi.input_type +class CenterScimCredentialStatusArgs: + def __init__(__self__, *, + credential_id: pulumi.Input[str], + status: pulumi.Input[str], + zone_id: pulumi.Input[str]): + """ + The set of arguments for constructing a CenterScimCredentialStatus resource. + :param pulumi.Input[str] credential_id: SCIM key ID. scimcred-prefix and followed by 12 random digits/lowercase letters. + :param pulumi.Input[str] status: SCIM key status. Enabled-enabled. Disabled-disabled. + :param pulumi.Input[str] zone_id: Space ID. z-prefix starts with 12 random digits/lowercase letters. + """ + pulumi.set(__self__, "credential_id", credential_id) + pulumi.set(__self__, "status", status) + pulumi.set(__self__, "zone_id", zone_id) + + @property + @pulumi.getter(name="credentialId") + def credential_id(self) -> pulumi.Input[str]: + """ + SCIM key ID. scimcred-prefix and followed by 12 random digits/lowercase letters. + """ + return pulumi.get(self, "credential_id") + + @credential_id.setter + def credential_id(self, value: pulumi.Input[str]): + pulumi.set(self, "credential_id", value) + + @property + @pulumi.getter + def status(self) -> pulumi.Input[str]: + """ + SCIM key status. Enabled-enabled. Disabled-disabled. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: pulumi.Input[str]): + pulumi.set(self, "status", value) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Input[str]: + """ + Space ID. z-prefix starts with 12 random digits/lowercase letters. + """ + 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 _CenterScimCredentialStatusState: + def __init__(__self__, *, + credential_id: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering CenterScimCredentialStatus resources. + :param pulumi.Input[str] credential_id: SCIM key ID. scimcred-prefix and followed by 12 random digits/lowercase letters. + :param pulumi.Input[str] status: SCIM key status. Enabled-enabled. Disabled-disabled. + :param pulumi.Input[str] zone_id: Space ID. z-prefix starts with 12 random digits/lowercase letters. + """ + if credential_id is not None: + pulumi.set(__self__, "credential_id", credential_id) + if status is not None: + pulumi.set(__self__, "status", status) + if zone_id is not None: + pulumi.set(__self__, "zone_id", zone_id) + + @property + @pulumi.getter(name="credentialId") + def credential_id(self) -> Optional[pulumi.Input[str]]: + """ + SCIM key ID. scimcred-prefix and followed by 12 random digits/lowercase letters. + """ + return pulumi.get(self, "credential_id") + + @credential_id.setter + def credential_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "credential_id", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[str]]: + """ + SCIM key status. Enabled-enabled. Disabled-disabled. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> Optional[pulumi.Input[str]]: + """ + Space ID. z-prefix starts with 12 random digits/lowercase letters. + """ + 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 CenterScimCredentialStatus(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + credential_id: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to manage identity center scim credential status + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + identity_center_scim_credential_status = tencentcloud.identity.CenterScimCredentialStatus("identityCenterScimCredentialStatus", + credential_id="scimcred-xxxxxx", + status="Enabled", + zone_id="z-xxxxxx") + ``` + + + ## Import + + organization identity_center_scim_credential_status can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Identity/centerScimCredentialStatus:CenterScimCredentialStatus identity_center_scim_credential_status ${zone_id}#${credential_id} + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] credential_id: SCIM key ID. scimcred-prefix and followed by 12 random digits/lowercase letters. + :param pulumi.Input[str] status: SCIM key status. Enabled-enabled. Disabled-disabled. + :param pulumi.Input[str] zone_id: Space ID. z-prefix starts with 12 random digits/lowercase letters. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: CenterScimCredentialStatusArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to manage identity center scim credential status + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + identity_center_scim_credential_status = tencentcloud.identity.CenterScimCredentialStatus("identityCenterScimCredentialStatus", + credential_id="scimcred-xxxxxx", + status="Enabled", + zone_id="z-xxxxxx") + ``` + + + ## Import + + organization identity_center_scim_credential_status can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Identity/centerScimCredentialStatus:CenterScimCredentialStatus identity_center_scim_credential_status ${zone_id}#${credential_id} + ``` + + :param str resource_name: The name of the resource. + :param CenterScimCredentialStatusArgs 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(CenterScimCredentialStatusArgs, 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, + credential_id: Optional[pulumi.Input[str]] = None, + 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__ = CenterScimCredentialStatusArgs.__new__(CenterScimCredentialStatusArgs) + + if credential_id is None and not opts.urn: + raise TypeError("Missing required property 'credential_id'") + __props__.__dict__["credential_id"] = credential_id + if status is None and not opts.urn: + raise TypeError("Missing required property 'status'") + __props__.__dict__["status"] = status + if zone_id is None and not opts.urn: + raise TypeError("Missing required property 'zone_id'") + __props__.__dict__["zone_id"] = zone_id + super(CenterScimCredentialStatus, __self__).__init__( + 'tencentcloud:Identity/centerScimCredentialStatus:CenterScimCredentialStatus', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + credential_id: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None) -> 'CenterScimCredentialStatus': + """ + Get an existing CenterScimCredentialStatus 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] credential_id: SCIM key ID. scimcred-prefix and followed by 12 random digits/lowercase letters. + :param pulumi.Input[str] status: SCIM key status. Enabled-enabled. Disabled-disabled. + :param pulumi.Input[str] zone_id: Space ID. z-prefix starts with 12 random digits/lowercase letters. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _CenterScimCredentialStatusState.__new__(_CenterScimCredentialStatusState) + + __props__.__dict__["credential_id"] = credential_id + __props__.__dict__["status"] = status + __props__.__dict__["zone_id"] = zone_id + return CenterScimCredentialStatus(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="credentialId") + def credential_id(self) -> pulumi.Output[str]: + """ + SCIM key ID. scimcred-prefix and followed by 12 random digits/lowercase letters. + """ + return pulumi.get(self, "credential_id") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + SCIM key status. Enabled-enabled. Disabled-disabled. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Output[str]: + """ + Space ID. z-prefix starts with 12 random digits/lowercase letters. + """ + return pulumi.get(self, "zone_id") + diff --git a/sdk/python/tencentcloud_iac_pulumi/identity/center_scim_synchronization_status.py b/sdk/python/tencentcloud_iac_pulumi/identity/center_scim_synchronization_status.py new file mode 100644 index 000000000..44814bd34 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/identity/center_scim_synchronization_status.py @@ -0,0 +1,236 @@ +# 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__ = ['CenterScimSynchronizationStatusArgs', 'CenterScimSynchronizationStatus'] + +@pulumi.input_type +class CenterScimSynchronizationStatusArgs: + def __init__(__self__, *, + scim_synchronization_status: pulumi.Input[str], + zone_id: pulumi.Input[str]): + """ + The set of arguments for constructing a CenterScimSynchronizationStatus resource. + :param pulumi.Input[str] scim_synchronization_status: SCIM synchronization status. Enabled-enabled. Disabled-disables. + :param pulumi.Input[str] zone_id: Space ID. z-prefix starts with 12 random digits/lowercase letters. + """ + pulumi.set(__self__, "scim_synchronization_status", scim_synchronization_status) + pulumi.set(__self__, "zone_id", zone_id) + + @property + @pulumi.getter(name="scimSynchronizationStatus") + def scim_synchronization_status(self) -> pulumi.Input[str]: + """ + SCIM synchronization status. Enabled-enabled. Disabled-disables. + """ + return pulumi.get(self, "scim_synchronization_status") + + @scim_synchronization_status.setter + def scim_synchronization_status(self, value: pulumi.Input[str]): + pulumi.set(self, "scim_synchronization_status", value) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Input[str]: + """ + Space ID. z-prefix starts with 12 random digits/lowercase letters. + """ + 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 _CenterScimSynchronizationStatusState: + def __init__(__self__, *, + scim_synchronization_status: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering CenterScimSynchronizationStatus resources. + :param pulumi.Input[str] scim_synchronization_status: SCIM synchronization status. Enabled-enabled. Disabled-disables. + :param pulumi.Input[str] zone_id: Space ID. z-prefix starts with 12 random digits/lowercase letters. + """ + if scim_synchronization_status is not None: + pulumi.set(__self__, "scim_synchronization_status", scim_synchronization_status) + if zone_id is not None: + pulumi.set(__self__, "zone_id", zone_id) + + @property + @pulumi.getter(name="scimSynchronizationStatus") + def scim_synchronization_status(self) -> Optional[pulumi.Input[str]]: + """ + SCIM synchronization status. Enabled-enabled. Disabled-disables. + """ + return pulumi.get(self, "scim_synchronization_status") + + @scim_synchronization_status.setter + def scim_synchronization_status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "scim_synchronization_status", value) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> Optional[pulumi.Input[str]]: + """ + Space ID. z-prefix starts with 12 random digits/lowercase letters. + """ + 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 CenterScimSynchronizationStatus(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + scim_synchronization_status: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to manage identity center scim synchronization status + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + identity_center_scim_synchronization_status = tencentcloud.identity.CenterScimSynchronizationStatus("identityCenterScimSynchronizationStatus", + scim_synchronization_status="Enabled", + zone_id="z-xxxxxx") + ``` + + + ## Import + + organization identity_center_scim_synchronization_status can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Identity/centerScimSynchronizationStatus:CenterScimSynchronizationStatus identity_center_scim_synchronization_status ${zone_id} + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] scim_synchronization_status: SCIM synchronization status. Enabled-enabled. Disabled-disables. + :param pulumi.Input[str] zone_id: Space ID. z-prefix starts with 12 random digits/lowercase letters. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: CenterScimSynchronizationStatusArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to manage identity center scim synchronization status + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + identity_center_scim_synchronization_status = tencentcloud.identity.CenterScimSynchronizationStatus("identityCenterScimSynchronizationStatus", + scim_synchronization_status="Enabled", + zone_id="z-xxxxxx") + ``` + + + ## Import + + organization identity_center_scim_synchronization_status can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Identity/centerScimSynchronizationStatus:CenterScimSynchronizationStatus identity_center_scim_synchronization_status ${zone_id} + ``` + + :param str resource_name: The name of the resource. + :param CenterScimSynchronizationStatusArgs 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(CenterScimSynchronizationStatusArgs, 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, + scim_synchronization_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__ = CenterScimSynchronizationStatusArgs.__new__(CenterScimSynchronizationStatusArgs) + + if scim_synchronization_status is None and not opts.urn: + raise TypeError("Missing required property 'scim_synchronization_status'") + __props__.__dict__["scim_synchronization_status"] = scim_synchronization_status + if zone_id is None and not opts.urn: + raise TypeError("Missing required property 'zone_id'") + __props__.__dict__["zone_id"] = zone_id + super(CenterScimSynchronizationStatus, __self__).__init__( + 'tencentcloud:Identity/centerScimSynchronizationStatus:CenterScimSynchronizationStatus', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + scim_synchronization_status: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None) -> 'CenterScimSynchronizationStatus': + """ + Get an existing CenterScimSynchronizationStatus 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] scim_synchronization_status: SCIM synchronization status. Enabled-enabled. Disabled-disables. + :param pulumi.Input[str] zone_id: Space ID. z-prefix starts with 12 random digits/lowercase letters. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _CenterScimSynchronizationStatusState.__new__(_CenterScimSynchronizationStatusState) + + __props__.__dict__["scim_synchronization_status"] = scim_synchronization_status + __props__.__dict__["zone_id"] = zone_id + return CenterScimSynchronizationStatus(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="scimSynchronizationStatus") + def scim_synchronization_status(self) -> pulumi.Output[str]: + """ + SCIM synchronization status. Enabled-enabled. Disabled-disables. + """ + return pulumi.get(self, "scim_synchronization_status") + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Output[str]: + """ + Space ID. z-prefix starts with 12 random digits/lowercase letters. + """ + 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/identity/get_center_groups.py b/sdk/python/tencentcloud_iac_pulumi/identity/get_center_groups.py new file mode 100644 index 000000000..6699e0f9c --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/identity/get_center_groups.py @@ -0,0 +1,209 @@ +# 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__ = [ + 'GetCenterGroupsResult', + 'AwaitableGetCenterGroupsResult', + 'get_center_groups', + 'get_center_groups_output', +] + +@pulumi.output_type +class GetCenterGroupsResult: + """ + A collection of values returned by getCenterGroups. + """ + def __init__(__self__, filter=None, filter_users=None, group_type=None, groups=None, id=None, result_output_file=None, sort_field=None, sort_type=None, zone_id=None): + if filter and not isinstance(filter, str): + raise TypeError("Expected argument 'filter' to be a str") + pulumi.set(__self__, "filter", filter) + if filter_users and not isinstance(filter_users, list): + raise TypeError("Expected argument 'filter_users' to be a list") + pulumi.set(__self__, "filter_users", filter_users) + if group_type and not isinstance(group_type, str): + raise TypeError("Expected argument 'group_type' to be a str") + pulumi.set(__self__, "group_type", group_type) + if groups and not isinstance(groups, list): + raise TypeError("Expected argument 'groups' to be a list") + pulumi.set(__self__, "groups", groups) + 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 sort_field and not isinstance(sort_field, str): + raise TypeError("Expected argument 'sort_field' to be a str") + pulumi.set(__self__, "sort_field", sort_field) + if sort_type and not isinstance(sort_type, str): + raise TypeError("Expected argument 'sort_type' to be a str") + pulumi.set(__self__, "sort_type", sort_type) + if zone_id and not isinstance(zone_id, str): + raise TypeError("Expected argument 'zone_id' to be a str") + pulumi.set(__self__, "zone_id", zone_id) + + @property + @pulumi.getter + def filter(self) -> Optional[str]: + return pulumi.get(self, "filter") + + @property + @pulumi.getter(name="filterUsers") + def filter_users(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "filter_users") + + @property + @pulumi.getter(name="groupType") + def group_type(self) -> Optional[str]: + return pulumi.get(self, "group_type") + + @property + @pulumi.getter + def groups(self) -> Sequence['outputs.GetCenterGroupsGroupResult']: + """ + User group list. + """ + return pulumi.get(self, "groups") + + @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="sortField") + def sort_field(self) -> Optional[str]: + return pulumi.get(self, "sort_field") + + @property + @pulumi.getter(name="sortType") + def sort_type(self) -> Optional[str]: + return pulumi.get(self, "sort_type") + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> str: + return pulumi.get(self, "zone_id") + + +class AwaitableGetCenterGroupsResult(GetCenterGroupsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetCenterGroupsResult( + filter=self.filter, + filter_users=self.filter_users, + group_type=self.group_type, + groups=self.groups, + id=self.id, + result_output_file=self.result_output_file, + sort_field=self.sort_field, + sort_type=self.sort_type, + zone_id=self.zone_id) + + +def get_center_groups(filter: Optional[str] = None, + filter_users: Optional[Sequence[str]] = None, + group_type: Optional[str] = None, + result_output_file: Optional[str] = None, + sort_field: Optional[str] = None, + sort_type: Optional[str] = None, + zone_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetCenterGroupsResult: + """ + Use this data source to query detailed information of identity center groups + + ## Example Usage + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + identity_center_groups = tencentcloud.Identity.get_center_groups(zone_id="z-xxxxxx") + ``` + + + + :param str filter: Filter criterion. Format: , case-insensitive. Currently, supports only GroupName, and supports only eq (Equals) and sw (Start With). For example, Filter = "GroupName sw test" indicates querying all user groups with names starting with test; Filter = "GroupName eq testgroup" indicates querying the user group with the name testgroup. + :param Sequence[str] filter_users: Filtered user. IsSelected=1 will be returned for the user group associated with this user. + :param str group_type: User group type. Manual: manually created; Synchronized: externally imported. + :param str result_output_file: Used to save results. + :param str sort_field: Sorting field, which currently only supports CreateTime. The default is the CreateTime field. + :param str sort_type: Sorting type. Desc: descending order; Asc: ascending order. It should be set along with SortField. + :param str zone_id: Space ID. + """ + __args__ = dict() + __args__['filter'] = filter + __args__['filterUsers'] = filter_users + __args__['groupType'] = group_type + __args__['resultOutputFile'] = result_output_file + __args__['sortField'] = sort_field + __args__['sortType'] = sort_type + __args__['zoneId'] = zone_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('tencentcloud:Identity/getCenterGroups:getCenterGroups', __args__, opts=opts, typ=GetCenterGroupsResult).value + + return AwaitableGetCenterGroupsResult( + filter=pulumi.get(__ret__, 'filter'), + filter_users=pulumi.get(__ret__, 'filter_users'), + group_type=pulumi.get(__ret__, 'group_type'), + groups=pulumi.get(__ret__, 'groups'), + id=pulumi.get(__ret__, 'id'), + result_output_file=pulumi.get(__ret__, 'result_output_file'), + sort_field=pulumi.get(__ret__, 'sort_field'), + sort_type=pulumi.get(__ret__, 'sort_type'), + zone_id=pulumi.get(__ret__, 'zone_id')) + + +@_utilities.lift_output_func(get_center_groups) +def get_center_groups_output(filter: Optional[pulumi.Input[Optional[str]]] = None, + filter_users: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, + group_type: Optional[pulumi.Input[Optional[str]]] = None, + result_output_file: Optional[pulumi.Input[Optional[str]]] = None, + sort_field: Optional[pulumi.Input[Optional[str]]] = None, + sort_type: Optional[pulumi.Input[Optional[str]]] = None, + zone_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCenterGroupsResult]: + """ + Use this data source to query detailed information of identity center groups + + ## Example Usage + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + identity_center_groups = tencentcloud.Identity.get_center_groups(zone_id="z-xxxxxx") + ``` + + + + :param str filter: Filter criterion. Format: , case-insensitive. Currently, supports only GroupName, and supports only eq (Equals) and sw (Start With). For example, Filter = "GroupName sw test" indicates querying all user groups with names starting with test; Filter = "GroupName eq testgroup" indicates querying the user group with the name testgroup. + :param Sequence[str] filter_users: Filtered user. IsSelected=1 will be returned for the user group associated with this user. + :param str group_type: User group type. Manual: manually created; Synchronized: externally imported. + :param str result_output_file: Used to save results. + :param str sort_field: Sorting field, which currently only supports CreateTime. The default is the CreateTime field. + :param str sort_type: Sorting type. Desc: descending order; Asc: ascending order. It should be set along with SortField. + :param str zone_id: Space ID. + """ + ... diff --git a/sdk/python/tencentcloud_iac_pulumi/identity/get_center_role_configurations.py b/sdk/python/tencentcloud_iac_pulumi/identity/get_center_role_configurations.py new file mode 100644 index 000000000..3e416aed5 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/identity/get_center_role_configurations.py @@ -0,0 +1,179 @@ +# 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__ = [ + 'GetCenterRoleConfigurationsResult', + 'AwaitableGetCenterRoleConfigurationsResult', + 'get_center_role_configurations', + 'get_center_role_configurations_output', +] + +@pulumi.output_type +class GetCenterRoleConfigurationsResult: + """ + A collection of values returned by getCenterRoleConfigurations. + """ + def __init__(__self__, filter=None, filter_targets=None, id=None, principal_id=None, result_output_file=None, role_configurations=None, zone_id=None): + if filter and not isinstance(filter, str): + raise TypeError("Expected argument 'filter' to be a str") + pulumi.set(__self__, "filter", filter) + if filter_targets and not isinstance(filter_targets, list): + raise TypeError("Expected argument 'filter_targets' to be a list") + pulumi.set(__self__, "filter_targets", filter_targets) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if principal_id and not isinstance(principal_id, str): + raise TypeError("Expected argument 'principal_id' to be a str") + pulumi.set(__self__, "principal_id", principal_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 role_configurations and not isinstance(role_configurations, list): + raise TypeError("Expected argument 'role_configurations' to be a list") + pulumi.set(__self__, "role_configurations", role_configurations) + if zone_id and not isinstance(zone_id, str): + raise TypeError("Expected argument 'zone_id' to be a str") + pulumi.set(__self__, "zone_id", zone_id) + + @property + @pulumi.getter + def filter(self) -> Optional[str]: + return pulumi.get(self, "filter") + + @property + @pulumi.getter(name="filterTargets") + def filter_targets(self) -> Optional[Sequence[int]]: + return pulumi.get(self, "filter_targets") + + @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="principalId") + def principal_id(self) -> Optional[str]: + return pulumi.get(self, "principal_id") + + @property + @pulumi.getter(name="resultOutputFile") + def result_output_file(self) -> Optional[str]: + return pulumi.get(self, "result_output_file") + + @property + @pulumi.getter(name="roleConfigurations") + def role_configurations(self) -> Sequence['outputs.GetCenterRoleConfigurationsRoleConfigurationResult']: + """ + Permission configuration list. + """ + return pulumi.get(self, "role_configurations") + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> str: + return pulumi.get(self, "zone_id") + + +class AwaitableGetCenterRoleConfigurationsResult(GetCenterRoleConfigurationsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetCenterRoleConfigurationsResult( + filter=self.filter, + filter_targets=self.filter_targets, + id=self.id, + principal_id=self.principal_id, + result_output_file=self.result_output_file, + role_configurations=self.role_configurations, + zone_id=self.zone_id) + + +def get_center_role_configurations(filter: Optional[str] = None, + filter_targets: Optional[Sequence[int]] = None, + principal_id: Optional[str] = None, + result_output_file: Optional[str] = None, + zone_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetCenterRoleConfigurationsResult: + """ + Use this data source to query detailed information of identity center role configurations + + ## Example Usage + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + identity_center_role_configurations = tencentcloud.Identity.get_center_role_configurations(zone_id="z-xxxxxx") + ``` + + + + :param str filter: Filter criteria, which are case insensitive. Currently, only RoleConfigurationName is supported and only eq (Equals) and sw (Start With) are supported. Example: Filter = "RoleConfigurationName, only sw test" means querying all permission configurations starting with test. Filter = "RoleConfigurationName, only eq TestRoleConfiguration" means querying the permission configuration named TestRoleConfiguration. + :param Sequence[int] filter_targets: Check whether the member account has been configured with permissions. If configured, return IsSelected: true; otherwise, return false. + :param str principal_id: UserId of the authorized user or GroupId of the authorized user group, which must be set together with the input parameter FilterTargets. + :param str result_output_file: Used to save results. + :param str zone_id: Space ID. + """ + __args__ = dict() + __args__['filter'] = filter + __args__['filterTargets'] = filter_targets + __args__['principalId'] = principal_id + __args__['resultOutputFile'] = result_output_file + __args__['zoneId'] = zone_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('tencentcloud:Identity/getCenterRoleConfigurations:getCenterRoleConfigurations', __args__, opts=opts, typ=GetCenterRoleConfigurationsResult).value + + return AwaitableGetCenterRoleConfigurationsResult( + filter=pulumi.get(__ret__, 'filter'), + filter_targets=pulumi.get(__ret__, 'filter_targets'), + id=pulumi.get(__ret__, 'id'), + principal_id=pulumi.get(__ret__, 'principal_id'), + result_output_file=pulumi.get(__ret__, 'result_output_file'), + role_configurations=pulumi.get(__ret__, 'role_configurations'), + zone_id=pulumi.get(__ret__, 'zone_id')) + + +@_utilities.lift_output_func(get_center_role_configurations) +def get_center_role_configurations_output(filter: Optional[pulumi.Input[Optional[str]]] = None, + filter_targets: Optional[pulumi.Input[Optional[Sequence[int]]]] = None, + principal_id: Optional[pulumi.Input[Optional[str]]] = None, + result_output_file: Optional[pulumi.Input[Optional[str]]] = None, + zone_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCenterRoleConfigurationsResult]: + """ + Use this data source to query detailed information of identity center role configurations + + ## Example Usage + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + identity_center_role_configurations = tencentcloud.Identity.get_center_role_configurations(zone_id="z-xxxxxx") + ``` + + + + :param str filter: Filter criteria, which are case insensitive. Currently, only RoleConfigurationName is supported and only eq (Equals) and sw (Start With) are supported. Example: Filter = "RoleConfigurationName, only sw test" means querying all permission configurations starting with test. Filter = "RoleConfigurationName, only eq TestRoleConfiguration" means querying the permission configuration named TestRoleConfiguration. + :param Sequence[int] filter_targets: Check whether the member account has been configured with permissions. If configured, return IsSelected: true; otherwise, return false. + :param str principal_id: UserId of the authorized user or GroupId of the authorized user group, which must be set together with the input parameter FilterTargets. + :param str result_output_file: Used to save results. + :param str zone_id: Space ID. + """ + ... diff --git a/sdk/python/tencentcloud_iac_pulumi/identity/get_center_users.py b/sdk/python/tencentcloud_iac_pulumi/identity/get_center_users.py new file mode 100644 index 000000000..d82fc06ef --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/identity/get_center_users.py @@ -0,0 +1,224 @@ +# 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__ = [ + 'GetCenterUsersResult', + 'AwaitableGetCenterUsersResult', + 'get_center_users', + 'get_center_users_output', +] + +@pulumi.output_type +class GetCenterUsersResult: + """ + A collection of values returned by getCenterUsers. + """ + def __init__(__self__, filter=None, filter_groups=None, id=None, result_output_file=None, sort_field=None, sort_type=None, user_status=None, user_type=None, users=None, zone_id=None): + if filter and not isinstance(filter, str): + raise TypeError("Expected argument 'filter' to be a str") + pulumi.set(__self__, "filter", filter) + if filter_groups and not isinstance(filter_groups, list): + raise TypeError("Expected argument 'filter_groups' to be a list") + pulumi.set(__self__, "filter_groups", filter_groups) + 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 sort_field and not isinstance(sort_field, str): + raise TypeError("Expected argument 'sort_field' to be a str") + pulumi.set(__self__, "sort_field", sort_field) + if sort_type and not isinstance(sort_type, str): + raise TypeError("Expected argument 'sort_type' to be a str") + pulumi.set(__self__, "sort_type", sort_type) + if user_status and not isinstance(user_status, str): + raise TypeError("Expected argument 'user_status' to be a str") + pulumi.set(__self__, "user_status", user_status) + if user_type and not isinstance(user_type, str): + raise TypeError("Expected argument 'user_type' to be a str") + pulumi.set(__self__, "user_type", user_type) + if users and not isinstance(users, list): + raise TypeError("Expected argument 'users' to be a list") + pulumi.set(__self__, "users", users) + if zone_id and not isinstance(zone_id, str): + raise TypeError("Expected argument 'zone_id' to be a str") + pulumi.set(__self__, "zone_id", zone_id) + + @property + @pulumi.getter + def filter(self) -> Optional[str]: + return pulumi.get(self, "filter") + + @property + @pulumi.getter(name="filterGroups") + def filter_groups(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "filter_groups") + + @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="sortField") + def sort_field(self) -> Optional[str]: + return pulumi.get(self, "sort_field") + + @property + @pulumi.getter(name="sortType") + def sort_type(self) -> Optional[str]: + return pulumi.get(self, "sort_type") + + @property + @pulumi.getter(name="userStatus") + def user_status(self) -> Optional[str]: + return pulumi.get(self, "user_status") + + @property + @pulumi.getter(name="userType") + def user_type(self) -> Optional[str]: + return pulumi.get(self, "user_type") + + @property + @pulumi.getter + def users(self) -> Sequence['outputs.GetCenterUsersUserResult']: + """ + User list. + """ + return pulumi.get(self, "users") + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> str: + return pulumi.get(self, "zone_id") + + +class AwaitableGetCenterUsersResult(GetCenterUsersResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetCenterUsersResult( + filter=self.filter, + filter_groups=self.filter_groups, + id=self.id, + result_output_file=self.result_output_file, + sort_field=self.sort_field, + sort_type=self.sort_type, + user_status=self.user_status, + user_type=self.user_type, + users=self.users, + zone_id=self.zone_id) + + +def get_center_users(filter: Optional[str] = None, + filter_groups: Optional[Sequence[str]] = None, + result_output_file: Optional[str] = None, + sort_field: Optional[str] = None, + sort_type: Optional[str] = None, + user_status: Optional[str] = None, + user_type: Optional[str] = None, + zone_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetCenterUsersResult: + """ + Use this data source to query detailed information of identity center users + + ## Example Usage + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + identity_center_users = tencentcloud.Identity.get_center_users(zone_id="z-xxxxxx") + ``` + + + + :param str filter: Filter criterion, which currently only supports username, email address, userId, and description. + :param Sequence[str] filter_groups: Filtered user group. IsSelected=1 will be returned for the sub-user associated with this user group. + :param str result_output_file: Used to save results. + :param str sort_field: Sorting field, which currently only supports CreateTime. The default is the CreateTime field. + :param str sort_type: Sorting type. Desc: descending order; Asc: ascending order. It should be set along with SortField. + :param str user_status: User status: Enabled, Disabled. + :param str user_type: User type. Manual: manually created; Synchronized: externally imported. + :param str zone_id: Space ID. + """ + __args__ = dict() + __args__['filter'] = filter + __args__['filterGroups'] = filter_groups + __args__['resultOutputFile'] = result_output_file + __args__['sortField'] = sort_field + __args__['sortType'] = sort_type + __args__['userStatus'] = user_status + __args__['userType'] = user_type + __args__['zoneId'] = zone_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('tencentcloud:Identity/getCenterUsers:getCenterUsers', __args__, opts=opts, typ=GetCenterUsersResult).value + + return AwaitableGetCenterUsersResult( + filter=pulumi.get(__ret__, 'filter'), + filter_groups=pulumi.get(__ret__, 'filter_groups'), + id=pulumi.get(__ret__, 'id'), + result_output_file=pulumi.get(__ret__, 'result_output_file'), + sort_field=pulumi.get(__ret__, 'sort_field'), + sort_type=pulumi.get(__ret__, 'sort_type'), + user_status=pulumi.get(__ret__, 'user_status'), + user_type=pulumi.get(__ret__, 'user_type'), + users=pulumi.get(__ret__, 'users'), + zone_id=pulumi.get(__ret__, 'zone_id')) + + +@_utilities.lift_output_func(get_center_users) +def get_center_users_output(filter: Optional[pulumi.Input[Optional[str]]] = None, + filter_groups: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, + result_output_file: Optional[pulumi.Input[Optional[str]]] = None, + sort_field: Optional[pulumi.Input[Optional[str]]] = None, + sort_type: Optional[pulumi.Input[Optional[str]]] = None, + user_status: Optional[pulumi.Input[Optional[str]]] = None, + user_type: Optional[pulumi.Input[Optional[str]]] = None, + zone_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCenterUsersResult]: + """ + Use this data source to query detailed information of identity center users + + ## Example Usage + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + identity_center_users = tencentcloud.Identity.get_center_users(zone_id="z-xxxxxx") + ``` + + + + :param str filter: Filter criterion, which currently only supports username, email address, userId, and description. + :param Sequence[str] filter_groups: Filtered user group. IsSelected=1 will be returned for the sub-user associated with this user group. + :param str result_output_file: Used to save results. + :param str sort_field: Sorting field, which currently only supports CreateTime. The default is the CreateTime field. + :param str sort_type: Sorting type. Desc: descending order; Asc: ascending order. It should be set along with SortField. + :param str user_status: User status: Enabled, Disabled. + :param str user_type: User type. Manual: manually created; Synchronized: externally imported. + :param str zone_id: Space ID. + """ + ... diff --git a/sdk/python/tencentcloud_iac_pulumi/identity/outputs.py b/sdk/python/tencentcloud_iac_pulumi/identity/outputs.py new file mode 100644 index 000000000..ecfd63eee --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/identity/outputs.py @@ -0,0 +1,453 @@ +# 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__ = [ + 'CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicy', + 'GetCenterGroupsGroupResult', + 'GetCenterRoleConfigurationsRoleConfigurationResult', + 'GetCenterUsersUserResult', +] + +@pulumi.output_type +class CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicy(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "rolePolicyDocument": + suggest = "role_policy_document" + elif key == "rolePolicyName": + suggest = "role_policy_name" + elif key == "addTime": + suggest = "add_time" + elif key == "rolePolicyType": + suggest = "role_policy_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicy. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicy.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CenterRoleConfigurationPermissionCustomPoliciesAttachmentPolicy.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + role_policy_document: str, + role_policy_name: str, + add_time: Optional[str] = None, + role_policy_type: Optional[str] = None): + """ + :param str role_policy_document: Role policy document. + :param str role_policy_name: Role policy name. + :param str add_time: Role policy add time. + :param str role_policy_type: Role policy type. + """ + pulumi.set(__self__, "role_policy_document", role_policy_document) + pulumi.set(__self__, "role_policy_name", role_policy_name) + if add_time is not None: + pulumi.set(__self__, "add_time", add_time) + if role_policy_type is not None: + pulumi.set(__self__, "role_policy_type", role_policy_type) + + @property + @pulumi.getter(name="rolePolicyDocument") + def role_policy_document(self) -> str: + """ + Role policy document. + """ + return pulumi.get(self, "role_policy_document") + + @property + @pulumi.getter(name="rolePolicyName") + def role_policy_name(self) -> str: + """ + Role policy name. + """ + return pulumi.get(self, "role_policy_name") + + @property + @pulumi.getter(name="addTime") + def add_time(self) -> Optional[str]: + """ + Role policy add time. + """ + return pulumi.get(self, "add_time") + + @property + @pulumi.getter(name="rolePolicyType") + def role_policy_type(self) -> Optional[str]: + """ + Role policy type. + """ + return pulumi.get(self, "role_policy_type") + + +@pulumi.output_type +class GetCenterGroupsGroupResult(dict): + def __init__(__self__, *, + create_time: Optional[str] = None, + description: Optional[str] = None, + group_id: Optional[str] = None, + group_name: Optional[str] = None, + group_type: Optional[str] = None, + is_selected: Optional[bool] = None, + member_count: Optional[int] = None, + update_time: Optional[str] = None): + """ + :param str create_time: Creation time of the user group. + :param str description: User group description. + :param str group_id: User group ID. + :param str group_name: User group name. + :param str group_type: User group type. Manual: manually created; Synchronized: externally imported. + :param bool is_selected: If the input parameter FilterUsers is provided, return true when the user is in the user group; otherwise, return false. + :param int member_count: Number of group members. + :param str update_time: Modification time of the user group. + """ + 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 is_selected is not None: + pulumi.set(__self__, "is_selected", is_selected) + 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) + + @property + @pulumi.getter(name="createTime") + def create_time(self) -> Optional[str]: + """ + Creation time of the user group. + """ + return pulumi.get(self, "create_time") + + @property + @pulumi.getter + def description(self) -> Optional[str]: + """ + User group description. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="groupId") + def group_id(self) -> Optional[str]: + """ + User group ID. + """ + return pulumi.get(self, "group_id") + + @property + @pulumi.getter(name="groupName") + def group_name(self) -> Optional[str]: + """ + User group name. + """ + return pulumi.get(self, "group_name") + + @property + @pulumi.getter(name="groupType") + def group_type(self) -> Optional[str]: + """ + User group type. Manual: manually created; Synchronized: externally imported. + """ + return pulumi.get(self, "group_type") + + @property + @pulumi.getter(name="isSelected") + def is_selected(self) -> Optional[bool]: + """ + If the input parameter FilterUsers is provided, return true when the user is in the user group; otherwise, return false. + """ + return pulumi.get(self, "is_selected") + + @property + @pulumi.getter(name="memberCount") + def member_count(self) -> Optional[int]: + """ + Number of group members. + """ + return pulumi.get(self, "member_count") + + @property + @pulumi.getter(name="updateTime") + def update_time(self) -> Optional[str]: + """ + Modification time of the user group. + """ + return pulumi.get(self, "update_time") + + +@pulumi.output_type +class GetCenterRoleConfigurationsRoleConfigurationResult(dict): + def __init__(__self__, *, + create_time: Optional[str] = None, + description: Optional[str] = None, + is_selected: Optional[bool] = None, + relay_state: Optional[str] = None, + role_configuration_id: Optional[str] = None, + role_configuration_name: Optional[str] = None, + session_duration: Optional[int] = None, + update_time: Optional[str] = None): + """ + :param str create_time: Creation time of the permission configuration. + :param str description: Permission configuration description. + :param bool is_selected: If the input parameter FilterTargets is provided, check whether the member account has been configured with permissions. If configured, return true; otherwise, return false. + :param str relay_state: Initial access page. It indicates the initial access page URL when CIC users use the access configuration to access member accounts. + :param str role_configuration_id: Permission configuration ID. + :param str role_configuration_name: Permission configuration name. + :param int session_duration: Session duration. It indicates the maximum session duration when CIC users use the access configuration to access member accounts. + Unit: seconds. + :param str update_time: Update time of the permission configuration. + """ + 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_selected is not None: + pulumi.set(__self__, "is_selected", is_selected) + 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) + + @property + @pulumi.getter(name="createTime") + def create_time(self) -> Optional[str]: + """ + Creation time of the permission configuration. + """ + return pulumi.get(self, "create_time") + + @property + @pulumi.getter + def description(self) -> Optional[str]: + """ + Permission configuration description. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="isSelected") + def is_selected(self) -> Optional[bool]: + """ + If the input parameter FilterTargets is provided, check whether the member account has been configured with permissions. If configured, return true; otherwise, return false. + """ + return pulumi.get(self, "is_selected") + + @property + @pulumi.getter(name="relayState") + def relay_state(self) -> Optional[str]: + """ + Initial access page. It indicates the initial access page URL when CIC users use the access configuration to access member accounts. + """ + return pulumi.get(self, "relay_state") + + @property + @pulumi.getter(name="roleConfigurationId") + def role_configuration_id(self) -> Optional[str]: + """ + Permission configuration ID. + """ + return pulumi.get(self, "role_configuration_id") + + @property + @pulumi.getter(name="roleConfigurationName") + def role_configuration_name(self) -> Optional[str]: + """ + Permission configuration name. + """ + return pulumi.get(self, "role_configuration_name") + + @property + @pulumi.getter(name="sessionDuration") + def session_duration(self) -> Optional[int]: + """ + Session duration. It indicates the maximum session duration when CIC users use the access configuration to access member accounts. + Unit: seconds. + """ + return pulumi.get(self, "session_duration") + + @property + @pulumi.getter(name="updateTime") + def update_time(self) -> Optional[str]: + """ + Update time of the permission configuration. + """ + return pulumi.get(self, "update_time") + + +@pulumi.output_type +class GetCenterUsersUserResult(dict): + def __init__(__self__, *, + create_time: Optional[str] = None, + description: Optional[str] = None, + display_name: Optional[str] = None, + email: Optional[str] = None, + first_name: Optional[str] = None, + is_selected: Optional[bool] = None, + last_name: Optional[str] = None, + update_time: Optional[str] = None, + user_id: Optional[str] = None, + user_name: Optional[str] = None, + user_status: Optional[str] = None, + user_type: Optional[str] = None): + """ + :param str create_time: Creation time of the user. + :param str description: User description. + :param str display_name: Display name of the user. + :param str email: Email address of the user, which must be unique within the directory. + :param str first_name: First name of the user. + :param bool is_selected: Whether selected. + :param str last_name: Last name of the user. + :param str update_time: Modification time of the user. + :param str user_id: User ID. + :param str user_name: Queried username. + :param str user_status: User status: Enabled, Disabled. + :param str user_type: User type. Manual: manually created; Synchronized: externally imported. + """ + 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 is_selected is not None: + pulumi.set(__self__, "is_selected", is_selected) + 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) + + @property + @pulumi.getter(name="createTime") + def create_time(self) -> Optional[str]: + """ + Creation time of the user. + """ + return pulumi.get(self, "create_time") + + @property + @pulumi.getter + def description(self) -> Optional[str]: + """ + User description. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[str]: + """ + Display name of the user. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def email(self) -> Optional[str]: + """ + Email address of the user, which must be unique within the directory. + """ + return pulumi.get(self, "email") + + @property + @pulumi.getter(name="firstName") + def first_name(self) -> Optional[str]: + """ + First name of the user. + """ + return pulumi.get(self, "first_name") + + @property + @pulumi.getter(name="isSelected") + def is_selected(self) -> Optional[bool]: + """ + Whether selected. + """ + return pulumi.get(self, "is_selected") + + @property + @pulumi.getter(name="lastName") + def last_name(self) -> Optional[str]: + """ + Last name of the user. + """ + return pulumi.get(self, "last_name") + + @property + @pulumi.getter(name="updateTime") + def update_time(self) -> Optional[str]: + """ + Modification time of the user. + """ + return pulumi.get(self, "update_time") + + @property + @pulumi.getter(name="userId") + def user_id(self) -> Optional[str]: + """ + User ID. + """ + return pulumi.get(self, "user_id") + + @property + @pulumi.getter(name="userName") + def user_name(self) -> Optional[str]: + """ + Queried username. + """ + return pulumi.get(self, "user_name") + + @property + @pulumi.getter(name="userStatus") + def user_status(self) -> Optional[str]: + """ + User status: Enabled, Disabled. + """ + return pulumi.get(self, "user_status") + + @property + @pulumi.getter(name="userType") + def user_type(self) -> Optional[str]: + """ + User type. Manual: manually created; Synchronized: externally imported. + """ + return pulumi.get(self, "user_type") + + diff --git a/sdk/python/tencentcloud_iac_pulumi/image/__init__.py b/sdk/python/tencentcloud_iac_pulumi/image/__init__.py index 51e1d86d0..49c758443 100644 --- a/sdk/python/tencentcloud_iac_pulumi/image/__init__.py +++ b/sdk/python/tencentcloud_iac_pulumi/image/__init__.py @@ -5,6 +5,7 @@ from .. import _utilities import typing # Export this package's modules as members: +from .get_from_family import * from .get_instance import * from .instance import * from ._inputs import * diff --git a/sdk/python/tencentcloud_iac_pulumi/image/get_from_family.py b/sdk/python/tencentcloud_iac_pulumi/image/get_from_family.py new file mode 100644 index 000000000..81e8e723b --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/image/get_from_family.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__ = [ + 'GetFromFamilyResult', + 'AwaitableGetFromFamilyResult', + 'get_from_family', + 'get_from_family_output', +] + +@pulumi.output_type +class GetFromFamilyResult: + """ + A collection of values returned by getFromFamily. + """ + def __init__(__self__, id=None, image_family=None, images=None, result_output_file=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if image_family and not isinstance(image_family, str): + raise TypeError("Expected argument 'image_family' to be a str") + pulumi.set(__self__, "image_family", image_family) + if images and not isinstance(images, list): + raise TypeError("Expected argument 'images' to be a list") + pulumi.set(__self__, "images", images) + 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 id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="imageFamily") + def image_family(self) -> str: + return pulumi.get(self, "image_family") + + @property + @pulumi.getter + def images(self) -> Sequence['outputs.GetFromFamilyImageResult']: + """ + Information of Image. + """ + return pulumi.get(self, "images") + + @property + @pulumi.getter(name="resultOutputFile") + def result_output_file(self) -> Optional[str]: + return pulumi.get(self, "result_output_file") + + +class AwaitableGetFromFamilyResult(GetFromFamilyResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetFromFamilyResult( + id=self.id, + image_family=self.image_family, + images=self.images, + result_output_file=self.result_output_file) + + +def get_from_family(image_family: Optional[str] = None, + result_output_file: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetFromFamilyResult: + """ + Provides query image from family. + + ## Example Usage + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + example = tencentcloud.Image.get_from_family(image_family="business-daily-update") + ``` + + + + :param str image_family: Image family name. + :param str result_output_file: Used to save results. + """ + __args__ = dict() + __args__['imageFamily'] = image_family + __args__['resultOutputFile'] = result_output_file + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('tencentcloud:Image/getFromFamily:getFromFamily', __args__, opts=opts, typ=GetFromFamilyResult).value + + return AwaitableGetFromFamilyResult( + id=pulumi.get(__ret__, 'id'), + image_family=pulumi.get(__ret__, 'image_family'), + images=pulumi.get(__ret__, 'images'), + result_output_file=pulumi.get(__ret__, 'result_output_file')) + + +@_utilities.lift_output_func(get_from_family) +def get_from_family_output(image_family: Optional[pulumi.Input[str]] = None, + result_output_file: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetFromFamilyResult]: + """ + Provides query image from family. + + ## Example Usage + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + example = tencentcloud.Image.get_from_family(image_family="business-daily-update") + ``` + + + + :param str image_family: Image family name. + :param str result_output_file: Used to save results. + """ + ... diff --git a/sdk/python/tencentcloud_iac_pulumi/image/instance.py b/sdk/python/tencentcloud_iac_pulumi/image/instance.py index fc7fb5e74..a2f5a73dd 100644 --- a/sdk/python/tencentcloud_iac_pulumi/image/instance.py +++ b/sdk/python/tencentcloud_iac_pulumi/image/instance.py @@ -18,6 +18,7 @@ def __init__(__self__, *, data_disk_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, force_poweroff: Optional[pulumi.Input[bool]] = None, image_description: Optional[pulumi.Input[str]] = None, + image_family: Optional[pulumi.Input[str]] = None, instance_id: Optional[pulumi.Input[str]] = None, snapshot_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, sysprep: Optional[pulumi.Input[bool]] = None, @@ -28,6 +29,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] data_disk_ids: Cloud disk ID list, When creating a whole machine image based on an instance, specify the data disk ID contained in the image. :param pulumi.Input[bool] force_poweroff: Set whether to force shutdown during mirroring. The default value is `false`, when set to true, it means that the mirror will be made after shutdown. :param pulumi.Input[str] image_description: Image Description. + :param pulumi.Input[str] image_family: Set image family. Example value: `business-daily-update`. :param pulumi.Input[str] instance_id: Cloud server instance ID. :param pulumi.Input[Sequence[pulumi.Input[str]]] snapshot_ids: Cloud disk snapshot ID list; creating a mirror based on a snapshot must include a system disk snapshot. It cannot be passed in simultaneously with InstanceId. :param pulumi.Input[bool] sysprep: Sysprep function under Windows. When creating a Windows image, you can select true or false to enable or disable the Syspre function. @@ -40,6 +42,8 @@ def __init__(__self__, *, pulumi.set(__self__, "force_poweroff", force_poweroff) if image_description is not None: pulumi.set(__self__, "image_description", image_description) + if image_family is not None: + pulumi.set(__self__, "image_family", image_family) if instance_id is not None: pulumi.set(__self__, "instance_id", instance_id) if snapshot_ids is not None: @@ -97,6 +101,18 @@ def image_description(self) -> Optional[pulumi.Input[str]]: def image_description(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "image_description", value) + @property + @pulumi.getter(name="imageFamily") + def image_family(self) -> Optional[pulumi.Input[str]]: + """ + Set image family. Example value: `business-daily-update`. + """ + return pulumi.get(self, "image_family") + + @image_family.setter + def image_family(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "image_family", value) + @property @pulumi.getter(name="instanceId") def instance_id(self) -> Optional[pulumi.Input[str]]: @@ -152,6 +168,7 @@ def __init__(__self__, *, data_disk_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, force_poweroff: Optional[pulumi.Input[bool]] = None, image_description: Optional[pulumi.Input[str]] = None, + image_family: Optional[pulumi.Input[str]] = None, image_name: Optional[pulumi.Input[str]] = None, instance_id: Optional[pulumi.Input[str]] = None, snapshot_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -162,6 +179,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] data_disk_ids: Cloud disk ID list, When creating a whole machine image based on an instance, specify the data disk ID contained in the image. :param pulumi.Input[bool] force_poweroff: Set whether to force shutdown during mirroring. The default value is `false`, when set to true, it means that the mirror will be made after shutdown. :param pulumi.Input[str] image_description: Image Description. + :param pulumi.Input[str] image_family: Set image family. Example value: `business-daily-update`. :param pulumi.Input[str] image_name: Image name. :param pulumi.Input[str] instance_id: Cloud server instance ID. :param pulumi.Input[Sequence[pulumi.Input[str]]] snapshot_ids: Cloud disk snapshot ID list; creating a mirror based on a snapshot must include a system disk snapshot. It cannot be passed in simultaneously with InstanceId. @@ -174,6 +192,8 @@ def __init__(__self__, *, pulumi.set(__self__, "force_poweroff", force_poweroff) if image_description is not None: pulumi.set(__self__, "image_description", image_description) + if image_family is not None: + pulumi.set(__self__, "image_family", image_family) if image_name is not None: pulumi.set(__self__, "image_name", image_name) if instance_id is not None: @@ -221,6 +241,18 @@ def image_description(self) -> Optional[pulumi.Input[str]]: def image_description(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "image_description", value) + @property + @pulumi.getter(name="imageFamily") + def image_family(self) -> Optional[pulumi.Input[str]]: + """ + Set image family. Example value: `business-daily-update`. + """ + return pulumi.get(self, "image_family") + + @image_family.setter + def image_family(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "image_family", value) + @property @pulumi.getter(name="imageName") def image_name(self) -> Optional[pulumi.Input[str]]: @@ -290,6 +322,7 @@ def __init__(__self__, data_disk_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, force_poweroff: Optional[pulumi.Input[bool]] = None, image_description: Optional[pulumi.Input[str]] = None, + image_family: Optional[pulumi.Input[str]] = None, image_name: Optional[pulumi.Input[str]] = None, instance_id: Optional[pulumi.Input[str]] = None, snapshot_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -317,6 +350,22 @@ def __init__(__self__, ``` + ### Use image family + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + image_family = tencentcloud.image.Instance("imageFamily", + data_disk_ids=[], + image_description="create image with snapshot 12323", + image_family="business-daily-update", + image_name="image-family-test123", + snapshot_ids=["snap-7uuvrcoj"]) + ``` + + ## Import image instance can be imported using the id, e.g. @@ -330,6 +379,7 @@ def __init__(__self__, :param pulumi.Input[Sequence[pulumi.Input[str]]] data_disk_ids: Cloud disk ID list, When creating a whole machine image based on an instance, specify the data disk ID contained in the image. :param pulumi.Input[bool] force_poweroff: Set whether to force shutdown during mirroring. The default value is `false`, when set to true, it means that the mirror will be made after shutdown. :param pulumi.Input[str] image_description: Image Description. + :param pulumi.Input[str] image_family: Set image family. Example value: `business-daily-update`. :param pulumi.Input[str] image_name: Image name. :param pulumi.Input[str] instance_id: Cloud server instance ID. :param pulumi.Input[Sequence[pulumi.Input[str]]] snapshot_ids: Cloud disk snapshot ID list; creating a mirror based on a snapshot must include a system disk snapshot. It cannot be passed in simultaneously with InstanceId. @@ -363,6 +413,22 @@ def __init__(__self__, ``` + ### Use image family + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + image_family = tencentcloud.image.Instance("imageFamily", + data_disk_ids=[], + image_description="create image with snapshot 12323", + image_family="business-daily-update", + image_name="image-family-test123", + snapshot_ids=["snap-7uuvrcoj"]) + ``` + + ## Import image instance can be imported using the id, e.g. @@ -389,6 +455,7 @@ def _internal_init(__self__, data_disk_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, force_poweroff: Optional[pulumi.Input[bool]] = None, image_description: Optional[pulumi.Input[str]] = None, + image_family: Optional[pulumi.Input[str]] = None, image_name: Optional[pulumi.Input[str]] = None, instance_id: Optional[pulumi.Input[str]] = None, snapshot_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -406,6 +473,7 @@ def _internal_init(__self__, __props__.__dict__["data_disk_ids"] = data_disk_ids __props__.__dict__["force_poweroff"] = force_poweroff __props__.__dict__["image_description"] = image_description + __props__.__dict__["image_family"] = image_family if image_name is None and not opts.urn: raise TypeError("Missing required property 'image_name'") __props__.__dict__["image_name"] = image_name @@ -426,6 +494,7 @@ def get(resource_name: str, data_disk_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, force_poweroff: Optional[pulumi.Input[bool]] = None, image_description: Optional[pulumi.Input[str]] = None, + image_family: Optional[pulumi.Input[str]] = None, image_name: Optional[pulumi.Input[str]] = None, instance_id: Optional[pulumi.Input[str]] = None, snapshot_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -441,6 +510,7 @@ def get(resource_name: str, :param pulumi.Input[Sequence[pulumi.Input[str]]] data_disk_ids: Cloud disk ID list, When creating a whole machine image based on an instance, specify the data disk ID contained in the image. :param pulumi.Input[bool] force_poweroff: Set whether to force shutdown during mirroring. The default value is `false`, when set to true, it means that the mirror will be made after shutdown. :param pulumi.Input[str] image_description: Image Description. + :param pulumi.Input[str] image_family: Set image family. Example value: `business-daily-update`. :param pulumi.Input[str] image_name: Image name. :param pulumi.Input[str] instance_id: Cloud server instance ID. :param pulumi.Input[Sequence[pulumi.Input[str]]] snapshot_ids: Cloud disk snapshot ID list; creating a mirror based on a snapshot must include a system disk snapshot. It cannot be passed in simultaneously with InstanceId. @@ -454,6 +524,7 @@ def get(resource_name: str, __props__.__dict__["data_disk_ids"] = data_disk_ids __props__.__dict__["force_poweroff"] = force_poweroff __props__.__dict__["image_description"] = image_description + __props__.__dict__["image_family"] = image_family __props__.__dict__["image_name"] = image_name __props__.__dict__["instance_id"] = instance_id __props__.__dict__["snapshot_ids"] = snapshot_ids @@ -485,6 +556,14 @@ def image_description(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "image_description") + @property + @pulumi.getter(name="imageFamily") + def image_family(self) -> pulumi.Output[Optional[str]]: + """ + Set image family. Example value: `business-daily-update`. + """ + return pulumi.get(self, "image_family") + @property @pulumi.getter(name="imageName") def image_name(self) -> pulumi.Output[str]: diff --git a/sdk/python/tencentcloud_iac_pulumi/image/outputs.py b/sdk/python/tencentcloud_iac_pulumi/image/outputs.py index 5f802a253..0879faf6d 100644 --- a/sdk/python/tencentcloud_iac_pulumi/image/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/image/outputs.py @@ -8,11 +8,300 @@ import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload from .. import _utilities +from . import outputs __all__ = [ + 'GetFromFamilyImageResult', + 'GetFromFamilyImageSnapshotSetResult', + 'GetFromFamilyImageTagResult', 'GetInstanceFilterResult', ] +@pulumi.output_type +class GetFromFamilyImageResult(dict): + def __init__(__self__, *, + architecture: str, + created_time: str, + image_creator: str, + image_deprecated: bool, + image_description: str, + image_family: str, + image_id: str, + image_name: str, + image_size: int, + image_source: str, + image_state: str, + image_type: str, + is_support_cloudinit: bool, + license_type: str, + os_name: str, + platform: str, + snapshot_sets: Sequence['outputs.GetFromFamilyImageSnapshotSetResult'], + sync_percent: int, + tags: Sequence['outputs.GetFromFamilyImageTagResult']): + """ + :param str architecture: Image architecture. + :param str created_time: Creation time of the image. + :param str image_creator: Image creator. + :param bool image_deprecated: If Image Deprecated. + :param str image_description: Image description. + :param str image_family: Image family name. + :param str image_id: Image ID. + :param str image_name: Image name. + :param int image_size: Image size. + :param str image_source: Image source. + :param str image_state: Image state. + :param str image_type: Image type. + :param bool is_support_cloudinit: Whether the image supports cloud-init. + :param str license_type: Image license type. + :param str os_name: Operating system of the image. + :param str platform: Source platform of the image. + :param Sequence['GetFromFamilyImageSnapshotSetArgs'] snapshot_sets: Information on the snapshots associated with the image. + :param int sync_percent: Synchronization percentage. + :param Sequence['GetFromFamilyImageTagArgs'] tags: The list of tags bound to the image. + """ + pulumi.set(__self__, "architecture", architecture) + pulumi.set(__self__, "created_time", created_time) + pulumi.set(__self__, "image_creator", image_creator) + pulumi.set(__self__, "image_deprecated", image_deprecated) + pulumi.set(__self__, "image_description", image_description) + pulumi.set(__self__, "image_family", image_family) + pulumi.set(__self__, "image_id", image_id) + pulumi.set(__self__, "image_name", image_name) + pulumi.set(__self__, "image_size", image_size) + pulumi.set(__self__, "image_source", image_source) + pulumi.set(__self__, "image_state", image_state) + pulumi.set(__self__, "image_type", image_type) + pulumi.set(__self__, "is_support_cloudinit", is_support_cloudinit) + pulumi.set(__self__, "license_type", license_type) + pulumi.set(__self__, "os_name", os_name) + pulumi.set(__self__, "platform", platform) + pulumi.set(__self__, "snapshot_sets", snapshot_sets) + pulumi.set(__self__, "sync_percent", sync_percent) + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def architecture(self) -> str: + """ + Image architecture. + """ + return pulumi.get(self, "architecture") + + @property + @pulumi.getter(name="createdTime") + def created_time(self) -> str: + """ + Creation time of the image. + """ + return pulumi.get(self, "created_time") + + @property + @pulumi.getter(name="imageCreator") + def image_creator(self) -> str: + """ + Image creator. + """ + return pulumi.get(self, "image_creator") + + @property + @pulumi.getter(name="imageDeprecated") + def image_deprecated(self) -> bool: + """ + If Image Deprecated. + """ + return pulumi.get(self, "image_deprecated") + + @property + @pulumi.getter(name="imageDescription") + def image_description(self) -> str: + """ + Image description. + """ + return pulumi.get(self, "image_description") + + @property + @pulumi.getter(name="imageFamily") + def image_family(self) -> str: + """ + Image family name. + """ + return pulumi.get(self, "image_family") + + @property + @pulumi.getter(name="imageId") + def image_id(self) -> str: + """ + Image ID. + """ + return pulumi.get(self, "image_id") + + @property + @pulumi.getter(name="imageName") + def image_name(self) -> str: + """ + Image name. + """ + return pulumi.get(self, "image_name") + + @property + @pulumi.getter(name="imageSize") + def image_size(self) -> int: + """ + Image size. + """ + return pulumi.get(self, "image_size") + + @property + @pulumi.getter(name="imageSource") + def image_source(self) -> str: + """ + Image source. + """ + return pulumi.get(self, "image_source") + + @property + @pulumi.getter(name="imageState") + def image_state(self) -> str: + """ + Image state. + """ + return pulumi.get(self, "image_state") + + @property + @pulumi.getter(name="imageType") + def image_type(self) -> str: + """ + Image type. + """ + return pulumi.get(self, "image_type") + + @property + @pulumi.getter(name="isSupportCloudinit") + def is_support_cloudinit(self) -> bool: + """ + Whether the image supports cloud-init. + """ + return pulumi.get(self, "is_support_cloudinit") + + @property + @pulumi.getter(name="licenseType") + def license_type(self) -> str: + """ + Image license type. + """ + return pulumi.get(self, "license_type") + + @property + @pulumi.getter(name="osName") + def os_name(self) -> str: + """ + Operating system of the image. + """ + return pulumi.get(self, "os_name") + + @property + @pulumi.getter + def platform(self) -> str: + """ + Source platform of the image. + """ + return pulumi.get(self, "platform") + + @property + @pulumi.getter(name="snapshotSets") + def snapshot_sets(self) -> Sequence['outputs.GetFromFamilyImageSnapshotSetResult']: + """ + Information on the snapshots associated with the image. + """ + return pulumi.get(self, "snapshot_sets") + + @property + @pulumi.getter(name="syncPercent") + def sync_percent(self) -> int: + """ + Synchronization percentage. + """ + return pulumi.get(self, "sync_percent") + + @property + @pulumi.getter + def tags(self) -> Sequence['outputs.GetFromFamilyImageTagResult']: + """ + The list of tags bound to the image. + """ + return pulumi.get(self, "tags") + + +@pulumi.output_type +class GetFromFamilyImageSnapshotSetResult(dict): + def __init__(__self__, *, + disk_size: int, + disk_usage: str, + snapshot_id: str): + """ + :param int disk_size: Size of the cloud disk used to create the snapshot, unit(GB). + :param str disk_usage: Type of the cloud disk used to create the snapshot. Valid values: YSTEM_DISK: system disk, DATA_DISK: data disk. + :param str snapshot_id: Snapshot ID. + """ + pulumi.set(__self__, "disk_size", disk_size) + pulumi.set(__self__, "disk_usage", disk_usage) + pulumi.set(__self__, "snapshot_id", snapshot_id) + + @property + @pulumi.getter(name="diskSize") + def disk_size(self) -> int: + """ + Size of the cloud disk used to create the snapshot, unit(GB). + """ + return pulumi.get(self, "disk_size") + + @property + @pulumi.getter(name="diskUsage") + def disk_usage(self) -> str: + """ + Type of the cloud disk used to create the snapshot. Valid values: YSTEM_DISK: system disk, DATA_DISK: data disk. + """ + return pulumi.get(self, "disk_usage") + + @property + @pulumi.getter(name="snapshotId") + def snapshot_id(self) -> str: + """ + Snapshot ID. + """ + return pulumi.get(self, "snapshot_id") + + +@pulumi.output_type +class GetFromFamilyImageTagResult(dict): + def __init__(__self__, *, + key: str, + value: str): + """ + :param str key: Key. + :param str value: Vaule. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def key(self) -> str: + """ + Key. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter + def value(self) -> str: + """ + Vaule. + """ + return pulumi.get(self, "value") + + @pulumi.output_type class GetInstanceFilterResult(dict): def __init__(__self__, *, 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..4d7a4176d 100644 --- a/sdk/python/tencentcloud_iac_pulumi/instance/instance.py +++ b/sdk/python/tencentcloud_iac_pulumi/instance/instance.py @@ -24,7 +24,9 @@ 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_automation_service: Optional[pulumi.Input[bool]] = None, disable_monitor_service: Optional[pulumi.Input[bool]] = None, disable_security_service: Optional[pulumi.Input[bool]] = None, force_delete: Optional[pulumi.Input[bool]] = None, @@ -52,6 +54,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,7 +71,9 @@ 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_automation_service: Disable enhance service for automation, 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_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. :param pulumi.Input[bool] force_delete: Indicate whether to force delete the instance. Default is `false`. If set true, the instance will be permanently deleted instead of being moved into the recycle bin. Note: only works for `PREPAID` instance. @@ -96,6 +101,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,8 +123,12 @@ 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_automation_service is not None: + pulumi.set(__self__, "disable_automation_service", disable_automation_service) if disable_monitor_service is not None: pulumi.set(__self__, "disable_monitor_service", disable_monitor_service) if disable_security_service is not None: @@ -182,6 +192,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 +303,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]]: @@ -303,6 +327,18 @@ def disable_api_termination(self) -> Optional[pulumi.Input[bool]]: def disable_api_termination(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "disable_api_termination", value) + @property + @pulumi.getter(name="disableAutomationService") + def disable_automation_service(self) -> Optional[pulumi.Input[bool]]: + """ + Disable enhance service for automation, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset. + """ + return pulumi.get(self, "disable_automation_service") + + @disable_automation_service.setter + def disable_automation_service(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "disable_automation_service", value) + @property @pulumi.getter(name="disableMonitorService") def disable_monitor_service(self) -> Optional[pulumi.Input[bool]]: @@ -636,6 +672,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,7 +769,9 @@ 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_automation_service: Optional[pulumi.Input[bool]] = None, disable_monitor_service: Optional[pulumi.Input[bool]] = None, disable_security_service: Optional[pulumi.Input[bool]] = None, expired_time: Optional[pulumi.Input[str]] = None, @@ -755,6 +805,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,7 +824,9 @@ 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_automation_service: Disable enhance service for automation, 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_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. :param pulumi.Input[str] expired_time: Expired time of the instance. @@ -807,6 +860,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,8 +887,12 @@ 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_automation_service is not None: + pulumi.set(__self__, "disable_automation_service", disable_automation_service) if disable_monitor_service is not None: pulumi.set(__self__, "disable_monitor_service", disable_monitor_service) if disable_security_service is not None: @@ -910,6 +968,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 +1093,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]]: @@ -1045,6 +1117,18 @@ def disable_api_termination(self) -> Optional[pulumi.Input[bool]]: def disable_api_termination(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "disable_api_termination", value) + @property + @pulumi.getter(name="disableAutomationService") + def disable_automation_service(self) -> Optional[pulumi.Input[bool]]: + """ + Disable enhance service for automation, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset. + """ + return pulumi.get(self, "disable_automation_service") + + @disable_automation_service.setter + def disable_automation_service(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "disable_automation_service", value) + @property @pulumi.getter(name="disableMonitorService") def disable_monitor_service(self) -> Optional[pulumi.Input[bool]]: @@ -1450,6 +1534,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,7 +1643,9 @@ 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_automation_service: Optional[pulumi.Input[bool]] = None, disable_monitor_service: Optional[pulumi.Input[bool]] = None, disable_security_service: Optional[pulumi.Input[bool]] = None, force_delete: Optional[pulumi.Input[bool]] = None, @@ -1576,6 +1674,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 +1689,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,7 +1824,9 @@ 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_automation_service: Disable enhance service for automation, 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_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. :param pulumi.Input[bool] force_delete: Indicate whether to force delete the instance. Default is `false`. If set true, the instance will be permanently deleted instead of being moved into the recycle bin. Note: only works for `PREPAID` instance. @@ -1636,6 +1855,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 +1876,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,7 +2024,9 @@ 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_automation_service: Optional[pulumi.Input[bool]] = None, disable_monitor_service: Optional[pulumi.Input[bool]] = None, disable_security_service: Optional[pulumi.Input[bool]] = None, force_delete: Optional[pulumi.Input[bool]] = None, @@ -1715,6 +2055,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,7 +2080,9 @@ 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_automation_service"] = disable_automation_service __props__.__dict__["disable_monitor_service"] = disable_monitor_service __props__.__dict__["disable_security_service"] = disable_security_service __props__.__dict__["force_delete"] = force_delete @@ -1770,6 +2113,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,7 +2149,9 @@ 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_automation_service: Optional[pulumi.Input[bool]] = None, disable_monitor_service: Optional[pulumi.Input[bool]] = None, disable_security_service: Optional[pulumi.Input[bool]] = None, expired_time: Optional[pulumi.Input[str]] = None, @@ -1839,6 +2185,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,7 +2209,9 @@ 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_automation_service: Disable enhance service for automation, 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_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. :param pulumi.Input[str] expired_time: Expired time of the instance. @@ -1896,6 +2245,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,7 +2267,9 @@ 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_automation_service"] = disable_automation_service __props__.__dict__["disable_monitor_service"] = disable_monitor_service __props__.__dict__["disable_security_service"] = disable_security_service __props__.__dict__["expired_time"] = expired_time @@ -1951,6 +2303,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 +2385,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]]: @@ -2040,6 +2401,14 @@ def disable_api_termination(self) -> pulumi.Output[Optional[bool]]: """ return pulumi.get(self, "disable_api_termination") + @property + @pulumi.getter(name="disableAutomationService") + def disable_automation_service(self) -> pulumi.Output[Optional[bool]]: + """ + Disable enhance service for automation, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset. + """ + return pulumi.get(self, "disable_automation_service") + @property @pulumi.getter(name="disableMonitorService") def disable_monitor_service(self) -> pulumi.Output[Optional[bool]]: @@ -2313,6 +2682,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..b63257769 100644 --- a/sdk/python/tencentcloud_iac_pulumi/kubernetes/__init__.py +++ b/sdk/python/tencentcloud_iac_pulumi/kubernetes/__init__.py @@ -7,11 +7,13 @@ # 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 * from .cluster_attachment import * from .cluster_endpoint import * +from .cluster_master_attachment import * from .encryption_protection import * from .get_available_cluster_versions import * from .get_charts import * @@ -22,6 +24,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..293c64b1d 100644 --- a/sdk/python/tencentcloud_iac_pulumi/kubernetes/_inputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/kubernetes/_inputs.py @@ -16,21 +16,37 @@ 'ClusterAttachmentWorkerConfigOverridesArgs', 'ClusterAttachmentWorkerConfigOverridesDataDiskArgs', 'ClusterAttachmentWorkerConfigOverridesGpuArgsArgs', + 'ClusterAttachmentWorkerConfigTaintArgs', 'ClusterAuthOptionsArgs', 'ClusterClusterAuditArgs', 'ClusterClusterExtraArgsArgs', 'ClusterEventPersistenceArgs', 'ClusterExistInstanceArgs', 'ClusterExistInstanceInstancesParaArgs', + 'ClusterExistInstanceInstancesParaMasterConfigArgs', + 'ClusterExistInstanceInstancesParaMasterConfigDataDiskArgs', + 'ClusterExistInstanceInstancesParaMasterConfigExtraArgsArgs', + 'ClusterExistInstanceInstancesParaMasterConfigGpuArgsArgs', + 'ClusterExistInstanceInstancesParaMasterConfigLabelArgs', + 'ClusterExistInstanceInstancesParaMasterConfigTaintArgs', 'ClusterExtensionAddonArgs', 'ClusterLogAgentArgs', + 'ClusterMasterAttachmentExtraArgsArgs', + 'ClusterMasterAttachmentMasterConfigArgs', + 'ClusterMasterAttachmentMasterConfigDataDiskArgs', + 'ClusterMasterAttachmentMasterConfigExtraArgsArgs', + 'ClusterMasterAttachmentMasterConfigGpuArgsArgs', + 'ClusterMasterAttachmentMasterConfigLabelArgs', + 'ClusterMasterAttachmentMasterConfigTaintArgs', 'ClusterMasterConfigArgs', 'ClusterMasterConfigDataDiskArgs', 'ClusterNodePoolGlobalConfigArgs', + 'ClusterResourceDeleteOptionArgs', 'ClusterWorkerConfigArgs', 'ClusterWorkerConfigDataDiskArgs', 'ClusterWorkerInstancesListArgs', 'EncryptionProtectionKmsConfigurationArgs', + 'HealthCheckPolicyRuleArgs', 'NativeNodePoolAnnotationArgs', 'NativeNodePoolLabelArgs', 'NativeNodePoolNativeArgs', @@ -44,6 +60,7 @@ 'NativeNodePoolTagArgs', 'NativeNodePoolTagTagArgs', 'NativeNodePoolTaintArgs', + 'NodePoolAnnotationArgs', 'NodePoolAutoScalingConfigArgs', 'NodePoolAutoScalingConfigDataDiskArgs', 'NodePoolNodeConfigArgs', @@ -52,6 +69,7 @@ 'NodePoolTaintArgs', 'ScaleWorkerDataDiskArgs', 'ScaleWorkerGpuArgsArgs', + 'ScaleWorkerTaintArgs', 'ScaleWorkerWorkerConfigArgs', 'ScaleWorkerWorkerConfigDataDiskArgs', 'ScaleWorkerWorkerInstancesListArgs', @@ -73,6 +91,7 @@ def __init__(__self__, *, is_schedule: Optional[pulumi.Input[bool]] = None, mount_target: Optional[pulumi.Input[str]] = None, pre_start_user_script: Optional[pulumi.Input[str]] = None, + taints: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterAttachmentWorkerConfigTaintArgs']]]] = None, user_data: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[Sequence[pulumi.Input['ClusterAttachmentWorkerConfigDataDiskArgs']]] data_disks: Configurations of data disk. @@ -80,9 +99,10 @@ 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[Sequence[pulumi.Input['ClusterAttachmentWorkerConfigTaintArgs']]] taints: Node taint. :param pulumi.Input[str] user_data: Base64-encoded User Data text, the length limit is 16KB. """ if data_disks is not None: @@ -95,12 +115,17 @@ 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: pulumi.set(__self__, "mount_target", mount_target) if pre_start_user_script is not None: pulumi.set(__self__, "pre_start_user_script", pre_start_user_script) + if taints is not None: + pulumi.set(__self__, "taints", taints) if user_data is not None: pulumi.set(__self__, "user_data", user_data) @@ -168,8 +193,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 @@ -200,6 +228,18 @@ def pre_start_user_script(self) -> Optional[pulumi.Input[str]]: def pre_start_user_script(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "pre_start_user_script", value) + @property + @pulumi.getter + def taints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterAttachmentWorkerConfigTaintArgs']]]]: + """ + Node taint. + """ + return pulumi.get(self, "taints") + + @taints.setter + def taints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterAttachmentWorkerConfigTaintArgs']]]]): + pulumi.set(self, "taints", value) + @property @pulumi.getter(name="userData") def user_data(self) -> Optional[pulumi.Input[str]]: @@ -418,30 +458,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 +531,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 +546,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 +573,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 +588,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 +603,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 +618,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 @@ -744,6 +820,61 @@ def mig_enable(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "mig_enable", value) +@pulumi.input_type +class ClusterAttachmentWorkerConfigTaintArgs: + def __init__(__self__, *, + effect: Optional[pulumi.Input[str]] = None, + key: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] effect: Effect of the taint. + :param pulumi.Input[str] key: Key of the taint. + :param pulumi.Input[str] value: Value of the taint. + """ + if effect is not None: + pulumi.set(__self__, "effect", effect) + if key is not None: + pulumi.set(__self__, "key", key) + if value is not None: + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def effect(self) -> Optional[pulumi.Input[str]]: + """ + Effect of the taint. + """ + return pulumi.get(self, "effect") + + @effect.setter + def effect(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "effect", value) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + Key of the taint. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter + def value(self) -> Optional[pulumi.Input[str]]: + """ + Value of the taint. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "value", value) + + @pulumi.input_type class ClusterAuthOptionsArgs: def __init__(__self__, *, @@ -1068,11 +1199,35 @@ def node_role(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type class ClusterExistInstanceInstancesParaArgs: def __init__(__self__, *, - instance_ids: pulumi.Input[Sequence[pulumi.Input[str]]]): + instance_ids: pulumi.Input[Sequence[pulumi.Input[str]]], + enhanced_monitor_service: Optional[pulumi.Input[bool]] = None, + enhanced_security_service: Optional[pulumi.Input[bool]] = None, + key_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + master_config: Optional[pulumi.Input['ClusterExistInstanceInstancesParaMasterConfigArgs']] = None, + password: Optional[pulumi.Input[str]] = None, + security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): """ :param pulumi.Input[Sequence[pulumi.Input[str]]] instance_ids: Cluster IDs. + :param pulumi.Input[bool] enhanced_monitor_service: To specify whether to enable cloud monitor service. Default is TRUE. + :param pulumi.Input[bool] enhanced_security_service: To specify whether to enable cloud security service. Default is TRUE. + :param pulumi.Input[Sequence[pulumi.Input[str]]] key_ids: ID list of keys, should be set if `password` not set. + :param pulumi.Input['ClusterExistInstanceInstancesParaMasterConfigArgs'] master_config: Advanced Node Settings. commonly used to attach existing instances. + :param pulumi.Input[str] password: Password to access, should be set if `key_ids` not set. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: Security groups to which a CVM instance belongs. """ pulumi.set(__self__, "instance_ids", instance_ids) + if enhanced_monitor_service is not None: + pulumi.set(__self__, "enhanced_monitor_service", enhanced_monitor_service) + if enhanced_security_service is not None: + pulumi.set(__self__, "enhanced_security_service", enhanced_security_service) + if key_ids is not None: + pulumi.set(__self__, "key_ids", key_ids) + if master_config is not None: + pulumi.set(__self__, "master_config", master_config) + if password is not None: + pulumi.set(__self__, "password", password) + if security_group_ids is not None: + pulumi.set(__self__, "security_group_ids", security_group_ids) @property @pulumi.getter(name="instanceIds") @@ -1086,24 +1241,1094 @@ def instance_ids(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: def instance_ids(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): pulumi.set(self, "instance_ids", value) + @property + @pulumi.getter(name="enhancedMonitorService") + def enhanced_monitor_service(self) -> Optional[pulumi.Input[bool]]: + """ + To specify whether to enable cloud monitor service. Default is TRUE. + """ + return pulumi.get(self, "enhanced_monitor_service") + + @enhanced_monitor_service.setter + def enhanced_monitor_service(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enhanced_monitor_service", value) + + @property + @pulumi.getter(name="enhancedSecurityService") + def enhanced_security_service(self) -> Optional[pulumi.Input[bool]]: + """ + To specify whether to enable cloud security service. Default is TRUE. + """ + return pulumi.get(self, "enhanced_security_service") + + @enhanced_security_service.setter + def enhanced_security_service(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enhanced_security_service", value) + + @property + @pulumi.getter(name="keyIds") + def key_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + ID list of keys, should be set if `password` not set. + """ + return pulumi.get(self, "key_ids") + + @key_ids.setter + def key_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "key_ids", value) + + @property + @pulumi.getter(name="masterConfig") + def master_config(self) -> Optional[pulumi.Input['ClusterExistInstanceInstancesParaMasterConfigArgs']]: + """ + Advanced Node Settings. commonly used to attach existing instances. + """ + return pulumi.get(self, "master_config") + + @master_config.setter + def master_config(self, value: Optional[pulumi.Input['ClusterExistInstanceInstancesParaMasterConfigArgs']]): + pulumi.set(self, "master_config", value) + + @property + @pulumi.getter + def password(self) -> Optional[pulumi.Input[str]]: + """ + Password to access, should be set if `key_ids` not set. + """ + return pulumi.get(self, "password") + + @password.setter + def password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "password", value) + + @property + @pulumi.getter(name="securityGroupIds") + def security_group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Security groups to which a CVM instance belongs. + """ + 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) + @pulumi.input_type -class ClusterExtensionAddonArgs: +class ClusterExistInstanceInstancesParaMasterConfigArgs: def __init__(__self__, *, - name: pulumi.Input[str], - param: pulumi.Input[str]): + data_disk: Optional[pulumi.Input['ClusterExistInstanceInstancesParaMasterConfigDataDiskArgs']] = None, + desired_pod_number: Optional[pulumi.Input[int]] = None, + docker_graph_path: Optional[pulumi.Input[str]] = None, + extra_args: Optional[pulumi.Input['ClusterExistInstanceInstancesParaMasterConfigExtraArgsArgs']] = None, + gpu_args: Optional[pulumi.Input['ClusterExistInstanceInstancesParaMasterConfigGpuArgsArgs']] = None, + labels: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterExistInstanceInstancesParaMasterConfigLabelArgs']]]] = None, + mount_target: Optional[pulumi.Input[str]] = None, + taints: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterExistInstanceInstancesParaMasterConfigTaintArgs']]]] = None, + unschedulable: Optional[pulumi.Input[int]] = None, + user_script: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[str] name: Add-on name. - :param pulumi.Input[str] param: Parameter of the add-on resource object in JSON string format, please check the example at the top of page for reference. + :param pulumi.Input['ClusterExistInstanceInstancesParaMasterConfigDataDiskArgs'] data_disk: Configurations of data disk. + :param pulumi.Input[int] desired_pod_number: 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['ClusterExistInstanceInstancesParaMasterConfigExtraArgsArgs'] extra_args: Custom parameter information related to the node. This is a white-list parameter. + :param pulumi.Input['ClusterExistInstanceInstancesParaMasterConfigGpuArgsArgs'] gpu_args: GPU driver parameters. + :param pulumi.Input[Sequence[pulumi.Input['ClusterExistInstanceInstancesParaMasterConfigLabelArgs']]] labels: Node label list. + :param pulumi.Input[str] mount_target: Mount target. Default is not mounting. + :param pulumi.Input[Sequence[pulumi.Input['ClusterExistInstanceInstancesParaMasterConfigTaintArgs']]] taints: Node taint. + :param pulumi.Input[int] unschedulable: Set whether the joined nodes participate in scheduling, with a default value of 0, indicating participation in scheduling; Non 0 means not participating in scheduling. + :param pulumi.Input[str] user_script: User script encoded in base64, which will be executed after the k8s component runs. The user needs to ensure the script's reentrant and retry logic. The script and its generated log files can be viewed in the node path /data/ccs_userscript/. If the node needs to be initialized before joining the schedule, it can be used in conjunction with the `unschedulable` parameter. After the final initialization of the userScript is completed, add the command "kubectl uncordon nodename --kubeconfig=/root/.kube/config" to add the node to the schedule. + """ + if data_disk is not None: + pulumi.set(__self__, "data_disk", data_disk) + if desired_pod_number is not None: + pulumi.set(__self__, "desired_pod_number", desired_pod_number) + if docker_graph_path is not None: + pulumi.set(__self__, "docker_graph_path", docker_graph_path) + if extra_args is not None: + pulumi.set(__self__, "extra_args", extra_args) + if gpu_args is not None: + pulumi.set(__self__, "gpu_args", gpu_args) + if labels is not None: + pulumi.set(__self__, "labels", labels) + if mount_target is not None: + pulumi.set(__self__, "mount_target", mount_target) + if taints is not None: + pulumi.set(__self__, "taints", taints) + if unschedulable is not None: + pulumi.set(__self__, "unschedulable", unschedulable) + if user_script is not None: + pulumi.set(__self__, "user_script", user_script) + + @property + @pulumi.getter(name="dataDisk") + def data_disk(self) -> Optional[pulumi.Input['ClusterExistInstanceInstancesParaMasterConfigDataDiskArgs']]: """ - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "param", param) + Configurations of data disk. + """ + return pulumi.get(self, "data_disk") + + @data_disk.setter + def data_disk(self, value: Optional[pulumi.Input['ClusterExistInstanceInstancesParaMasterConfigDataDiskArgs']]): + pulumi.set(self, "data_disk", value) + + @property + @pulumi.getter(name="desiredPodNumber") + def desired_pod_number(self) -> Optional[pulumi.Input[int]]: + """ + Indicate to set desired pod number in node. valid when the cluster is podCIDR. + """ + return pulumi.get(self, "desired_pod_number") + + @desired_pod_number.setter + def desired_pod_number(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "desired_pod_number", value) + + @property + @pulumi.getter(name="dockerGraphPath") + def docker_graph_path(self) -> Optional[pulumi.Input[str]]: + """ + Docker graph path. Default is `/var/lib/docker`. + """ + return pulumi.get(self, "docker_graph_path") + + @docker_graph_path.setter + def docker_graph_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "docker_graph_path", value) + + @property + @pulumi.getter(name="extraArgs") + def extra_args(self) -> Optional[pulumi.Input['ClusterExistInstanceInstancesParaMasterConfigExtraArgsArgs']]: + """ + Custom parameter information related to the node. This is a white-list parameter. + """ + return pulumi.get(self, "extra_args") + + @extra_args.setter + def extra_args(self, value: Optional[pulumi.Input['ClusterExistInstanceInstancesParaMasterConfigExtraArgsArgs']]): + pulumi.set(self, "extra_args", value) + + @property + @pulumi.getter(name="gpuArgs") + def gpu_args(self) -> Optional[pulumi.Input['ClusterExistInstanceInstancesParaMasterConfigGpuArgsArgs']]: + """ + GPU driver parameters. + """ + return pulumi.get(self, "gpu_args") + + @gpu_args.setter + def gpu_args(self, value: Optional[pulumi.Input['ClusterExistInstanceInstancesParaMasterConfigGpuArgsArgs']]): + pulumi.set(self, "gpu_args", value) + + @property + @pulumi.getter + def labels(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterExistInstanceInstancesParaMasterConfigLabelArgs']]]]: + """ + Node label list. + """ + return pulumi.get(self, "labels") + + @labels.setter + def labels(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterExistInstanceInstancesParaMasterConfigLabelArgs']]]]): + pulumi.set(self, "labels", value) + + @property + @pulumi.getter(name="mountTarget") + def mount_target(self) -> Optional[pulumi.Input[str]]: + """ + Mount target. Default is not mounting. + """ + return pulumi.get(self, "mount_target") + + @mount_target.setter + def mount_target(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "mount_target", value) + + @property + @pulumi.getter + def taints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterExistInstanceInstancesParaMasterConfigTaintArgs']]]]: + """ + Node taint. + """ + return pulumi.get(self, "taints") + + @taints.setter + def taints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterExistInstanceInstancesParaMasterConfigTaintArgs']]]]): + pulumi.set(self, "taints", value) + + @property + @pulumi.getter + def unschedulable(self) -> Optional[pulumi.Input[int]]: + """ + Set whether the joined nodes participate in scheduling, with a default value of 0, indicating participation in scheduling; Non 0 means not participating in scheduling. + """ + return pulumi.get(self, "unschedulable") + + @unschedulable.setter + def unschedulable(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "unschedulable", value) + + @property + @pulumi.getter(name="userScript") + def user_script(self) -> Optional[pulumi.Input[str]]: + """ + User script encoded in base64, which will be executed after the k8s component runs. The user needs to ensure the script's reentrant and retry logic. The script and its generated log files can be viewed in the node path /data/ccs_userscript/. If the node needs to be initialized before joining the schedule, it can be used in conjunction with the `unschedulable` parameter. After the final initialization of the userScript is completed, add the command "kubectl uncordon nodename --kubeconfig=/root/.kube/config" to add the node to the schedule. + """ + return pulumi.get(self, "user_script") + + @user_script.setter + def user_script(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_script", value) + + +@pulumi.input_type +class ClusterExistInstanceInstancesParaMasterConfigDataDiskArgs: + 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`. + :param pulumi.Input[str] mount_target: Mount target. + """ + if auto_format_and_mount is not None: + pulumi.set(__self__, "auto_format_and_mount", auto_format_and_mount) + if disk_partition is not None: + pulumi.set(__self__, "disk_partition", disk_partition) + if disk_size is not None: + pulumi.set(__self__, "disk_size", disk_size) + if disk_type is not None: + pulumi.set(__self__, "disk_type", disk_type) + if file_system is not None: + pulumi.set(__self__, "file_system", file_system) + if mount_target is not None: + pulumi.set(__self__, "mount_target", mount_target) + + @property + @pulumi.getter(name="autoFormatAndMount") + def auto_format_and_mount(self) -> Optional[pulumi.Input[bool]]: + """ + Indicate whether to auto format and mount or not. Default is `false`. + """ + return pulumi.get(self, "auto_format_and_mount") + + @auto_format_and_mount.setter + def auto_format_and_mount(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "auto_format_and_mount", value) + + @property + @pulumi.getter(name="diskPartition") + def disk_partition(self) -> Optional[pulumi.Input[str]]: + """ + The name of the device or partition to mount. + """ + return pulumi.get(self, "disk_partition") + + @disk_partition.setter + def disk_partition(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "disk_partition", value) + + @property + @pulumi.getter(name="diskSize") + def disk_size(self) -> Optional[pulumi.Input[int]]: + """ + Volume of disk in GB. Default is `0`. + """ + return pulumi.get(self, "disk_size") + + @disk_size.setter + def disk_size(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "disk_size", value) + + @property + @pulumi.getter(name="diskType") + def disk_type(self) -> Optional[pulumi.Input[str]]: + """ + Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD` and `CLOUD_HSSD` and `CLOUD_TSSD`. + """ + return pulumi.get(self, "disk_type") + + @disk_type.setter + def disk_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "disk_type", value) + + @property + @pulumi.getter(name="fileSystem") + def file_system(self) -> Optional[pulumi.Input[str]]: + """ + File system, e.g. `ext3/ext4/xfs`. + """ + return pulumi.get(self, "file_system") + + @file_system.setter + def file_system(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "file_system", value) + + @property + @pulumi.getter(name="mountTarget") + def mount_target(self) -> Optional[pulumi.Input[str]]: + """ + Mount target. + """ + return pulumi.get(self, "mount_target") + + @mount_target.setter + def mount_target(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "mount_target", value) + + +@pulumi.input_type +class ClusterExistInstanceInstancesParaMasterConfigExtraArgsArgs: + def __init__(__self__, *, + kubelets: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] kubelets: Kubelet custom parameter. The parameter format is ["k1=v1", "k1=v2"]. + """ + if kubelets is not None: + pulumi.set(__self__, "kubelets", kubelets) + + @property + @pulumi.getter + def kubelets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Kubelet custom parameter. The parameter format is ["k1=v1", "k1=v2"]. + """ + return pulumi.get(self, "kubelets") + + @kubelets.setter + def kubelets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "kubelets", value) + + +@pulumi.input_type +class ClusterExistInstanceInstancesParaMasterConfigGpuArgsArgs: + def __init__(__self__, *, + cuda: Optional[pulumi.Input[Mapping[str, Any]]] = None, + cudnn: Optional[pulumi.Input[Mapping[str, Any]]] = None, + custom_driver: Optional[pulumi.Input[Mapping[str, Any]]] = None, + driver: Optional[pulumi.Input[Mapping[str, Any]]] = None, + mig_enable: Optional[pulumi.Input[bool]] = None): + """ + :param pulumi.Input[Mapping[str, Any]] cuda: CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + :param pulumi.Input[Mapping[str, Any]] cudnn: cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `doc_name`: Doc name of cuDNN; `dev_name`: Dev name of cuDNN. + :param pulumi.Input[Mapping[str, Any]] custom_driver: Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. + :param pulumi.Input[Mapping[str, Any]] driver: GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + :param pulumi.Input[bool] mig_enable: Whether to enable MIG. + """ + if cuda is not None: + pulumi.set(__self__, "cuda", cuda) + if cudnn is not None: + pulumi.set(__self__, "cudnn", cudnn) + if custom_driver is not None: + pulumi.set(__self__, "custom_driver", custom_driver) + if driver is not None: + pulumi.set(__self__, "driver", driver) + if mig_enable is not None: + pulumi.set(__self__, "mig_enable", mig_enable) + + @property + @pulumi.getter + def cuda(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: + """ + CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + """ + return pulumi.get(self, "cuda") + + @cuda.setter + def cuda(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): + pulumi.set(self, "cuda", value) + + @property + @pulumi.getter + def cudnn(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: + """ + cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `doc_name`: Doc name of cuDNN; `dev_name`: Dev name of cuDNN. + """ + return pulumi.get(self, "cudnn") + + @cudnn.setter + def cudnn(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): + pulumi.set(self, "cudnn", value) + + @property + @pulumi.getter(name="customDriver") + def custom_driver(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: + """ + Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. + """ + return pulumi.get(self, "custom_driver") + + @custom_driver.setter + def custom_driver(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): + pulumi.set(self, "custom_driver", value) + + @property + @pulumi.getter + def driver(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: + """ + GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + """ + return pulumi.get(self, "driver") + + @driver.setter + def driver(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): + pulumi.set(self, "driver", value) + + @property + @pulumi.getter(name="migEnable") + def mig_enable(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to enable MIG. + """ + return pulumi.get(self, "mig_enable") + + @mig_enable.setter + def mig_enable(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "mig_enable", value) + + +@pulumi.input_type +class ClusterExistInstanceInstancesParaMasterConfigLabelArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + value: pulumi.Input[str]): + """ + :param pulumi.Input[str] name: Name of map. + :param pulumi.Input[str] value: Value of map. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + Name of map. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[str]: + """ + Value of map. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[str]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class ClusterExistInstanceInstancesParaMasterConfigTaintArgs: + def __init__(__self__, *, + effect: Optional[pulumi.Input[str]] = None, + key: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] effect: Effect of the taint. + :param pulumi.Input[str] key: Key of the taint. + :param pulumi.Input[str] value: Value of the taint. + """ + if effect is not None: + pulumi.set(__self__, "effect", effect) + if key is not None: + pulumi.set(__self__, "key", key) + if value is not None: + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def effect(self) -> Optional[pulumi.Input[str]]: + """ + Effect of the taint. + """ + return pulumi.get(self, "effect") + + @effect.setter + def effect(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "effect", value) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + Key of the taint. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter + def value(self) -> Optional[pulumi.Input[str]]: + """ + Value of the taint. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class ClusterExtensionAddonArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + param: pulumi.Input[str]): + """ + :param pulumi.Input[str] name: Add-on name. + :param pulumi.Input[str] param: Parameter of the add-on resource object in JSON string format, please check the example at the top of page for reference. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "param", param) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + Add-on name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def param(self) -> pulumi.Input[str]: + """ + Parameter of the add-on resource object in JSON string format, please check the example at the top of page for reference. + """ + return pulumi.get(self, "param") + + @param.setter + def param(self, value: pulumi.Input[str]): + pulumi.set(self, "param", value) + + +@pulumi.input_type +class ClusterLogAgentArgs: + def __init__(__self__, *, + enabled: pulumi.Input[bool], + kubelet_root_dir: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[bool] enabled: Whether the log agent enabled. + :param pulumi.Input[str] kubelet_root_dir: Kubelet root directory as the literal. + """ + pulumi.set(__self__, "enabled", enabled) + if kubelet_root_dir is not None: + pulumi.set(__self__, "kubelet_root_dir", kubelet_root_dir) + + @property + @pulumi.getter + def enabled(self) -> pulumi.Input[bool]: + """ + Whether the log agent enabled. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: pulumi.Input[bool]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter(name="kubeletRootDir") + def kubelet_root_dir(self) -> Optional[pulumi.Input[str]]: + """ + Kubelet root directory as the literal. + """ + return pulumi.get(self, "kubelet_root_dir") + + @kubelet_root_dir.setter + def kubelet_root_dir(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "kubelet_root_dir", value) + + +@pulumi.input_type +class ClusterMasterAttachmentExtraArgsArgs: + def __init__(__self__, *, + etcds: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + kube_api_servers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + kube_controller_managers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + kube_schedulers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] etcds: etcd custom parameters. Only supports independent clusters. + :param pulumi.Input[Sequence[pulumi.Input[str]]] kube_api_servers: Kube apiserver custom parameters. The parameter format is ["k1=v1", "k1=v2"]. + :param pulumi.Input[Sequence[pulumi.Input[str]]] kube_controller_managers: Kube controller manager custom parameters. + :param pulumi.Input[Sequence[pulumi.Input[str]]] kube_schedulers: kube scheduler custom parameters. + """ + if etcds is not None: + pulumi.set(__self__, "etcds", etcds) + if kube_api_servers is not None: + pulumi.set(__self__, "kube_api_servers", kube_api_servers) + if kube_controller_managers is not None: + pulumi.set(__self__, "kube_controller_managers", kube_controller_managers) + if kube_schedulers is not None: + pulumi.set(__self__, "kube_schedulers", kube_schedulers) + + @property + @pulumi.getter + def etcds(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + etcd custom parameters. Only supports independent clusters. + """ + return pulumi.get(self, "etcds") + + @etcds.setter + def etcds(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "etcds", value) + + @property + @pulumi.getter(name="kubeApiServers") + def kube_api_servers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Kube apiserver custom parameters. The parameter format is ["k1=v1", "k1=v2"]. + """ + return pulumi.get(self, "kube_api_servers") + + @kube_api_servers.setter + def kube_api_servers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "kube_api_servers", value) + + @property + @pulumi.getter(name="kubeControllerManagers") + def kube_controller_managers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Kube controller manager custom parameters. + """ + return pulumi.get(self, "kube_controller_managers") + + @kube_controller_managers.setter + def kube_controller_managers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "kube_controller_managers", value) + + @property + @pulumi.getter(name="kubeSchedulers") + def kube_schedulers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + kube scheduler custom parameters. + """ + return pulumi.get(self, "kube_schedulers") + + @kube_schedulers.setter + def kube_schedulers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "kube_schedulers", value) + + +@pulumi.input_type +class ClusterMasterAttachmentMasterConfigArgs: + def __init__(__self__, *, + data_disk: Optional[pulumi.Input['ClusterMasterAttachmentMasterConfigDataDiskArgs']] = None, + desired_pod_number: Optional[pulumi.Input[int]] = None, + docker_graph_path: Optional[pulumi.Input[str]] = None, + extra_args: Optional[pulumi.Input['ClusterMasterAttachmentMasterConfigExtraArgsArgs']] = None, + gpu_args: Optional[pulumi.Input['ClusterMasterAttachmentMasterConfigGpuArgsArgs']] = None, + labels: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterMasterAttachmentMasterConfigLabelArgs']]]] = None, + mount_target: Optional[pulumi.Input[str]] = None, + taints: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterMasterAttachmentMasterConfigTaintArgs']]]] = None, + unschedulable: Optional[pulumi.Input[int]] = None, + user_script: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input['ClusterMasterAttachmentMasterConfigDataDiskArgs'] data_disk: Configurations of data disk. + :param pulumi.Input[int] desired_pod_number: 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['ClusterMasterAttachmentMasterConfigExtraArgsArgs'] extra_args: Custom parameter information related to the node. This is a white-list parameter. + :param pulumi.Input['ClusterMasterAttachmentMasterConfigGpuArgsArgs'] gpu_args: GPU driver parameters. + :param pulumi.Input[Sequence[pulumi.Input['ClusterMasterAttachmentMasterConfigLabelArgs']]] labels: Node label list. + :param pulumi.Input[str] mount_target: Mount target. Default is not mounting. + :param pulumi.Input[Sequence[pulumi.Input['ClusterMasterAttachmentMasterConfigTaintArgs']]] taints: Node taint. + :param pulumi.Input[int] unschedulable: Set whether the joined nodes participate in scheduling, with a default value of 0, indicating participation in scheduling; Non 0 means not participating in scheduling. + :param pulumi.Input[str] user_script: User script encoded in base64, which will be executed after the k8s component runs. The user needs to ensure the script's reentrant and retry logic. The script and its generated log files can be viewed in the node path /data/ccs_userscript/. If the node needs to be initialized before joining the schedule, it can be used in conjunction with the `unschedulable` parameter. After the final initialization of the userScript is completed, add the command "kubectl uncordon nodename --kubeconfig=/root/.kube/config" to add the node to the schedule. + """ + if data_disk is not None: + pulumi.set(__self__, "data_disk", data_disk) + if desired_pod_number is not None: + pulumi.set(__self__, "desired_pod_number", desired_pod_number) + if docker_graph_path is not None: + pulumi.set(__self__, "docker_graph_path", docker_graph_path) + if extra_args is not None: + pulumi.set(__self__, "extra_args", extra_args) + if gpu_args is not None: + pulumi.set(__self__, "gpu_args", gpu_args) + if labels is not None: + pulumi.set(__self__, "labels", labels) + if mount_target is not None: + pulumi.set(__self__, "mount_target", mount_target) + if taints is not None: + pulumi.set(__self__, "taints", taints) + if unschedulable is not None: + pulumi.set(__self__, "unschedulable", unschedulable) + if user_script is not None: + pulumi.set(__self__, "user_script", user_script) + + @property + @pulumi.getter(name="dataDisk") + def data_disk(self) -> Optional[pulumi.Input['ClusterMasterAttachmentMasterConfigDataDiskArgs']]: + """ + Configurations of data disk. + """ + return pulumi.get(self, "data_disk") + + @data_disk.setter + def data_disk(self, value: Optional[pulumi.Input['ClusterMasterAttachmentMasterConfigDataDiskArgs']]): + pulumi.set(self, "data_disk", value) + + @property + @pulumi.getter(name="desiredPodNumber") + def desired_pod_number(self) -> Optional[pulumi.Input[int]]: + """ + Indicate to set desired pod number in node. valid when the cluster is podCIDR. + """ + return pulumi.get(self, "desired_pod_number") + + @desired_pod_number.setter + def desired_pod_number(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "desired_pod_number", value) + + @property + @pulumi.getter(name="dockerGraphPath") + def docker_graph_path(self) -> Optional[pulumi.Input[str]]: + """ + Docker graph path. Default is `/var/lib/docker`. + """ + return pulumi.get(self, "docker_graph_path") + + @docker_graph_path.setter + def docker_graph_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "docker_graph_path", value) + + @property + @pulumi.getter(name="extraArgs") + def extra_args(self) -> Optional[pulumi.Input['ClusterMasterAttachmentMasterConfigExtraArgsArgs']]: + """ + Custom parameter information related to the node. This is a white-list parameter. + """ + return pulumi.get(self, "extra_args") + + @extra_args.setter + def extra_args(self, value: Optional[pulumi.Input['ClusterMasterAttachmentMasterConfigExtraArgsArgs']]): + pulumi.set(self, "extra_args", value) + + @property + @pulumi.getter(name="gpuArgs") + def gpu_args(self) -> Optional[pulumi.Input['ClusterMasterAttachmentMasterConfigGpuArgsArgs']]: + """ + GPU driver parameters. + """ + return pulumi.get(self, "gpu_args") + + @gpu_args.setter + def gpu_args(self, value: Optional[pulumi.Input['ClusterMasterAttachmentMasterConfigGpuArgsArgs']]): + pulumi.set(self, "gpu_args", value) + + @property + @pulumi.getter + def labels(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterMasterAttachmentMasterConfigLabelArgs']]]]: + """ + Node label list. + """ + return pulumi.get(self, "labels") + + @labels.setter + def labels(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterMasterAttachmentMasterConfigLabelArgs']]]]): + pulumi.set(self, "labels", value) + + @property + @pulumi.getter(name="mountTarget") + def mount_target(self) -> Optional[pulumi.Input[str]]: + """ + Mount target. Default is not mounting. + """ + return pulumi.get(self, "mount_target") + + @mount_target.setter + def mount_target(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "mount_target", value) + + @property + @pulumi.getter + def taints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterMasterAttachmentMasterConfigTaintArgs']]]]: + """ + Node taint. + """ + return pulumi.get(self, "taints") + + @taints.setter + def taints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterMasterAttachmentMasterConfigTaintArgs']]]]): + pulumi.set(self, "taints", value) + + @property + @pulumi.getter + def unschedulable(self) -> Optional[pulumi.Input[int]]: + """ + Set whether the joined nodes participate in scheduling, with a default value of 0, indicating participation in scheduling; Non 0 means not participating in scheduling. + """ + return pulumi.get(self, "unschedulable") + + @unschedulable.setter + def unschedulable(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "unschedulable", value) + + @property + @pulumi.getter(name="userScript") + def user_script(self) -> Optional[pulumi.Input[str]]: + """ + User script encoded in base64, which will be executed after the k8s component runs. The user needs to ensure the script's reentrant and retry logic. The script and its generated log files can be viewed in the node path /data/ccs_userscript/. If the node needs to be initialized before joining the schedule, it can be used in conjunction with the `unschedulable` parameter. After the final initialization of the userScript is completed, add the command "kubectl uncordon nodename --kubeconfig=/root/.kube/config" to add the node to the schedule. + """ + return pulumi.get(self, "user_script") + + @user_script.setter + def user_script(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_script", value) + + +@pulumi.input_type +class ClusterMasterAttachmentMasterConfigDataDiskArgs: + 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. NOTE: this argument doesn't support setting in node pool, or will leads to mount error. + :param pulumi.Input[int] disk_size: Volume of disk in GB. Default is `0`. + :param pulumi.Input[str] disk_type: Types of disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. + :param pulumi.Input[str] file_system: File system, e.g. `ext3/ext4/xfs`. + :param pulumi.Input[str] mount_target: Mount target. + """ + if auto_format_and_mount is not None: + pulumi.set(__self__, "auto_format_and_mount", auto_format_and_mount) + if disk_partition is not None: + pulumi.set(__self__, "disk_partition", disk_partition) + if disk_size is not None: + pulumi.set(__self__, "disk_size", disk_size) + if disk_type is not None: + pulumi.set(__self__, "disk_type", disk_type) + if file_system is not None: + pulumi.set(__self__, "file_system", file_system) + if mount_target is not None: + pulumi.set(__self__, "mount_target", mount_target) + + @property + @pulumi.getter(name="autoFormatAndMount") + def auto_format_and_mount(self) -> Optional[pulumi.Input[bool]]: + """ + Indicate whether to auto format and mount or not. Default is `false`. + """ + return pulumi.get(self, "auto_format_and_mount") + + @auto_format_and_mount.setter + def auto_format_and_mount(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "auto_format_and_mount", value) + + @property + @pulumi.getter(name="diskPartition") + def disk_partition(self) -> Optional[pulumi.Input[str]]: + """ + The name of the device or partition to mount. NOTE: this argument doesn't support setting in node pool, or will leads to mount error. + """ + return pulumi.get(self, "disk_partition") + + @disk_partition.setter + def disk_partition(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "disk_partition", value) + + @property + @pulumi.getter(name="diskSize") + def disk_size(self) -> Optional[pulumi.Input[int]]: + """ + Volume of disk in GB. Default is `0`. + """ + return pulumi.get(self, "disk_size") + + @disk_size.setter + def disk_size(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "disk_size", value) + + @property + @pulumi.getter(name="diskType") + def disk_type(self) -> Optional[pulumi.Input[str]]: + """ + Types of disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. + """ + return pulumi.get(self, "disk_type") + + @disk_type.setter + def disk_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "disk_type", value) + + @property + @pulumi.getter(name="fileSystem") + def file_system(self) -> Optional[pulumi.Input[str]]: + """ + File system, e.g. `ext3/ext4/xfs`. + """ + return pulumi.get(self, "file_system") + + @file_system.setter + def file_system(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "file_system", value) + + @property + @pulumi.getter(name="mountTarget") + def mount_target(self) -> Optional[pulumi.Input[str]]: + """ + Mount target. + """ + return pulumi.get(self, "mount_target") + + @mount_target.setter + def mount_target(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "mount_target", value) + + +@pulumi.input_type +class ClusterMasterAttachmentMasterConfigExtraArgsArgs: + def __init__(__self__, *, + kubelets: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] kubelets: Kubelet custom parameter. The parameter format is ["k1=v1", "k1=v2"]. + """ + if kubelets is not None: + pulumi.set(__self__, "kubelets", kubelets) + + @property + @pulumi.getter + def kubelets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Kubelet custom parameter. The parameter format is ["k1=v1", "k1=v2"]. + """ + return pulumi.get(self, "kubelets") + + @kubelets.setter + def kubelets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "kubelets", value) + + +@pulumi.input_type +class ClusterMasterAttachmentMasterConfigGpuArgsArgs: + def __init__(__self__, *, + cuda: Optional[pulumi.Input[Mapping[str, Any]]] = None, + cudnn: Optional[pulumi.Input[Mapping[str, Any]]] = None, + custom_driver: Optional[pulumi.Input[Mapping[str, Any]]] = None, + driver: Optional[pulumi.Input[Mapping[str, Any]]] = None, + mig_enable: Optional[pulumi.Input[bool]] = None): + """ + :param pulumi.Input[Mapping[str, Any]] cuda: CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + :param pulumi.Input[Mapping[str, Any]] cudnn: cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `doc_name`: Doc name of cuDNN; `dev_name`: Dev name of cuDNN. + :param pulumi.Input[Mapping[str, Any]] custom_driver: Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. + :param pulumi.Input[Mapping[str, Any]] driver: GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + :param pulumi.Input[bool] mig_enable: Whether to enable MIG. + """ + if cuda is not None: + pulumi.set(__self__, "cuda", cuda) + if cudnn is not None: + pulumi.set(__self__, "cudnn", cudnn) + if custom_driver is not None: + pulumi.set(__self__, "custom_driver", custom_driver) + if driver is not None: + pulumi.set(__self__, "driver", driver) + if mig_enable is not None: + pulumi.set(__self__, "mig_enable", mig_enable) + + @property + @pulumi.getter + def cuda(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: + """ + CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + """ + return pulumi.get(self, "cuda") + + @cuda.setter + def cuda(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): + pulumi.set(self, "cuda", value) + + @property + @pulumi.getter + def cudnn(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: + """ + cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `doc_name`: Doc name of cuDNN; `dev_name`: Dev name of cuDNN. + """ + return pulumi.get(self, "cudnn") + + @cudnn.setter + def cudnn(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): + pulumi.set(self, "cudnn", value) + + @property + @pulumi.getter(name="customDriver") + def custom_driver(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: + """ + Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. + """ + return pulumi.get(self, "custom_driver") + + @custom_driver.setter + def custom_driver(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): + pulumi.set(self, "custom_driver", value) + + @property + @pulumi.getter + def driver(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: + """ + GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + """ + return pulumi.get(self, "driver") + + @driver.setter + def driver(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): + pulumi.set(self, "driver", value) + + @property + @pulumi.getter(name="migEnable") + def mig_enable(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to enable MIG. + """ + return pulumi.get(self, "mig_enable") + + @mig_enable.setter + def mig_enable(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "mig_enable", value) + + +@pulumi.input_type +class ClusterMasterAttachmentMasterConfigLabelArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + value: pulumi.Input[str]): + """ + :param pulumi.Input[str] name: Name of map. + :param pulumi.Input[str] value: Value of map. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "value", value) @property @pulumi.getter def name(self) -> pulumi.Input[str]: """ - Add-on name. + Name of map. """ return pulumi.get(self, "name") @@ -1113,53 +2338,70 @@ def name(self, value: pulumi.Input[str]): @property @pulumi.getter - def param(self) -> pulumi.Input[str]: + def value(self) -> pulumi.Input[str]: """ - Parameter of the add-on resource object in JSON string format, please check the example at the top of page for reference. + Value of map. """ - return pulumi.get(self, "param") + return pulumi.get(self, "value") - @param.setter - def param(self, value: pulumi.Input[str]): - pulumi.set(self, "param", value) + @value.setter + def value(self, value: pulumi.Input[str]): + pulumi.set(self, "value", value) @pulumi.input_type -class ClusterLogAgentArgs: +class ClusterMasterAttachmentMasterConfigTaintArgs: def __init__(__self__, *, - enabled: pulumi.Input[bool], - kubelet_root_dir: Optional[pulumi.Input[str]] = None): + effect: Optional[pulumi.Input[str]] = None, + key: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[bool] enabled: Whether the log agent enabled. - :param pulumi.Input[str] kubelet_root_dir: Kubelet root directory as the literal. + :param pulumi.Input[str] effect: Effect of the taint. + :param pulumi.Input[str] key: Key of the taint. + :param pulumi.Input[str] value: Value of the taint. """ - pulumi.set(__self__, "enabled", enabled) - if kubelet_root_dir is not None: - pulumi.set(__self__, "kubelet_root_dir", kubelet_root_dir) + if effect is not None: + pulumi.set(__self__, "effect", effect) + if key is not None: + pulumi.set(__self__, "key", key) + if value is not None: + pulumi.set(__self__, "value", value) @property @pulumi.getter - def enabled(self) -> pulumi.Input[bool]: + def effect(self) -> Optional[pulumi.Input[str]]: """ - Whether the log agent enabled. + Effect of the taint. """ - return pulumi.get(self, "enabled") + return pulumi.get(self, "effect") - @enabled.setter - def enabled(self, value: pulumi.Input[bool]): - pulumi.set(self, "enabled", value) + @effect.setter + def effect(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "effect", value) @property - @pulumi.getter(name="kubeletRootDir") - def kubelet_root_dir(self) -> Optional[pulumi.Input[str]]: + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: """ - Kubelet root directory as the literal. + Key of the taint. """ - return pulumi.get(self, "kubelet_root_dir") + return pulumi.get(self, "key") - @kubelet_root_dir.setter - def kubelet_root_dir(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "kubelet_root_dir", value) + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter + def value(self) -> Optional[pulumi.Input[str]]: + """ + Value of the taint. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "value", value) @pulumi.input_type @@ -1901,6 +3143,59 @@ def skip_nodes_with_system_pods(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "skip_nodes_with_system_pods", value) +@pulumi.input_type +class ClusterResourceDeleteOptionArgs: + def __init__(__self__, *, + delete_mode: pulumi.Input[str], + resource_type: pulumi.Input[str], + skip_deletion_protection: Optional[pulumi.Input[bool]] = None): + """ + :param pulumi.Input[str] delete_mode: The deletion mode of CBS resources when the cluster is deleted, `terminate` (destroy), `retain` (retain). Other resources are deleted by default. + :param pulumi.Input[str] resource_type: Resource type, valid values are `CBS`, `CLB`, and `CVM`. + :param pulumi.Input[bool] skip_deletion_protection: Whether to skip resources with deletion protection enabled, the default is false. + """ + pulumi.set(__self__, "delete_mode", delete_mode) + pulumi.set(__self__, "resource_type", resource_type) + if skip_deletion_protection is not None: + pulumi.set(__self__, "skip_deletion_protection", skip_deletion_protection) + + @property + @pulumi.getter(name="deleteMode") + def delete_mode(self) -> pulumi.Input[str]: + """ + The deletion mode of CBS resources when the cluster is deleted, `terminate` (destroy), `retain` (retain). Other resources are deleted by default. + """ + return pulumi.get(self, "delete_mode") + + @delete_mode.setter + def delete_mode(self, value: pulumi.Input[str]): + pulumi.set(self, "delete_mode", value) + + @property + @pulumi.getter(name="resourceType") + def resource_type(self) -> pulumi.Input[str]: + """ + Resource type, valid values are `CBS`, `CLB`, and `CVM`. + """ + return pulumi.get(self, "resource_type") + + @resource_type.setter + def resource_type(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_type", value) + + @property + @pulumi.getter(name="skipDeletionProtection") + def skip_deletion_protection(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to skip resources with deletion protection enabled, the default is false. + """ + return pulumi.get(self, "skip_deletion_protection") + + @skip_deletion_protection.setter + def skip_deletion_protection(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "skip_deletion_protection", value) + + @pulumi.input_type class ClusterWorkerConfigArgs: def __init__(__self__, *, @@ -2615,6 +3910,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__, *, @@ -2707,6 +4054,7 @@ def __init__(__self__, *, key_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, kubelet_args: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, lifecycle: Optional[pulumi.Input['NativeNodePoolNativeLifecycleArgs']] = None, + machine_type: Optional[pulumi.Input[str]] = None, management: Optional[pulumi.Input['NativeNodePoolNativeManagementArgs']] = None, replicas: Optional[pulumi.Input[int]] = None, runtime_root_dir: Optional[pulumi.Input[str]] = None, @@ -2727,6 +4075,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] key_ids: Node pool ssh public key id array. :param pulumi.Input[Sequence[pulumi.Input[str]]] kubelet_args: Kubelet custom parameters. :param pulumi.Input['NativeNodePoolNativeLifecycleArgs'] lifecycle: Predefined scripts. + :param pulumi.Input[str] machine_type: Node pool type. Example value: `NativeCVM` or `Native`. Default is `Native`. :param pulumi.Input['NativeNodePoolNativeManagementArgs'] management: Node pool management parameter settings. :param pulumi.Input[int] replicas: Desired number of nodes. :param pulumi.Input[str] runtime_root_dir: Runtime root directory. @@ -2757,6 +4106,8 @@ def __init__(__self__, *, pulumi.set(__self__, "kubelet_args", kubelet_args) if lifecycle is not None: pulumi.set(__self__, "lifecycle", lifecycle) + if machine_type is not None: + pulumi.set(__self__, "machine_type", machine_type) if management is not None: pulumi.set(__self__, "management", management) if replicas is not None: @@ -2946,6 +4297,18 @@ def lifecycle(self) -> Optional[pulumi.Input['NativeNodePoolNativeLifecycleArgs' def lifecycle(self, value: Optional[pulumi.Input['NativeNodePoolNativeLifecycleArgs']]): pulumi.set(self, "lifecycle", value) + @property + @pulumi.getter(name="machineType") + def machine_type(self) -> Optional[pulumi.Input[str]]: + """ + Node pool type. Example value: `NativeCVM` or `Native`. Default is `Native`. + """ + return pulumi.get(self, "machine_type") + + @machine_type.setter + def machine_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "machine_type", value) + @property @pulumi.getter def management(self) -> Optional[pulumi.Input['NativeNodePoolNativeManagementArgs']]: @@ -3569,6 +4932,43 @@ def value(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "value", value) +@pulumi.input_type +class NodePoolAnnotationArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + value: pulumi.Input[str]): + """ + :param pulumi.Input[str] name: Name in the map table. + :param pulumi.Input[str] value: Value in the map table. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + Name in the map table. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[str]: + """ + Value in the map table. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[str]): + pulumi.set(self, "value", value) + + @pulumi.input_type class NodePoolAutoScalingConfigArgs: def __init__(__self__, *, @@ -3585,6 +4985,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 +5011,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 +5049,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 +5233,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 +5881,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 +5896,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 +5919,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]]: @@ -4635,6 +6067,61 @@ def mig_enable(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "mig_enable", value) +@pulumi.input_type +class ScaleWorkerTaintArgs: + def __init__(__self__, *, + effect: Optional[pulumi.Input[str]] = None, + key: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] effect: Effect of the taint. + :param pulumi.Input[str] key: Key of the taint. + :param pulumi.Input[str] value: Value of the taint. + """ + if effect is not None: + pulumi.set(__self__, "effect", effect) + if key is not None: + pulumi.set(__self__, "key", key) + if value is not None: + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def effect(self) -> Optional[pulumi.Input[str]]: + """ + Effect of the taint. + """ + return pulumi.get(self, "effect") + + @effect.setter + def effect(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "effect", value) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + Key of the taint. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter + def value(self) -> Optional[pulumi.Input[str]]: + """ + Value of the taint. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "value", value) + + @pulumi.input_type class ScaleWorkerWorkerConfigArgs: def __init__(__self__, *, @@ -4672,7 +6159,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 +6310,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 +6582,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 +6598,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 +6619,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 +6634,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 +6685,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 +6712,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/auth_attachment.py b/sdk/python/tencentcloud_iac_pulumi/kubernetes/auth_attachment.py index 1586ada38..acf30b145 100644 --- a/sdk/python/tencentcloud_iac_pulumi/kubernetes/auth_attachment.py +++ b/sdk/python/tencentcloud_iac_pulumi/kubernetes/auth_attachment.py @@ -383,7 +383,7 @@ def __init__(__self__, password="ZZXXccvv1212", )], cluster_deploy_type="MANAGED_CLUSTER") - test_auth_attach = tencentcloud.kubernetes.AuthAttachment("testAuthAttach", + example = tencentcloud.kubernetes.AuthAttachment("example", cluster_id=managed_cluster.id, jwks_uri=managed_cluster.id.apply(lambda id: f"https://{id}.ccs.tencent-cloud.com/openid/v1/jwks"), issuer=managed_cluster.id.apply(lambda id: f"https://{id}.ccs.tencent-cloud.com"), @@ -442,7 +442,7 @@ def __init__(__self__, )], cluster_deploy_type="MANAGED_CLUSTER") # if you want to use tke default issuer and jwks_uri, please set use_tke_default to true and set issuer to empty string. - test_use_tke_default_auth_attach = tencentcloud.kubernetes.AuthAttachment("testUseTkeDefaultAuthAttach", + example = tencentcloud.kubernetes.AuthAttachment("example", cluster_id=managed_cluster.id, auto_create_discovery_anonymous_auth=True, use_tke_default=True) @@ -457,7 +457,7 @@ def __init__(__self__, import pulumi_tencentcloud as tencentcloud import tencentcloud_iac_pulumi as tencentcloud - test_auth_attach = tencentcloud.kubernetes.AuthAttachment("testAuthAttach", + example = tencentcloud.kubernetes.AuthAttachment("example", cluster_id=tencentcloud_kubernetes_cluster["managed_cluster"]["id"], use_tke_default=True, auto_create_discovery_anonymous_auth=True, @@ -474,7 +474,7 @@ def __init__(__self__, tke cluster authentication can be imported, e.g. ```sh - $ pulumi import tencentcloud:Kubernetes/authAttachment:AuthAttachment test cls-xxx + $ pulumi import tencentcloud:Kubernetes/authAttachment:AuthAttachment example cls-fp5o961e ``` :param str resource_name: The name of the resource. @@ -549,7 +549,7 @@ def __init__(__self__, password="ZZXXccvv1212", )], cluster_deploy_type="MANAGED_CLUSTER") - test_auth_attach = tencentcloud.kubernetes.AuthAttachment("testAuthAttach", + example = tencentcloud.kubernetes.AuthAttachment("example", cluster_id=managed_cluster.id, jwks_uri=managed_cluster.id.apply(lambda id: f"https://{id}.ccs.tencent-cloud.com/openid/v1/jwks"), issuer=managed_cluster.id.apply(lambda id: f"https://{id}.ccs.tencent-cloud.com"), @@ -608,7 +608,7 @@ def __init__(__self__, )], cluster_deploy_type="MANAGED_CLUSTER") # if you want to use tke default issuer and jwks_uri, please set use_tke_default to true and set issuer to empty string. - test_use_tke_default_auth_attach = tencentcloud.kubernetes.AuthAttachment("testUseTkeDefaultAuthAttach", + example = tencentcloud.kubernetes.AuthAttachment("example", cluster_id=managed_cluster.id, auto_create_discovery_anonymous_auth=True, use_tke_default=True) @@ -623,7 +623,7 @@ def __init__(__self__, import pulumi_tencentcloud as tencentcloud import tencentcloud_iac_pulumi as tencentcloud - test_auth_attach = tencentcloud.kubernetes.AuthAttachment("testAuthAttach", + example = tencentcloud.kubernetes.AuthAttachment("example", cluster_id=tencentcloud_kubernetes_cluster["managed_cluster"]["id"], use_tke_default=True, auto_create_discovery_anonymous_auth=True, @@ -640,7 +640,7 @@ def __init__(__self__, tke cluster authentication can be imported, e.g. ```sh - $ pulumi import tencentcloud:Kubernetes/authAttachment:AuthAttachment test cls-xxx + $ pulumi import tencentcloud:Kubernetes/authAttachment:AuthAttachment example cls-fp5o961e ``` :param str resource_name: The name of the resource. diff --git a/sdk/python/tencentcloud_iac_pulumi/kubernetes/cluster.py b/sdk/python/tencentcloud_iac_pulumi/kubernetes/cluster.py index 8e92f8703..5ff31380a 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,8 @@ 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, + instance_delete_mode: Optional[pulumi.Input[str]] = 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,7 +66,9 @@ 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, + resource_delete_options: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterResourceDeleteOptionArgs']]]] = None, runtime_version: Optional[pulumi.Input[str]] = None, service_cidr: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, @@ -78,6 +83,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 +116,8 @@ 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[str] instance_delete_mode: The strategy for deleting cluster instances: terminate (destroy instances, only support pay as you go cloud host instances) retain (remove only, keep instances), Default is terminate. :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,7 +128,9 @@ 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[Sequence[pulumi.Input['ClusterResourceDeleteOptionArgs']]] resource_delete_options: The resource deletion policy when the cluster is deleted. Currently, CBS is supported (CBS is retained by default). Only valid when deleting cluster. :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. :param pulumi.Input[Mapping[str, Any]] tags: The tags of the cluster. @@ -138,6 +148,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 +214,10 @@ 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 instance_delete_mode is not None: + pulumi.set(__self__, "instance_delete_mode", instance_delete_mode) 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,8 +241,12 @@ 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 resource_delete_options is not None: + pulumi.set(__self__, "resource_delete_options", resource_delete_options) if runtime_version is not None: pulumi.set(__self__, "runtime_version", runtime_version) if service_cidr is not None: @@ -302,6 +322,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 +718,30 @@ 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="instanceDeleteMode") + def instance_delete_mode(self) -> Optional[pulumi.Input[str]]: + """ + The strategy for deleting cluster instances: terminate (destroy instances, only support pay as you go cloud host instances) retain (remove only, keep instances), Default is terminate. + """ + return pulumi.get(self, "instance_delete_mode") + + @instance_delete_mode.setter + def instance_delete_mode(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "instance_delete_mode", value) + @property @pulumi.getter(name="isNonStaticIpMode") def is_non_static_ip_mode(self) -> Optional[pulumi.Input[bool]]: @@ -809,6 +865,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]]: @@ -821,6 +889,18 @@ def project_id(self) -> Optional[pulumi.Input[int]]: def project_id(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "project_id", value) + @property + @pulumi.getter(name="resourceDeleteOptions") + def resource_delete_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterResourceDeleteOptionArgs']]]]: + """ + The resource deletion policy when the cluster is deleted. Currently, CBS is supported (CBS is retained by default). Only valid when deleting cluster. + """ + return pulumi.get(self, "resource_delete_options") + + @resource_delete_options.setter + def resource_delete_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterResourceDeleteOptionArgs']]]]): + pulumi.set(self, "resource_delete_options", value) + @property @pulumi.getter(name="runtimeVersion") def runtime_version(self) -> Optional[pulumi.Input[str]]: @@ -913,6 +993,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 +1031,8 @@ 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, + instance_delete_mode: Optional[pulumi.Input[str]] = 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,7 +1047,9 @@ 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, + resource_delete_options: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterResourceDeleteOptionArgs']]]] = None, runtime_version: Optional[pulumi.Input[str]] = None, security_policies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, service_cidr: Optional[pulumi.Input[str]] = None, @@ -982,6 +1067,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 +1105,8 @@ 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[str] instance_delete_mode: The strategy for deleting cluster instances: terminate (destroy instances, only support pay as you go cloud host instances) retain (remove only, keep instances), Default is terminate. :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,7 +1121,9 @@ 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[Sequence[pulumi.Input['ClusterResourceDeleteOptionArgs']]] resource_delete_options: The resource deletion policy when the cluster is deleted. Currently, CBS is supported (CBS is retained by default). Only valid when deleting cluster. :param pulumi.Input[str] runtime_version: Container Runtime version. :param pulumi.Input[Sequence[pulumi.Input[str]]] security_policies: Access policy. :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. @@ -1054,6 +1144,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 +1223,10 @@ 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 instance_delete_mode is not None: + pulumi.set(__self__, "instance_delete_mode", instance_delete_mode) 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,8 +1258,12 @@ 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 resource_delete_options is not None: + pulumi.set(__self__, "resource_delete_options", resource_delete_options) if runtime_version is not None: pulumi.set(__self__, "runtime_version", runtime_version) if security_policies is not None: @@ -1235,6 +1335,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 +1794,30 @@ 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="instanceDeleteMode") + def instance_delete_mode(self) -> Optional[pulumi.Input[str]]: + """ + The strategy for deleting cluster instances: terminate (destroy instances, only support pay as you go cloud host instances) retain (remove only, keep instances), Default is terminate. + """ + return pulumi.get(self, "instance_delete_mode") + + @instance_delete_mode.setter + def instance_delete_mode(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "instance_delete_mode", value) + @property @pulumi.getter(name="isNonStaticIpMode") def is_non_static_ip_mode(self) -> Optional[pulumi.Input[bool]]: @@ -1853,6 +1989,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]]: @@ -1865,6 +2013,18 @@ def project_id(self) -> Optional[pulumi.Input[int]]: def project_id(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "project_id", value) + @property + @pulumi.getter(name="resourceDeleteOptions") + def resource_delete_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterResourceDeleteOptionArgs']]]]: + """ + The resource deletion policy when the cluster is deleted. Currently, CBS is supported (CBS is retained by default). Only valid when deleting cluster. + """ + return pulumi.get(self, "resource_delete_options") + + @resource_delete_options.setter + def resource_delete_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterResourceDeleteOptionArgs']]]]): + pulumi.set(self, "resource_delete_options", value) + @property @pulumi.getter(name="runtimeVersion") def runtime_version(self) -> Optional[pulumi.Input[str]]: @@ -2007,6 +2167,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 +2200,8 @@ 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, + instance_delete_mode: Optional[pulumi.Input[str]] = 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,7 +2212,9 @@ 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, + resource_delete_options: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterResourceDeleteOptionArgs']]]]] = None, runtime_version: Optional[pulumi.Input[str]] = None, service_cidr: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, @@ -2060,13 +2225,6 @@ def __init__(__self__, worker_configs: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterWorkerConfigArgs']]]]] = None, __props__=None): """ - Provide a resource to create a kubernetes cluster. - - > **NOTE:** To use the custom Kubernetes component startup parameter function (parameter `extra_args`), you need to submit a ticket for application. - - > **NOTE:** We recommend this usage that uses the `Kubernetes.Cluster` resource to create a cluster without any `worker_config`, then adds nodes by the `Kubernetes.NodePool` resource. - It's more flexible than managing worker config directly with `Kubernetes.Cluster`, `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`. - ## Example Usage ### Use node pool global config @@ -2214,12 +2372,67 @@ def __init__(__self__, ``` + ### Use delete options to delete CBS when deleting the Cluster + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.kubernetes.Cluster("example", + vpc_id=local["first_vpc_id"], + cluster_cidr=var["example_cluster_cidr"], + cluster_max_pod_num=32, + cluster_name="example", + cluster_desc="example for tke cluster", + cluster_max_service_num=32, + cluster_level="L50", + auto_upgrade_cluster_level=True, + cluster_internet=False, + cluster_version="1.30.0", + cluster_os="tlinux2.2(tkernel3)x86_64", + cluster_deploy_type="MANAGED_CLUSTER", + container_runtime="containerd", + docker_graph_path="/var/lib/containerd", + tags={ + "demo": "test", + }, + worker_configs=[tencentcloud.kubernetes.ClusterWorkerConfigArgs( + count=1, + availability_zone=var["availability_zone_first"], + instance_type="SA2.MEDIUM2", + system_disk_type="CLOUD_SSD", + system_disk_size=60, + internet_charge_type="TRAFFIC_POSTPAID_BY_HOUR", + internet_max_bandwidth_out=100, + public_ip_assigned=True, + subnet_id=local["first_subnet_id"], + data_disks=[tencentcloud.kubernetes.ClusterWorkerConfigDataDiskArgs( + disk_type="CLOUD_PREMIUM", + disk_size=50, + )], + enhanced_security_service=False, + enhanced_monitor_service=False, + user_data="dGVzdA==", + disaster_recover_group_ids=[], + security_group_ids=[], + key_ids=[], + cam_role_name="CVM_QcsRole", + password="ZZXXccvv1212", + )], + resource_delete_options=[tencentcloud.kubernetes.ClusterResourceDeleteOptionArgs( + resource_type="CBS", + delete_mode="terminate", + )]) + ``` + + ## Import tke cluster can be imported, e.g. ```sh - $ pulumi import tencentcloud:Kubernetes/cluster:Cluster test cls-xxx + $ pulumi import tencentcloud:Kubernetes/cluster:Cluster example cls-n2h4jbtk ``` :param str resource_name: The name of the resource. @@ -2228,6 +2441,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 +2474,8 @@ 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[str] instance_delete_mode: The strategy for deleting cluster instances: terminate (destroy instances, only support pay as you go cloud host instances) retain (remove only, keep instances), Default is terminate. :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,7 +2486,9 @@ 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[Sequence[pulumi.Input[pulumi.InputType['ClusterResourceDeleteOptionArgs']]]] resource_delete_options: The resource deletion policy when the cluster is deleted. Currently, CBS is supported (CBS is retained by default). Only valid when deleting cluster. :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. :param pulumi.Input[Mapping[str, Any]] tags: The tags of the cluster. @@ -2287,13 +2505,6 @@ def __init__(__self__, args: ClusterArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Provide a resource to create a kubernetes cluster. - - > **NOTE:** To use the custom Kubernetes component startup parameter function (parameter `extra_args`), you need to submit a ticket for application. - - > **NOTE:** We recommend this usage that uses the `Kubernetes.Cluster` resource to create a cluster without any `worker_config`, then adds nodes by the `Kubernetes.NodePool` resource. - It's more flexible than managing worker config directly with `Kubernetes.Cluster`, `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`. - ## Example Usage ### Use node pool global config @@ -2441,12 +2652,67 @@ def __init__(__self__, ``` + ### Use delete options to delete CBS when deleting the Cluster + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.kubernetes.Cluster("example", + vpc_id=local["first_vpc_id"], + cluster_cidr=var["example_cluster_cidr"], + cluster_max_pod_num=32, + cluster_name="example", + cluster_desc="example for tke cluster", + cluster_max_service_num=32, + cluster_level="L50", + auto_upgrade_cluster_level=True, + cluster_internet=False, + cluster_version="1.30.0", + cluster_os="tlinux2.2(tkernel3)x86_64", + cluster_deploy_type="MANAGED_CLUSTER", + container_runtime="containerd", + docker_graph_path="/var/lib/containerd", + tags={ + "demo": "test", + }, + worker_configs=[tencentcloud.kubernetes.ClusterWorkerConfigArgs( + count=1, + availability_zone=var["availability_zone_first"], + instance_type="SA2.MEDIUM2", + system_disk_type="CLOUD_SSD", + system_disk_size=60, + internet_charge_type="TRAFFIC_POSTPAID_BY_HOUR", + internet_max_bandwidth_out=100, + public_ip_assigned=True, + subnet_id=local["first_subnet_id"], + data_disks=[tencentcloud.kubernetes.ClusterWorkerConfigDataDiskArgs( + disk_type="CLOUD_PREMIUM", + disk_size=50, + )], + enhanced_security_service=False, + enhanced_monitor_service=False, + user_data="dGVzdA==", + disaster_recover_group_ids=[], + security_group_ids=[], + key_ids=[], + cam_role_name="CVM_QcsRole", + password="ZZXXccvv1212", + )], + resource_delete_options=[tencentcloud.kubernetes.ClusterResourceDeleteOptionArgs( + resource_type="CBS", + delete_mode="terminate", + )]) + ``` + + ## Import tke cluster can be imported, e.g. ```sh - $ pulumi import tencentcloud:Kubernetes/cluster:Cluster test cls-xxx + $ pulumi import tencentcloud:Kubernetes/cluster:Cluster example cls-n2h4jbtk ``` :param str resource_name: The name of the resource. @@ -2468,6 +2734,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 +2767,8 @@ 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, + instance_delete_mode: Optional[pulumi.Input[str]] = 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,7 +2779,9 @@ 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, + resource_delete_options: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterResourceDeleteOptionArgs']]]]] = None, runtime_version: Optional[pulumi.Input[str]] = None, service_cidr: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, @@ -2532,6 +2803,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 +2836,8 @@ 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__["instance_delete_mode"] = instance_delete_mode __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,7 +2848,9 @@ 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__["resource_delete_options"] = resource_delete_options __props__.__dict__["runtime_version"] = runtime_version __props__.__dict__["service_cidr"] = service_cidr __props__.__dict__["tags"] = tags @@ -2611,6 +2887,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 +2925,8 @@ 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, + instance_delete_mode: Optional[pulumi.Input[str]] = 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,7 +2941,9 @@ 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, + resource_delete_options: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterResourceDeleteOptionArgs']]]]] = None, runtime_version: Optional[pulumi.Input[str]] = None, security_policies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, service_cidr: Optional[pulumi.Input[str]] = None, @@ -2685,6 +2966,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 +3004,8 @@ 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[str] instance_delete_mode: The strategy for deleting cluster instances: terminate (destroy instances, only support pay as you go cloud host instances) retain (remove only, keep instances), Default is terminate. :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,7 +3020,9 @@ 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[Sequence[pulumi.Input[pulumi.InputType['ClusterResourceDeleteOptionArgs']]]] resource_delete_options: The resource deletion policy when the cluster is deleted. Currently, CBS is supported (CBS is retained by default). Only valid when deleting cluster. :param pulumi.Input[str] runtime_version: Container Runtime version. :param pulumi.Input[Sequence[pulumi.Input[str]]] security_policies: Access policy. :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. @@ -2757,6 +3043,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 +3081,8 @@ 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__["instance_delete_mode"] = instance_delete_mode __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,7 +3097,9 @@ 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__["resource_delete_options"] = resource_delete_options __props__.__dict__["runtime_version"] = runtime_version __props__.__dict__["security_policies"] = security_policies __props__.__dict__["service_cidr"] = service_cidr @@ -2854,6 +3145,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 +3452,22 @@ 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="instanceDeleteMode") + def instance_delete_mode(self) -> pulumi.Output[Optional[str]]: + """ + The strategy for deleting cluster instances: terminate (destroy instances, only support pay as you go cloud host instances) retain (remove only, keep instances), Default is terminate. + """ + return pulumi.get(self, "instance_delete_mode") + @property @pulumi.getter(name="isNonStaticIpMode") def is_non_static_ip_mode(self) -> pulumi.Output[Optional[bool]]: @@ -3268,6 +3583,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]]: @@ -3276,6 +3599,14 @@ def project_id(self) -> pulumi.Output[Optional[int]]: """ return pulumi.get(self, "project_id") + @property + @pulumi.getter(name="resourceDeleteOptions") + def resource_delete_options(self) -> pulumi.Output[Optional[Sequence['outputs.ClusterResourceDeleteOption']]]: + """ + The resource deletion policy when the cluster is deleted. Currently, CBS is supported (CBS is retained by default). Only valid when deleting cluster. + """ + return pulumi.get(self, "resource_delete_options") + @property @pulumi.getter(name="runtimeVersion") def runtime_version(self) -> pulumi.Output[Optional[str]]: diff --git a/sdk/python/tencentcloud_iac_pulumi/kubernetes/cluster_attachment.py b/sdk/python/tencentcloud_iac_pulumi/kubernetes/cluster_attachment.py index 43d1bdcaf..e28528b43 100644 --- a/sdk/python/tencentcloud_iac_pulumi/kubernetes/cluster_attachment.py +++ b/sdk/python/tencentcloud_iac_pulumi/kubernetes/cluster_attachment.py @@ -19,9 +19,11 @@ 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, + security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, unschedulable: Optional[pulumi.Input[int]] = None, worker_config: Optional[pulumi.Input['ClusterAttachmentWorkerConfigArgs']] = None, worker_config_overrides: Optional[pulumi.Input['ClusterAttachmentWorkerConfigOverridesArgs']] = None): @@ -30,10 +32,12 @@ 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[Sequence[pulumi.Input[str]]] security_groups: A list of security group IDs after attach to cluster. + :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,12 +45,16 @@ 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: pulumi.set(__self__, "labels", labels) if password is not None: pulumi.set(__self__, "password", password) + if security_groups is not None: + pulumi.set(__self__, "security_groups", security_groups) if unschedulable is not None: pulumi.set(__self__, "unschedulable", unschedulable) if worker_config is not None: @@ -90,6 +98,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]]: @@ -126,11 +146,23 @@ def password(self) -> Optional[pulumi.Input[str]]: def password(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "password", value) + @property + @pulumi.getter(name="securityGroups") + def security_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + A list of security group IDs after attach to cluster. + """ + return pulumi.get(self, "security_groups") + + @security_groups.setter + def security_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "security_groups", value) + @property @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 +200,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 +214,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 +229,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 +274,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 +362,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,10 +402,12 @@ 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, password: Optional[pulumi.Input[str]] = None, + security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, unschedulable: Optional[pulumi.Input[int]] = None, worker_config: Optional[pulumi.Input[pulumi.InputType['ClusterAttachmentWorkerConfigArgs']]] = None, worker_config_overrides: Optional[pulumi.Input[pulumi.InputType['ClusterAttachmentWorkerConfigOverridesArgs']]] = None, @@ -365,6 +415,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 +497,13 @@ 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[Sequence[pulumi.Input[str]]] security_groups: A list of security group IDs after attach to cluster. + :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 +516,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,10 +611,12 @@ 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, password: Optional[pulumi.Input[str]] = None, + security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, unschedulable: Optional[pulumi.Input[int]] = None, worker_config: Optional[pulumi.Input[pulumi.InputType['ClusterAttachmentWorkerConfigArgs']]] = None, worker_config_overrides: Optional[pulumi.Input[pulumi.InputType['ClusterAttachmentWorkerConfigOverridesArgs']]] = None, @@ -575,16 +633,17 @@ 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 __props__.__dict__["key_ids"] = key_ids __props__.__dict__["labels"] = labels __props__.__dict__["password"] = None if password is None else pulumi.Output.secret(password) + __props__.__dict__["security_groups"] = security_groups __props__.__dict__["unschedulable"] = unschedulable __props__.__dict__["worker_config"] = worker_config __props__.__dict__["worker_config_overrides"] = worker_config_overrides - __props__.__dict__["security_groups"] = None __props__.__dict__["state"] = None secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["password"]) opts = pulumi.ResourceOptions.merge(opts, secret_opts) @@ -600,6 +659,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 +678,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 +695,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 +723,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 +783,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/cluster_master_attachment.py b/sdk/python/tencentcloud_iac_pulumi/kubernetes/cluster_master_attachment.py new file mode 100644 index 000000000..b1599bd2c --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/kubernetes/cluster_master_attachment.py @@ -0,0 +1,716 @@ +# 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__ = ['ClusterMasterAttachmentArgs', 'ClusterMasterAttachment'] + +@pulumi.input_type +class ClusterMasterAttachmentArgs: + def __init__(__self__, *, + cluster_id: pulumi.Input[str], + instance_id: pulumi.Input[str], + node_role: pulumi.Input[str], + desired_pod_numbers: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + enhanced_automation_service: Optional[pulumi.Input[bool]] = None, + enhanced_monitor_service: Optional[pulumi.Input[bool]] = None, + enhanced_security_service: Optional[pulumi.Input[bool]] = None, + extra_args: Optional[pulumi.Input['ClusterMasterAttachmentExtraArgsArgs']] = None, + host_name: Optional[pulumi.Input[str]] = None, + key_ids: Optional[pulumi.Input[str]] = None, + master_config: Optional[pulumi.Input['ClusterMasterAttachmentMasterConfigArgs']] = None, + password: Optional[pulumi.Input[str]] = None, + security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a ClusterMasterAttachment resource. + :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] node_role: Node role, values: MASTER_ETCD, WORKER. MASTER_ETCD needs to be specified only when creating an INDEPENDENT_CLUSTER independent cluster. The number of MASTER_ETCD nodes is 3-7, and it is recommended to have an odd number. The minimum configuration for MASTER_ETCD is 4C8G. + :param pulumi.Input[Sequence[pulumi.Input[int]]] desired_pod_numbers: When the node belongs to the podCIDR size customization mode, the maximum number of pods running on the node can be specified. + :param pulumi.Input[bool] enhanced_automation_service: Activate TencentCloud Automation Tools (TAT) service. If this parameter is not specified, the public image will default to enabling the Cloud Automation Assistant service, while other images will default to not enabling the Cloud Automation Assistant service. + :param pulumi.Input[bool] enhanced_monitor_service: To specify whether to enable cloud monitor service. Default is TRUE. + :param pulumi.Input[bool] enhanced_security_service: To specify whether to enable cloud security service. Default is TRUE. + :param pulumi.Input['ClusterMasterAttachmentExtraArgsArgs'] extra_args: Custom parameters for cluster master component. + :param pulumi.Input[str] host_name: When reinstalling the system, you can specify the HostName of the instance to be modified (this parameter must be passed when the cluster is in HostName mode, and the rule name should be consistent with the HostName of the CVM instance creation interface except that uppercase characters are not supported). + :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['ClusterMasterAttachmentMasterConfigArgs'] master_config: Advanced Node Settings. commonly used to attach existing instances. + :param pulumi.Input[str] password: Password to access, should be set if `key_ids` not set. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: The security group to which the instance belongs. This parameter can be obtained by calling the sgId field in the return value of DescribeSecureGroups. If this parameter is not specified, the default security group will be bound. + """ + pulumi.set(__self__, "cluster_id", cluster_id) + pulumi.set(__self__, "instance_id", instance_id) + pulumi.set(__self__, "node_role", node_role) + if desired_pod_numbers is not None: + pulumi.set(__self__, "desired_pod_numbers", desired_pod_numbers) + if enhanced_automation_service is not None: + pulumi.set(__self__, "enhanced_automation_service", enhanced_automation_service) + if enhanced_monitor_service is not None: + pulumi.set(__self__, "enhanced_monitor_service", enhanced_monitor_service) + if enhanced_security_service is not None: + pulumi.set(__self__, "enhanced_security_service", enhanced_security_service) + if extra_args is not None: + pulumi.set(__self__, "extra_args", extra_args) + if host_name is not None: + pulumi.set(__self__, "host_name", host_name) + if key_ids is not None: + pulumi.set(__self__, "key_ids", key_ids) + if master_config is not None: + pulumi.set(__self__, "master_config", master_config) + if password is not None: + pulumi.set(__self__, "password", password) + if security_group_ids is not None: + pulumi.set(__self__, "security_group_ids", security_group_ids) + + @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(name="instanceId") + def instance_id(self) -> pulumi.Input[str]: + """ + ID of the CVM instance, this cvm will reinstall the system. + """ + 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="nodeRole") + def node_role(self) -> pulumi.Input[str]: + """ + Node role, values: MASTER_ETCD, WORKER. MASTER_ETCD needs to be specified only when creating an INDEPENDENT_CLUSTER independent cluster. The number of MASTER_ETCD nodes is 3-7, and it is recommended to have an odd number. The minimum configuration for MASTER_ETCD is 4C8G. + """ + return pulumi.get(self, "node_role") + + @node_role.setter + def node_role(self, value: pulumi.Input[str]): + pulumi.set(self, "node_role", value) + + @property + @pulumi.getter(name="desiredPodNumbers") + def desired_pod_numbers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]: + """ + When the node belongs to the podCIDR size customization mode, the maximum number of pods running on the node can be specified. + """ + return pulumi.get(self, "desired_pod_numbers") + + @desired_pod_numbers.setter + def desired_pod_numbers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]): + pulumi.set(self, "desired_pod_numbers", value) + + @property + @pulumi.getter(name="enhancedAutomationService") + def enhanced_automation_service(self) -> Optional[pulumi.Input[bool]]: + """ + Activate TencentCloud Automation Tools (TAT) service. If this parameter is not specified, the public image will default to enabling the Cloud Automation Assistant service, while other images will default to not enabling the Cloud Automation Assistant service. + """ + return pulumi.get(self, "enhanced_automation_service") + + @enhanced_automation_service.setter + def enhanced_automation_service(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enhanced_automation_service", value) + + @property + @pulumi.getter(name="enhancedMonitorService") + def enhanced_monitor_service(self) -> Optional[pulumi.Input[bool]]: + """ + To specify whether to enable cloud monitor service. Default is TRUE. + """ + return pulumi.get(self, "enhanced_monitor_service") + + @enhanced_monitor_service.setter + def enhanced_monitor_service(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enhanced_monitor_service", value) + + @property + @pulumi.getter(name="enhancedSecurityService") + def enhanced_security_service(self) -> Optional[pulumi.Input[bool]]: + """ + To specify whether to enable cloud security service. Default is TRUE. + """ + return pulumi.get(self, "enhanced_security_service") + + @enhanced_security_service.setter + def enhanced_security_service(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enhanced_security_service", value) + + @property + @pulumi.getter(name="extraArgs") + def extra_args(self) -> Optional[pulumi.Input['ClusterMasterAttachmentExtraArgsArgs']]: + """ + Custom parameters for cluster master component. + """ + return pulumi.get(self, "extra_args") + + @extra_args.setter + def extra_args(self, value: Optional[pulumi.Input['ClusterMasterAttachmentExtraArgsArgs']]): + pulumi.set(self, "extra_args", value) + + @property + @pulumi.getter(name="hostName") + def host_name(self) -> Optional[pulumi.Input[str]]: + """ + When reinstalling the system, you can specify the HostName of the instance to be modified (this parameter must be passed when the cluster is in HostName mode, and the rule name should be consistent with the HostName of the CVM instance creation interface except that uppercase characters are not supported). + """ + 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="keyIds") + def key_ids(self) -> Optional[pulumi.Input[str]]: + """ + The key pair to use for the instance, it looks like skey-16jig7tx, it should be set if `password` not set. + """ + return pulumi.get(self, "key_ids") + + @key_ids.setter + def key_ids(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key_ids", value) + + @property + @pulumi.getter(name="masterConfig") + def master_config(self) -> Optional[pulumi.Input['ClusterMasterAttachmentMasterConfigArgs']]: + """ + Advanced Node Settings. commonly used to attach existing instances. + """ + return pulumi.get(self, "master_config") + + @master_config.setter + def master_config(self, value: Optional[pulumi.Input['ClusterMasterAttachmentMasterConfigArgs']]): + pulumi.set(self, "master_config", value) + + @property + @pulumi.getter + def password(self) -> Optional[pulumi.Input[str]]: + """ + Password to access, should be set if `key_ids` not set. + """ + return pulumi.get(self, "password") + + @password.setter + def password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "password", value) + + @property + @pulumi.getter(name="securityGroupIds") + def security_group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The security group to which the instance belongs. This parameter can be obtained by calling the sgId field in the return value of DescribeSecureGroups. If this parameter is not specified, the default security group will be bound. + """ + 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) + + +@pulumi.input_type +class _ClusterMasterAttachmentState: + def __init__(__self__, *, + cluster_id: Optional[pulumi.Input[str]] = None, + desired_pod_numbers: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + enhanced_automation_service: Optional[pulumi.Input[bool]] = None, + enhanced_monitor_service: Optional[pulumi.Input[bool]] = None, + enhanced_security_service: Optional[pulumi.Input[bool]] = None, + extra_args: Optional[pulumi.Input['ClusterMasterAttachmentExtraArgsArgs']] = None, + host_name: Optional[pulumi.Input[str]] = None, + instance_id: Optional[pulumi.Input[str]] = None, + key_ids: Optional[pulumi.Input[str]] = None, + master_config: Optional[pulumi.Input['ClusterMasterAttachmentMasterConfigArgs']] = None, + node_role: Optional[pulumi.Input[str]] = None, + password: Optional[pulumi.Input[str]] = None, + security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Input properties used for looking up and filtering ClusterMasterAttachment resources. + :param pulumi.Input[str] cluster_id: ID of the cluster. + :param pulumi.Input[Sequence[pulumi.Input[int]]] desired_pod_numbers: When the node belongs to the podCIDR size customization mode, the maximum number of pods running on the node can be specified. + :param pulumi.Input[bool] enhanced_automation_service: Activate TencentCloud Automation Tools (TAT) service. If this parameter is not specified, the public image will default to enabling the Cloud Automation Assistant service, while other images will default to not enabling the Cloud Automation Assistant service. + :param pulumi.Input[bool] enhanced_monitor_service: To specify whether to enable cloud monitor service. Default is TRUE. + :param pulumi.Input[bool] enhanced_security_service: To specify whether to enable cloud security service. Default is TRUE. + :param pulumi.Input['ClusterMasterAttachmentExtraArgsArgs'] extra_args: Custom parameters for cluster master component. + :param pulumi.Input[str] host_name: When reinstalling the system, you can specify the HostName of the instance to be modified (this parameter must be passed when the cluster is in HostName mode, and the rule name should be consistent with the HostName of the CVM instance creation interface except that uppercase characters are not supported). + :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['ClusterMasterAttachmentMasterConfigArgs'] master_config: Advanced Node Settings. commonly used to attach existing instances. + :param pulumi.Input[str] node_role: Node role, values: MASTER_ETCD, WORKER. MASTER_ETCD needs to be specified only when creating an INDEPENDENT_CLUSTER independent cluster. The number of MASTER_ETCD nodes is 3-7, and it is recommended to have an odd number. The minimum configuration for MASTER_ETCD is 4C8G. + :param pulumi.Input[str] password: Password to access, should be set if `key_ids` not set. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: The security group to which the instance belongs. This parameter can be obtained by calling the sgId field in the return value of DescribeSecureGroups. If this parameter is not specified, the default security group will be bound. + """ + if cluster_id is not None: + pulumi.set(__self__, "cluster_id", cluster_id) + if desired_pod_numbers is not None: + pulumi.set(__self__, "desired_pod_numbers", desired_pod_numbers) + if enhanced_automation_service is not None: + pulumi.set(__self__, "enhanced_automation_service", enhanced_automation_service) + if enhanced_monitor_service is not None: + pulumi.set(__self__, "enhanced_monitor_service", enhanced_monitor_service) + if enhanced_security_service is not None: + pulumi.set(__self__, "enhanced_security_service", enhanced_security_service) + if extra_args is not None: + pulumi.set(__self__, "extra_args", extra_args) + if host_name is not None: + pulumi.set(__self__, "host_name", host_name) + if instance_id is not None: + pulumi.set(__self__, "instance_id", instance_id) + if key_ids is not None: + pulumi.set(__self__, "key_ids", key_ids) + if master_config is not None: + pulumi.set(__self__, "master_config", master_config) + if node_role is not None: + pulumi.set(__self__, "node_role", node_role) + if password is not None: + pulumi.set(__self__, "password", password) + if security_group_ids is not None: + pulumi.set(__self__, "security_group_ids", security_group_ids) + + @property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the cluster. + """ + return pulumi.get(self, "cluster_id") + + @cluster_id.setter + def cluster_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cluster_id", value) + + @property + @pulumi.getter(name="desiredPodNumbers") + def desired_pod_numbers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]: + """ + When the node belongs to the podCIDR size customization mode, the maximum number of pods running on the node can be specified. + """ + return pulumi.get(self, "desired_pod_numbers") + + @desired_pod_numbers.setter + def desired_pod_numbers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]): + pulumi.set(self, "desired_pod_numbers", value) + + @property + @pulumi.getter(name="enhancedAutomationService") + def enhanced_automation_service(self) -> Optional[pulumi.Input[bool]]: + """ + Activate TencentCloud Automation Tools (TAT) service. If this parameter is not specified, the public image will default to enabling the Cloud Automation Assistant service, while other images will default to not enabling the Cloud Automation Assistant service. + """ + return pulumi.get(self, "enhanced_automation_service") + + @enhanced_automation_service.setter + def enhanced_automation_service(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enhanced_automation_service", value) + + @property + @pulumi.getter(name="enhancedMonitorService") + def enhanced_monitor_service(self) -> Optional[pulumi.Input[bool]]: + """ + To specify whether to enable cloud monitor service. Default is TRUE. + """ + return pulumi.get(self, "enhanced_monitor_service") + + @enhanced_monitor_service.setter + def enhanced_monitor_service(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enhanced_monitor_service", value) + + @property + @pulumi.getter(name="enhancedSecurityService") + def enhanced_security_service(self) -> Optional[pulumi.Input[bool]]: + """ + To specify whether to enable cloud security service. Default is TRUE. + """ + return pulumi.get(self, "enhanced_security_service") + + @enhanced_security_service.setter + def enhanced_security_service(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enhanced_security_service", value) + + @property + @pulumi.getter(name="extraArgs") + def extra_args(self) -> Optional[pulumi.Input['ClusterMasterAttachmentExtraArgsArgs']]: + """ + Custom parameters for cluster master component. + """ + return pulumi.get(self, "extra_args") + + @extra_args.setter + def extra_args(self, value: Optional[pulumi.Input['ClusterMasterAttachmentExtraArgsArgs']]): + pulumi.set(self, "extra_args", value) + + @property + @pulumi.getter(name="hostName") + def host_name(self) -> Optional[pulumi.Input[str]]: + """ + When reinstalling the system, you can specify the HostName of the instance to be modified (this parameter must be passed when the cluster is in HostName mode, and the rule name should be consistent with the HostName of the CVM instance creation interface except that uppercase characters are not supported). + """ + 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="instanceId") + def instance_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the CVM instance, this cvm will reinstall the system. + """ + 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="keyIds") + def key_ids(self) -> Optional[pulumi.Input[str]]: + """ + The key pair to use for the instance, it looks like skey-16jig7tx, it should be set if `password` not set. + """ + return pulumi.get(self, "key_ids") + + @key_ids.setter + def key_ids(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key_ids", value) + + @property + @pulumi.getter(name="masterConfig") + def master_config(self) -> Optional[pulumi.Input['ClusterMasterAttachmentMasterConfigArgs']]: + """ + Advanced Node Settings. commonly used to attach existing instances. + """ + return pulumi.get(self, "master_config") + + @master_config.setter + def master_config(self, value: Optional[pulumi.Input['ClusterMasterAttachmentMasterConfigArgs']]): + pulumi.set(self, "master_config", value) + + @property + @pulumi.getter(name="nodeRole") + def node_role(self) -> Optional[pulumi.Input[str]]: + """ + Node role, values: MASTER_ETCD, WORKER. MASTER_ETCD needs to be specified only when creating an INDEPENDENT_CLUSTER independent cluster. The number of MASTER_ETCD nodes is 3-7, and it is recommended to have an odd number. The minimum configuration for MASTER_ETCD is 4C8G. + """ + return pulumi.get(self, "node_role") + + @node_role.setter + def node_role(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "node_role", value) + + @property + @pulumi.getter + def password(self) -> Optional[pulumi.Input[str]]: + """ + Password to access, should be set if `key_ids` not set. + """ + return pulumi.get(self, "password") + + @password.setter + def password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "password", value) + + @property + @pulumi.getter(name="securityGroupIds") + def security_group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The security group to which the instance belongs. This parameter can be obtained by calling the sgId field in the return value of DescribeSecureGroups. If this parameter is not specified, the default security group will be bound. + """ + 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) + + +class ClusterMasterAttachment(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + cluster_id: Optional[pulumi.Input[str]] = None, + desired_pod_numbers: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + enhanced_automation_service: Optional[pulumi.Input[bool]] = None, + enhanced_monitor_service: Optional[pulumi.Input[bool]] = None, + enhanced_security_service: Optional[pulumi.Input[bool]] = None, + extra_args: Optional[pulumi.Input[pulumi.InputType['ClusterMasterAttachmentExtraArgsArgs']]] = None, + host_name: Optional[pulumi.Input[str]] = None, + instance_id: Optional[pulumi.Input[str]] = None, + key_ids: Optional[pulumi.Input[str]] = None, + master_config: Optional[pulumi.Input[pulumi.InputType['ClusterMasterAttachmentMasterConfigArgs']]] = None, + node_role: Optional[pulumi.Input[str]] = None, + password: Optional[pulumi.Input[str]] = None, + security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + Provides a resource to create a tke kubernetes cluster master attachment + + :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[int]]] desired_pod_numbers: When the node belongs to the podCIDR size customization mode, the maximum number of pods running on the node can be specified. + :param pulumi.Input[bool] enhanced_automation_service: Activate TencentCloud Automation Tools (TAT) service. If this parameter is not specified, the public image will default to enabling the Cloud Automation Assistant service, while other images will default to not enabling the Cloud Automation Assistant service. + :param pulumi.Input[bool] enhanced_monitor_service: To specify whether to enable cloud monitor service. Default is TRUE. + :param pulumi.Input[bool] enhanced_security_service: To specify whether to enable cloud security service. Default is TRUE. + :param pulumi.Input[pulumi.InputType['ClusterMasterAttachmentExtraArgsArgs']] extra_args: Custom parameters for cluster master component. + :param pulumi.Input[str] host_name: When reinstalling the system, you can specify the HostName of the instance to be modified (this parameter must be passed when the cluster is in HostName mode, and the rule name should be consistent with the HostName of the CVM instance creation interface except that uppercase characters are not supported). + :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[pulumi.InputType['ClusterMasterAttachmentMasterConfigArgs']] master_config: Advanced Node Settings. commonly used to attach existing instances. + :param pulumi.Input[str] node_role: Node role, values: MASTER_ETCD, WORKER. MASTER_ETCD needs to be specified only when creating an INDEPENDENT_CLUSTER independent cluster. The number of MASTER_ETCD nodes is 3-7, and it is recommended to have an odd number. The minimum configuration for MASTER_ETCD is 4C8G. + :param pulumi.Input[str] password: Password to access, should be set if `key_ids` not set. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: The security group to which the instance belongs. This parameter can be obtained by calling the sgId field in the return value of DescribeSecureGroups. If this parameter is not specified, the default security group will be bound. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ClusterMasterAttachmentArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a tke kubernetes cluster master attachment + + :param str resource_name: The name of the resource. + :param ClusterMasterAttachmentArgs 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(ClusterMasterAttachmentArgs, 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, + desired_pod_numbers: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + enhanced_automation_service: Optional[pulumi.Input[bool]] = None, + enhanced_monitor_service: Optional[pulumi.Input[bool]] = None, + enhanced_security_service: Optional[pulumi.Input[bool]] = None, + extra_args: Optional[pulumi.Input[pulumi.InputType['ClusterMasterAttachmentExtraArgsArgs']]] = None, + host_name: Optional[pulumi.Input[str]] = None, + instance_id: Optional[pulumi.Input[str]] = None, + key_ids: Optional[pulumi.Input[str]] = None, + master_config: Optional[pulumi.Input[pulumi.InputType['ClusterMasterAttachmentMasterConfigArgs']]] = None, + node_role: Optional[pulumi.Input[str]] = None, + password: Optional[pulumi.Input[str]] = None, + security_group_ids: Optional[pulumi.Input[Sequence[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__ = ClusterMasterAttachmentArgs.__new__(ClusterMasterAttachmentArgs) + + if cluster_id is None and not opts.urn: + raise TypeError("Missing required property 'cluster_id'") + __props__.__dict__["cluster_id"] = cluster_id + __props__.__dict__["desired_pod_numbers"] = desired_pod_numbers + __props__.__dict__["enhanced_automation_service"] = enhanced_automation_service + __props__.__dict__["enhanced_monitor_service"] = enhanced_monitor_service + __props__.__dict__["enhanced_security_service"] = enhanced_security_service + __props__.__dict__["extra_args"] = extra_args + __props__.__dict__["host_name"] = host_name + if instance_id is None and not opts.urn: + raise TypeError("Missing required property 'instance_id'") + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["key_ids"] = key_ids + __props__.__dict__["master_config"] = master_config + if node_role is None and not opts.urn: + raise TypeError("Missing required property 'node_role'") + __props__.__dict__["node_role"] = node_role + __props__.__dict__["password"] = None if password is None else pulumi.Output.secret(password) + __props__.__dict__["security_group_ids"] = security_group_ids + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["password"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(ClusterMasterAttachment, __self__).__init__( + 'tencentcloud:Kubernetes/clusterMasterAttachment:ClusterMasterAttachment', + 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, + desired_pod_numbers: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + enhanced_automation_service: Optional[pulumi.Input[bool]] = None, + enhanced_monitor_service: Optional[pulumi.Input[bool]] = None, + enhanced_security_service: Optional[pulumi.Input[bool]] = None, + extra_args: Optional[pulumi.Input[pulumi.InputType['ClusterMasterAttachmentExtraArgsArgs']]] = None, + host_name: Optional[pulumi.Input[str]] = None, + instance_id: Optional[pulumi.Input[str]] = None, + key_ids: Optional[pulumi.Input[str]] = None, + master_config: Optional[pulumi.Input[pulumi.InputType['ClusterMasterAttachmentMasterConfigArgs']]] = None, + node_role: Optional[pulumi.Input[str]] = None, + password: Optional[pulumi.Input[str]] = None, + security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'ClusterMasterAttachment': + """ + Get an existing ClusterMasterAttachment 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[Sequence[pulumi.Input[int]]] desired_pod_numbers: When the node belongs to the podCIDR size customization mode, the maximum number of pods running on the node can be specified. + :param pulumi.Input[bool] enhanced_automation_service: Activate TencentCloud Automation Tools (TAT) service. If this parameter is not specified, the public image will default to enabling the Cloud Automation Assistant service, while other images will default to not enabling the Cloud Automation Assistant service. + :param pulumi.Input[bool] enhanced_monitor_service: To specify whether to enable cloud monitor service. Default is TRUE. + :param pulumi.Input[bool] enhanced_security_service: To specify whether to enable cloud security service. Default is TRUE. + :param pulumi.Input[pulumi.InputType['ClusterMasterAttachmentExtraArgsArgs']] extra_args: Custom parameters for cluster master component. + :param pulumi.Input[str] host_name: When reinstalling the system, you can specify the HostName of the instance to be modified (this parameter must be passed when the cluster is in HostName mode, and the rule name should be consistent with the HostName of the CVM instance creation interface except that uppercase characters are not supported). + :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[pulumi.InputType['ClusterMasterAttachmentMasterConfigArgs']] master_config: Advanced Node Settings. commonly used to attach existing instances. + :param pulumi.Input[str] node_role: Node role, values: MASTER_ETCD, WORKER. MASTER_ETCD needs to be specified only when creating an INDEPENDENT_CLUSTER independent cluster. The number of MASTER_ETCD nodes is 3-7, and it is recommended to have an odd number. The minimum configuration for MASTER_ETCD is 4C8G. + :param pulumi.Input[str] password: Password to access, should be set if `key_ids` not set. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: The security group to which the instance belongs. This parameter can be obtained by calling the sgId field in the return value of DescribeSecureGroups. If this parameter is not specified, the default security group will be bound. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ClusterMasterAttachmentState.__new__(_ClusterMasterAttachmentState) + + __props__.__dict__["cluster_id"] = cluster_id + __props__.__dict__["desired_pod_numbers"] = desired_pod_numbers + __props__.__dict__["enhanced_automation_service"] = enhanced_automation_service + __props__.__dict__["enhanced_monitor_service"] = enhanced_monitor_service + __props__.__dict__["enhanced_security_service"] = enhanced_security_service + __props__.__dict__["extra_args"] = extra_args + __props__.__dict__["host_name"] = host_name + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["key_ids"] = key_ids + __props__.__dict__["master_config"] = master_config + __props__.__dict__["node_role"] = node_role + __props__.__dict__["password"] = password + __props__.__dict__["security_group_ids"] = security_group_ids + return ClusterMasterAttachment(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(name="desiredPodNumbers") + def desired_pod_numbers(self) -> pulumi.Output[Optional[Sequence[int]]]: + """ + When the node belongs to the podCIDR size customization mode, the maximum number of pods running on the node can be specified. + """ + return pulumi.get(self, "desired_pod_numbers") + + @property + @pulumi.getter(name="enhancedAutomationService") + def enhanced_automation_service(self) -> pulumi.Output[Optional[bool]]: + """ + Activate TencentCloud Automation Tools (TAT) service. If this parameter is not specified, the public image will default to enabling the Cloud Automation Assistant service, while other images will default to not enabling the Cloud Automation Assistant service. + """ + return pulumi.get(self, "enhanced_automation_service") + + @property + @pulumi.getter(name="enhancedMonitorService") + def enhanced_monitor_service(self) -> pulumi.Output[Optional[bool]]: + """ + To specify whether to enable cloud monitor service. Default is TRUE. + """ + return pulumi.get(self, "enhanced_monitor_service") + + @property + @pulumi.getter(name="enhancedSecurityService") + def enhanced_security_service(self) -> pulumi.Output[Optional[bool]]: + """ + To specify whether to enable cloud security service. Default is TRUE. + """ + return pulumi.get(self, "enhanced_security_service") + + @property + @pulumi.getter(name="extraArgs") + def extra_args(self) -> pulumi.Output[Optional['outputs.ClusterMasterAttachmentExtraArgs']]: + """ + Custom parameters for cluster master component. + """ + return pulumi.get(self, "extra_args") + + @property + @pulumi.getter(name="hostName") + def host_name(self) -> pulumi.Output[Optional[str]]: + """ + When reinstalling the system, you can specify the HostName of the instance to be modified (this parameter must be passed when the cluster is in HostName mode, and the rule name should be consistent with the HostName of the CVM instance creation interface except that uppercase characters are not supported). + """ + return pulumi.get(self, "host_name") + + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Output[str]: + """ + ID of the CVM instance, this cvm will reinstall the system. + """ + return pulumi.get(self, "instance_id") + + @property + @pulumi.getter(name="keyIds") + def key_ids(self) -> pulumi.Output[Optional[str]]: + """ + The key pair to use for the instance, it looks like skey-16jig7tx, it should be set if `password` not set. + """ + return pulumi.get(self, "key_ids") + + @property + @pulumi.getter(name="masterConfig") + def master_config(self) -> pulumi.Output[Optional['outputs.ClusterMasterAttachmentMasterConfig']]: + """ + Advanced Node Settings. commonly used to attach existing instances. + """ + return pulumi.get(self, "master_config") + + @property + @pulumi.getter(name="nodeRole") + def node_role(self) -> pulumi.Output[str]: + """ + Node role, values: MASTER_ETCD, WORKER. MASTER_ETCD needs to be specified only when creating an INDEPENDENT_CLUSTER independent cluster. The number of MASTER_ETCD nodes is 3-7, and it is recommended to have an odd number. The minimum configuration for MASTER_ETCD is 4C8G. + """ + return pulumi.get(self, "node_role") + + @property + @pulumi.getter + def password(self) -> pulumi.Output[Optional[str]]: + """ + Password to access, should be set if `key_ids` not set. + """ + return pulumi.get(self, "password") + + @property + @pulumi.getter(name="securityGroupIds") + def security_group_ids(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + The security group to which the instance belongs. This parameter can be obtained by calling the sgId field in the return value of DescribeSecureGroups. If this parameter is not specified, the default security group will be bound. + """ + return pulumi.get(self, "security_group_ids") + diff --git a/sdk/python/tencentcloud_iac_pulumi/kubernetes/get_cluster_common_names.py b/sdk/python/tencentcloud_iac_pulumi/kubernetes/get_cluster_common_names.py index f6048781c..0b3e46108 100644 --- a/sdk/python/tencentcloud_iac_pulumi/kubernetes/get_cluster_common_names.py +++ b/sdk/python/tencentcloud_iac_pulumi/kubernetes/get_cluster_common_names.py @@ -103,19 +103,33 @@ def get_cluster_common_names(cluster_id: Optional[str] = None, ## Example Usage + ### Query common names by subaccount uins + ```python import pulumi import pulumi_tencentcloud as tencentcloud - foo = tencentcloud.Kubernetes.get_cluster_common_names(cluster_id="cls-12345678", + example = tencentcloud.Kubernetes.get_cluster_common_names(cluster_id="cls-fdy7hm1q", subaccount_uins=[ - "1234567890", - "0987654321", + "100037718139", + "100031340176", ]) ``` + ### Query common names by role ids + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + example = tencentcloud.Kubernetes.get_cluster_common_names(cluster_id="cls-fdy7hm1q", + role_ids=["4611686018441060141"]) + ``` + + :param str cluster_id: Cluster ID. :param str result_output_file: Used to save results. @@ -150,19 +164,33 @@ def get_cluster_common_names_output(cluster_id: Optional[pulumi.Input[Optional[s ## Example Usage + ### Query common names by subaccount uins + ```python import pulumi import pulumi_tencentcloud as tencentcloud - foo = tencentcloud.Kubernetes.get_cluster_common_names(cluster_id="cls-12345678", + example = tencentcloud.Kubernetes.get_cluster_common_names(cluster_id="cls-fdy7hm1q", subaccount_uins=[ - "1234567890", - "0987654321", + "100037718139", + "100031340176", ]) ``` + ### Query common names by role ids + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + example = tencentcloud.Kubernetes.get_cluster_common_names(cluster_id="cls-fdy7hm1q", + role_ids=["4611686018441060141"]) + ``` + + :param str cluster_id: Cluster ID. :param str result_output_file: Used to save results. 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..2a779c74b 100644 --- a/sdk/python/tencentcloud_iac_pulumi/kubernetes/node_pool.py +++ b/sdk/python/tencentcloud_iac_pulumi/kubernetes/node_pool.py @@ -21,6 +21,7 @@ def __init__(__self__, *, max_size: pulumi.Input[int], min_size: pulumi.Input[int], vpc_id: pulumi.Input[str], + annotations: Optional[pulumi.Input[Sequence[pulumi.Input['NodePoolAnnotationArgs']]]] = None, default_cooldown: Optional[pulumi.Input[int]] = None, delete_keep_instance: Optional[pulumi.Input[bool]] = None, deletion_protection: Optional[pulumi.Input[bool]] = None, @@ -49,6 +50,7 @@ def __init__(__self__, *, :param pulumi.Input[int] max_size: Maximum number of node. :param pulumi.Input[int] min_size: Minimum number of node. :param pulumi.Input[str] vpc_id: ID of VPC network. + :param pulumi.Input[Sequence[pulumi.Input['NodePoolAnnotationArgs']]] annotations: Node Annotation List. :param pulumi.Input[int] default_cooldown: Seconds of scaling group cool down. Default value is `300`. :param pulumi.Input[bool] delete_keep_instance: Indicate to keep the CVM instance when delete the node pool. Default is `true`. :param pulumi.Input[bool] deletion_protection: Indicates whether the node pool deletion protection is enabled. @@ -76,6 +78,8 @@ def __init__(__self__, *, pulumi.set(__self__, "max_size", max_size) pulumi.set(__self__, "min_size", min_size) pulumi.set(__self__, "vpc_id", vpc_id) + if annotations is not None: + pulumi.set(__self__, "annotations", annotations) if default_cooldown is not None: pulumi.set(__self__, "default_cooldown", default_cooldown) if delete_keep_instance is not None: @@ -179,6 +183,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 + def annotations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NodePoolAnnotationArgs']]]]: + """ + Node Annotation List. + """ + return pulumi.get(self, "annotations") + + @annotations.setter + def annotations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NodePoolAnnotationArgs']]]]): + pulumi.set(self, "annotations", value) + @property @pulumi.getter(name="defaultCooldown") def default_cooldown(self) -> Optional[pulumi.Input[int]]: @@ -435,6 +451,7 @@ def zones(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): @pulumi.input_type class _NodePoolState: def __init__(__self__, *, + annotations: Optional[pulumi.Input[Sequence[pulumi.Input['NodePoolAnnotationArgs']]]] = None, auto_scaling_config: Optional[pulumi.Input['NodePoolAutoScalingConfigArgs']] = None, auto_scaling_group_id: Optional[pulumi.Input[str]] = None, autoscaling_added_total: Optional[pulumi.Input[int]] = None, @@ -469,6 +486,7 @@ def __init__(__self__, *, zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): """ Input properties used for looking up and filtering NodePool resources. + :param pulumi.Input[Sequence[pulumi.Input['NodePoolAnnotationArgs']]] annotations: Node Annotation List. :param pulumi.Input['NodePoolAutoScalingConfigArgs'] auto_scaling_config: Auto scaling config parameters. :param pulumi.Input[str] auto_scaling_group_id: The auto scaling group ID. :param pulumi.Input[int] autoscaling_added_total: The total of autoscaling added node. @@ -502,6 +520,8 @@ def __init__(__self__, *, :param pulumi.Input[str] vpc_id: ID of VPC network. :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: List of auto scaling group available zones, for Basic network it is required. """ + if annotations is not None: + pulumi.set(__self__, "annotations", annotations) if auto_scaling_config is not None: pulumi.set(__self__, "auto_scaling_config", auto_scaling_config) if auto_scaling_group_id is not None: @@ -567,6 +587,18 @@ def __init__(__self__, *, if zones is not None: pulumi.set(__self__, "zones", zones) + @property + @pulumi.getter + def annotations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NodePoolAnnotationArgs']]]]: + """ + Node Annotation List. + """ + return pulumi.get(self, "annotations") + + @annotations.setter + def annotations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NodePoolAnnotationArgs']]]]): + pulumi.set(self, "annotations", value) + @property @pulumi.getter(name="autoScalingConfig") def auto_scaling_config(self) -> Optional[pulumi.Input['NodePoolAutoScalingConfigArgs']]: @@ -957,6 +989,7 @@ class NodePool(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + annotations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NodePoolAnnotationArgs']]]]] = None, auto_scaling_config: Optional[pulumi.Input[pulumi.InputType['NodePoolAutoScalingConfigArgs']]] = None, cluster_id: Optional[pulumi.Input[str]] = None, default_cooldown: Optional[pulumi.Input[int]] = None, @@ -1014,7 +1047,7 @@ def __init__(__self__, if default_instance_type is None: default_instance_type = "S1.SMALL1" #this is the cluster with empty worker config - managed_cluster = tencentcloud.kubernetes.Cluster("managedCluster", + example_cluster = tencentcloud.kubernetes.Cluster("exampleCluster", vpc_id=vpc.instance_lists[0].vpc_id, cluster_cidr=cluster_cidr, cluster_max_pod_num=32, @@ -1024,8 +1057,8 @@ def __init__(__self__, cluster_version="1.18.4", cluster_deploy_type="MANAGED_CLUSTER") #this is one example of managing node using node pool - mynodepool = tencentcloud.kubernetes.NodePool("mynodepool", - cluster_id=managed_cluster.id, + example_node_pool = tencentcloud.kubernetes.NodePool("exampleNodePool", + cluster_id=example_cluster.id, max_size=6, min_size=1, vpc_id=vpc.instance_lists[0].vpc_id, @@ -1034,6 +1067,7 @@ def __init__(__self__, desired_capacity=4, enable_auto_scale=True, multi_zone_subnet_policy="EQUALITY", + node_os="img-9qrfy1xt", auto_scaling_config=tencentcloud.kubernetes.NodePoolAutoScalingConfigArgs( instance_type=default_instance_type, system_disk_type="CLOUD_PREMIUM", @@ -1069,6 +1103,7 @@ def __init__(__self__, ), ], node_config=tencentcloud.kubernetes.NodePoolNodeConfigArgs( + docker_graph_path="/var/lib/docker", extra_args=["root-dir=/var/lib/kubelet"], )) ``` @@ -1081,7 +1116,7 @@ def __init__(__self__, import pulumi import tencentcloud_iac_pulumi as tencentcloud - mynodepool = tencentcloud.kubernetes.NodePool("mynodepool", + example = tencentcloud.kubernetes.NodePool("example", cluster_id=tencentcloud_kubernetes_cluster["managed_cluster"]["id"], max_size=6, min_size=1, @@ -1126,11 +1161,12 @@ def __init__(__self__, tke node pool can be imported, e.g. ```sh - $ pulumi import tencentcloud:Kubernetes/nodePool:NodePool test cls-xxx#np-xxx + $ pulumi import tencentcloud:Kubernetes/nodePool:NodePool example cls-d2xdg3io#np-380ay1o8 ``` :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['NodePoolAnnotationArgs']]]] annotations: Node Annotation List. :param pulumi.Input[pulumi.InputType['NodePoolAutoScalingConfigArgs']] auto_scaling_config: Auto scaling config parameters. :param pulumi.Input[str] cluster_id: ID of the cluster. :param pulumi.Input[int] default_cooldown: Seconds of scaling group cool down. Default value is `300`. @@ -1194,7 +1230,7 @@ def __init__(__self__, if default_instance_type is None: default_instance_type = "S1.SMALL1" #this is the cluster with empty worker config - managed_cluster = tencentcloud.kubernetes.Cluster("managedCluster", + example_cluster = tencentcloud.kubernetes.Cluster("exampleCluster", vpc_id=vpc.instance_lists[0].vpc_id, cluster_cidr=cluster_cidr, cluster_max_pod_num=32, @@ -1204,8 +1240,8 @@ def __init__(__self__, cluster_version="1.18.4", cluster_deploy_type="MANAGED_CLUSTER") #this is one example of managing node using node pool - mynodepool = tencentcloud.kubernetes.NodePool("mynodepool", - cluster_id=managed_cluster.id, + example_node_pool = tencentcloud.kubernetes.NodePool("exampleNodePool", + cluster_id=example_cluster.id, max_size=6, min_size=1, vpc_id=vpc.instance_lists[0].vpc_id, @@ -1214,6 +1250,7 @@ def __init__(__self__, desired_capacity=4, enable_auto_scale=True, multi_zone_subnet_policy="EQUALITY", + node_os="img-9qrfy1xt", auto_scaling_config=tencentcloud.kubernetes.NodePoolAutoScalingConfigArgs( instance_type=default_instance_type, system_disk_type="CLOUD_PREMIUM", @@ -1249,6 +1286,7 @@ def __init__(__self__, ), ], node_config=tencentcloud.kubernetes.NodePoolNodeConfigArgs( + docker_graph_path="/var/lib/docker", extra_args=["root-dir=/var/lib/kubelet"], )) ``` @@ -1261,7 +1299,7 @@ def __init__(__self__, import pulumi import tencentcloud_iac_pulumi as tencentcloud - mynodepool = tencentcloud.kubernetes.NodePool("mynodepool", + example = tencentcloud.kubernetes.NodePool("example", cluster_id=tencentcloud_kubernetes_cluster["managed_cluster"]["id"], max_size=6, min_size=1, @@ -1306,7 +1344,7 @@ def __init__(__self__, tke node pool can be imported, e.g. ```sh - $ pulumi import tencentcloud:Kubernetes/nodePool:NodePool test cls-xxx#np-xxx + $ pulumi import tencentcloud:Kubernetes/nodePool:NodePool example cls-d2xdg3io#np-380ay1o8 ``` :param str resource_name: The name of the resource. @@ -1324,6 +1362,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + annotations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NodePoolAnnotationArgs']]]]] = None, auto_scaling_config: Optional[pulumi.Input[pulumi.InputType['NodePoolAutoScalingConfigArgs']]] = None, cluster_id: Optional[pulumi.Input[str]] = None, default_cooldown: Optional[pulumi.Input[int]] = None, @@ -1359,6 +1398,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__ = NodePoolArgs.__new__(NodePoolArgs) + __props__.__dict__["annotations"] = annotations if auto_scaling_config is None and not opts.urn: raise TypeError("Missing required property 'auto_scaling_config'") __props__.__dict__["auto_scaling_config"] = auto_scaling_config @@ -1411,6 +1451,7 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, + annotations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NodePoolAnnotationArgs']]]]] = None, auto_scaling_config: Optional[pulumi.Input[pulumi.InputType['NodePoolAutoScalingConfigArgs']]] = None, auto_scaling_group_id: Optional[pulumi.Input[str]] = None, autoscaling_added_total: Optional[pulumi.Input[int]] = None, @@ -1450,6 +1491,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[Sequence[pulumi.Input[pulumi.InputType['NodePoolAnnotationArgs']]]] annotations: Node Annotation List. :param pulumi.Input[pulumi.InputType['NodePoolAutoScalingConfigArgs']] auto_scaling_config: Auto scaling config parameters. :param pulumi.Input[str] auto_scaling_group_id: The auto scaling group ID. :param pulumi.Input[int] autoscaling_added_total: The total of autoscaling added node. @@ -1487,6 +1529,7 @@ def get(resource_name: str, __props__ = _NodePoolState.__new__(_NodePoolState) + __props__.__dict__["annotations"] = annotations __props__.__dict__["auto_scaling_config"] = auto_scaling_config __props__.__dict__["auto_scaling_group_id"] = auto_scaling_group_id __props__.__dict__["autoscaling_added_total"] = autoscaling_added_total @@ -1521,6 +1564,14 @@ def get(resource_name: str, __props__.__dict__["zones"] = zones return NodePool(resource_name, opts=opts, __props__=__props__) + @property + @pulumi.getter + def annotations(self) -> pulumi.Output[Sequence['outputs.NodePoolAnnotation']]: + """ + Node Annotation List. + """ + return pulumi.get(self, "annotations") + @property @pulumi.getter(name="autoScalingConfig") def auto_scaling_config(self) -> pulumi.Output['outputs.NodePoolAutoScalingConfig']: @@ -1731,7 +1782,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..d24313a43 100644 --- a/sdk/python/tencentcloud_iac_pulumi/kubernetes/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/kubernetes/outputs.py @@ -17,21 +17,37 @@ 'ClusterAttachmentWorkerConfigOverrides', 'ClusterAttachmentWorkerConfigOverridesDataDisk', 'ClusterAttachmentWorkerConfigOverridesGpuArgs', + 'ClusterAttachmentWorkerConfigTaint', 'ClusterAuthOptions', 'ClusterClusterAudit', 'ClusterClusterExtraArgs', 'ClusterEventPersistence', 'ClusterExistInstance', 'ClusterExistInstanceInstancesPara', + 'ClusterExistInstanceInstancesParaMasterConfig', + 'ClusterExistInstanceInstancesParaMasterConfigDataDisk', + 'ClusterExistInstanceInstancesParaMasterConfigExtraArgs', + 'ClusterExistInstanceInstancesParaMasterConfigGpuArgs', + 'ClusterExistInstanceInstancesParaMasterConfigLabel', + 'ClusterExistInstanceInstancesParaMasterConfigTaint', 'ClusterExtensionAddon', 'ClusterLogAgent', + 'ClusterMasterAttachmentExtraArgs', + 'ClusterMasterAttachmentMasterConfig', + 'ClusterMasterAttachmentMasterConfigDataDisk', + 'ClusterMasterAttachmentMasterConfigExtraArgs', + 'ClusterMasterAttachmentMasterConfigGpuArgs', + 'ClusterMasterAttachmentMasterConfigLabel', + 'ClusterMasterAttachmentMasterConfigTaint', 'ClusterMasterConfig', 'ClusterMasterConfigDataDisk', 'ClusterNodePoolGlobalConfig', + 'ClusterResourceDeleteOption', 'ClusterWorkerConfig', 'ClusterWorkerConfigDataDisk', 'ClusterWorkerInstancesList', 'EncryptionProtectionKmsConfiguration', + 'HealthCheckPolicyRule', 'NativeNodePoolAnnotation', 'NativeNodePoolLabel', 'NativeNodePoolNative', @@ -45,6 +61,7 @@ 'NativeNodePoolTag', 'NativeNodePoolTagTag', 'NativeNodePoolTaint', + 'NodePoolAnnotation', 'NodePoolAutoScalingConfig', 'NodePoolAutoScalingConfigDataDisk', 'NodePoolNodeConfig', @@ -53,6 +70,7 @@ 'NodePoolTaint', 'ScaleWorkerDataDisk', 'ScaleWorkerGpuArgs', + 'ScaleWorkerTaint', 'ScaleWorkerWorkerConfig', 'ScaleWorkerWorkerConfigDataDisk', 'ScaleWorkerWorkerInstancesList', @@ -155,6 +173,7 @@ def __init__(__self__, *, is_schedule: Optional[bool] = None, mount_target: Optional[str] = None, pre_start_user_script: Optional[str] = None, + taints: Optional[Sequence['outputs.ClusterAttachmentWorkerConfigTaint']] = None, user_data: Optional[str] = None): """ :param Sequence['ClusterAttachmentWorkerConfigDataDiskArgs'] data_disks: Configurations of data disk. @@ -162,9 +181,10 @@ 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 Sequence['ClusterAttachmentWorkerConfigTaintArgs'] taints: Node taint. :param str user_data: Base64-encoded User Data text, the length limit is 16KB. """ if data_disks is not None: @@ -183,6 +203,8 @@ def __init__(__self__, *, pulumi.set(__self__, "mount_target", mount_target) if pre_start_user_script is not None: pulumi.set(__self__, "pre_start_user_script", pre_start_user_script) + if taints is not None: + pulumi.set(__self__, "taints", taints) if user_data is not None: pulumi.set(__self__, "user_data", user_data) @@ -230,8 +252,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 @@ -250,6 +275,14 @@ def pre_start_user_script(self) -> Optional[str]: """ return pulumi.get(self, "pre_start_user_script") + @property + @pulumi.getter + def taints(self) -> Optional[Sequence['outputs.ClusterAttachmentWorkerConfigTaint']]: + """ + Node taint. + """ + return pulumi.get(self, "taints") + @property @pulumi.getter(name="userData") def user_data(self) -> Optional[str]: @@ -499,13 +532,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 +579,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 +609,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") @@ -791,6 +842,49 @@ def mig_enable(self) -> Optional[bool]: return pulumi.get(self, "mig_enable") +@pulumi.output_type +class ClusterAttachmentWorkerConfigTaint(dict): + def __init__(__self__, *, + effect: Optional[str] = None, + key: Optional[str] = None, + value: Optional[str] = None): + """ + :param str effect: Effect of the taint. + :param str key: Key of the taint. + :param str value: Value of the taint. + """ + if effect is not None: + pulumi.set(__self__, "effect", effect) + if key is not None: + pulumi.set(__self__, "key", key) + if value is not None: + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def effect(self) -> Optional[str]: + """ + Effect of the taint. + """ + return pulumi.get(self, "effect") + + @property + @pulumi.getter + def key(self) -> Optional[str]: + """ + Key of the taint. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter + def value(self) -> Optional[str]: + """ + Value of the taint. + """ + return pulumi.get(self, "value") + + @pulumi.output_type class ClusterAuthOptions(dict): @staticmethod @@ -1152,6 +1246,16 @@ def __key_warning(key: str): suggest = None if key == "instanceIds": suggest = "instance_ids" + elif key == "enhancedMonitorService": + suggest = "enhanced_monitor_service" + elif key == "enhancedSecurityService": + suggest = "enhanced_security_service" + elif key == "keyIds": + suggest = "key_ids" + elif key == "masterConfig": + suggest = "master_config" + elif key == "securityGroupIds": + suggest = "security_group_ids" if suggest: pulumi.log.warn(f"Key '{key}' not found in ClusterExistInstanceInstancesPara. Access the value via the '{suggest}' property getter instead.") @@ -1165,11 +1269,35 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - instance_ids: Sequence[str]): + instance_ids: Sequence[str], + enhanced_monitor_service: Optional[bool] = None, + enhanced_security_service: Optional[bool] = None, + key_ids: Optional[Sequence[str]] = None, + master_config: Optional['outputs.ClusterExistInstanceInstancesParaMasterConfig'] = None, + password: Optional[str] = None, + security_group_ids: Optional[Sequence[str]] = None): """ :param Sequence[str] instance_ids: Cluster IDs. + :param bool enhanced_monitor_service: To specify whether to enable cloud monitor service. Default is TRUE. + :param bool enhanced_security_service: To specify whether to enable cloud security service. Default is TRUE. + :param Sequence[str] key_ids: ID list of keys, should be set if `password` not set. + :param 'ClusterExistInstanceInstancesParaMasterConfigArgs' master_config: Advanced Node Settings. commonly used to attach existing instances. + :param str password: Password to access, should be set if `key_ids` not set. + :param Sequence[str] security_group_ids: Security groups to which a CVM instance belongs. """ pulumi.set(__self__, "instance_ids", instance_ids) + if enhanced_monitor_service is not None: + pulumi.set(__self__, "enhanced_monitor_service", enhanced_monitor_service) + if enhanced_security_service is not None: + pulumi.set(__self__, "enhanced_security_service", enhanced_security_service) + if key_ids is not None: + pulumi.set(__self__, "key_ids", key_ids) + if master_config is not None: + pulumi.set(__self__, "master_config", master_config) + if password is not None: + pulumi.set(__self__, "password", password) + if security_group_ids is not None: + pulumi.set(__self__, "security_group_ids", security_group_ids) @property @pulumi.getter(name="instanceIds") @@ -1179,81 +1307,1083 @@ def instance_ids(self) -> Sequence[str]: """ return pulumi.get(self, "instance_ids") + @property + @pulumi.getter(name="enhancedMonitorService") + def enhanced_monitor_service(self) -> Optional[bool]: + """ + To specify whether to enable cloud monitor service. Default is TRUE. + """ + return pulumi.get(self, "enhanced_monitor_service") + + @property + @pulumi.getter(name="enhancedSecurityService") + def enhanced_security_service(self) -> Optional[bool]: + """ + To specify whether to enable cloud security service. Default is TRUE. + """ + return pulumi.get(self, "enhanced_security_service") + + @property + @pulumi.getter(name="keyIds") + def key_ids(self) -> Optional[Sequence[str]]: + """ + ID list of keys, should be set if `password` not set. + """ + return pulumi.get(self, "key_ids") + + @property + @pulumi.getter(name="masterConfig") + def master_config(self) -> Optional['outputs.ClusterExistInstanceInstancesParaMasterConfig']: + """ + Advanced Node Settings. commonly used to attach existing instances. + """ + return pulumi.get(self, "master_config") + + @property + @pulumi.getter + def password(self) -> Optional[str]: + """ + Password to access, should be set if `key_ids` not set. + """ + return pulumi.get(self, "password") + + @property + @pulumi.getter(name="securityGroupIds") + def security_group_ids(self) -> Optional[Sequence[str]]: + """ + Security groups to which a CVM instance belongs. + """ + return pulumi.get(self, "security_group_ids") + + +@pulumi.output_type +class ClusterExistInstanceInstancesParaMasterConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dataDisk": + suggest = "data_disk" + elif key == "desiredPodNumber": + suggest = "desired_pod_number" + elif key == "dockerGraphPath": + suggest = "docker_graph_path" + elif key == "extraArgs": + suggest = "extra_args" + elif key == "gpuArgs": + suggest = "gpu_args" + elif key == "mountTarget": + suggest = "mount_target" + elif key == "userScript": + suggest = "user_script" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterExistInstanceInstancesParaMasterConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterExistInstanceInstancesParaMasterConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterExistInstanceInstancesParaMasterConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + data_disk: Optional['outputs.ClusterExistInstanceInstancesParaMasterConfigDataDisk'] = None, + desired_pod_number: Optional[int] = None, + docker_graph_path: Optional[str] = None, + extra_args: Optional['outputs.ClusterExistInstanceInstancesParaMasterConfigExtraArgs'] = None, + gpu_args: Optional['outputs.ClusterExistInstanceInstancesParaMasterConfigGpuArgs'] = None, + labels: Optional[Sequence['outputs.ClusterExistInstanceInstancesParaMasterConfigLabel']] = None, + mount_target: Optional[str] = None, + taints: Optional[Sequence['outputs.ClusterExistInstanceInstancesParaMasterConfigTaint']] = None, + unschedulable: Optional[int] = None, + user_script: Optional[str] = None): + """ + :param 'ClusterExistInstanceInstancesParaMasterConfigDataDiskArgs' data_disk: Configurations of data disk. + :param int desired_pod_number: 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 'ClusterExistInstanceInstancesParaMasterConfigExtraArgsArgs' extra_args: Custom parameter information related to the node. This is a white-list parameter. + :param 'ClusterExistInstanceInstancesParaMasterConfigGpuArgsArgs' gpu_args: GPU driver parameters. + :param Sequence['ClusterExistInstanceInstancesParaMasterConfigLabelArgs'] labels: Node label list. + :param str mount_target: Mount target. Default is not mounting. + :param Sequence['ClusterExistInstanceInstancesParaMasterConfigTaintArgs'] taints: Node taint. + :param int unschedulable: Set whether the joined nodes participate in scheduling, with a default value of 0, indicating participation in scheduling; Non 0 means not participating in scheduling. + :param str user_script: User script encoded in base64, which will be executed after the k8s component runs. The user needs to ensure the script's reentrant and retry logic. The script and its generated log files can be viewed in the node path /data/ccs_userscript/. If the node needs to be initialized before joining the schedule, it can be used in conjunction with the `unschedulable` parameter. After the final initialization of the userScript is completed, add the command "kubectl uncordon nodename --kubeconfig=/root/.kube/config" to add the node to the schedule. + """ + if data_disk is not None: + pulumi.set(__self__, "data_disk", data_disk) + if desired_pod_number is not None: + pulumi.set(__self__, "desired_pod_number", desired_pod_number) + if docker_graph_path is not None: + pulumi.set(__self__, "docker_graph_path", docker_graph_path) + if extra_args is not None: + pulumi.set(__self__, "extra_args", extra_args) + if gpu_args is not None: + pulumi.set(__self__, "gpu_args", gpu_args) + if labels is not None: + pulumi.set(__self__, "labels", labels) + if mount_target is not None: + pulumi.set(__self__, "mount_target", mount_target) + if taints is not None: + pulumi.set(__self__, "taints", taints) + if unschedulable is not None: + pulumi.set(__self__, "unschedulable", unschedulable) + if user_script is not None: + pulumi.set(__self__, "user_script", user_script) + + @property + @pulumi.getter(name="dataDisk") + def data_disk(self) -> Optional['outputs.ClusterExistInstanceInstancesParaMasterConfigDataDisk']: + """ + Configurations of data disk. + """ + return pulumi.get(self, "data_disk") + + @property + @pulumi.getter(name="desiredPodNumber") + def desired_pod_number(self) -> Optional[int]: + """ + Indicate to set desired pod number in node. valid when the cluster is podCIDR. + """ + return pulumi.get(self, "desired_pod_number") + + @property + @pulumi.getter(name="dockerGraphPath") + def docker_graph_path(self) -> Optional[str]: + """ + Docker graph path. Default is `/var/lib/docker`. + """ + return pulumi.get(self, "docker_graph_path") + + @property + @pulumi.getter(name="extraArgs") + def extra_args(self) -> Optional['outputs.ClusterExistInstanceInstancesParaMasterConfigExtraArgs']: + """ + Custom parameter information related to the node. This is a white-list parameter. + """ + return pulumi.get(self, "extra_args") + + @property + @pulumi.getter(name="gpuArgs") + def gpu_args(self) -> Optional['outputs.ClusterExistInstanceInstancesParaMasterConfigGpuArgs']: + """ + GPU driver parameters. + """ + return pulumi.get(self, "gpu_args") + + @property + @pulumi.getter + def labels(self) -> Optional[Sequence['outputs.ClusterExistInstanceInstancesParaMasterConfigLabel']]: + """ + Node label list. + """ + return pulumi.get(self, "labels") + + @property + @pulumi.getter(name="mountTarget") + def mount_target(self) -> Optional[str]: + """ + Mount target. Default is not mounting. + """ + return pulumi.get(self, "mount_target") + + @property + @pulumi.getter + def taints(self) -> Optional[Sequence['outputs.ClusterExistInstanceInstancesParaMasterConfigTaint']]: + """ + Node taint. + """ + return pulumi.get(self, "taints") + + @property + @pulumi.getter + def unschedulable(self) -> Optional[int]: + """ + Set whether the joined nodes participate in scheduling, with a default value of 0, indicating participation in scheduling; Non 0 means not participating in scheduling. + """ + return pulumi.get(self, "unschedulable") + + @property + @pulumi.getter(name="userScript") + def user_script(self) -> Optional[str]: + """ + User script encoded in base64, which will be executed after the k8s component runs. The user needs to ensure the script's reentrant and retry logic. The script and its generated log files can be viewed in the node path /data/ccs_userscript/. If the node needs to be initialized before joining the schedule, it can be used in conjunction with the `unschedulable` parameter. After the final initialization of the userScript is completed, add the command "kubectl uncordon nodename --kubeconfig=/root/.kube/config" to add the node to the schedule. + """ + return pulumi.get(self, "user_script") + + +@pulumi.output_type +class ClusterExistInstanceInstancesParaMasterConfigDataDisk(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "autoFormatAndMount": + suggest = "auto_format_and_mount" + elif key == "diskPartition": + suggest = "disk_partition" + elif key == "diskSize": + suggest = "disk_size" + elif key == "diskType": + suggest = "disk_type" + elif key == "fileSystem": + suggest = "file_system" + elif key == "mountTarget": + suggest = "mount_target" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterExistInstanceInstancesParaMasterConfigDataDisk. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterExistInstanceInstancesParaMasterConfigDataDisk.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterExistInstanceInstancesParaMasterConfigDataDisk.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + auto_format_and_mount: Optional[bool] = None, + disk_partition: Optional[str] = None, + disk_size: Optional[int] = None, + disk_type: Optional[str] = None, + file_system: Optional[str] = None, + mount_target: Optional[str] = None): + """ + :param bool auto_format_and_mount: Indicate whether to auto format and mount or not. Default is `false`. + :param str disk_partition: The name of the device or partition to mount. + :param int disk_size: Volume of disk in GB. Default is `0`. + :param str disk_type: Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD` and `CLOUD_HSSD` and `CLOUD_TSSD`. + :param str file_system: File system, e.g. `ext3/ext4/xfs`. + :param str mount_target: Mount target. + """ + if auto_format_and_mount is not None: + pulumi.set(__self__, "auto_format_and_mount", auto_format_and_mount) + if disk_partition is not None: + pulumi.set(__self__, "disk_partition", disk_partition) + if disk_size is not None: + pulumi.set(__self__, "disk_size", disk_size) + if disk_type is not None: + pulumi.set(__self__, "disk_type", disk_type) + if file_system is not None: + pulumi.set(__self__, "file_system", file_system) + if mount_target is not None: + pulumi.set(__self__, "mount_target", mount_target) + + @property + @pulumi.getter(name="autoFormatAndMount") + def auto_format_and_mount(self) -> Optional[bool]: + """ + Indicate whether to auto format and mount or not. Default is `false`. + """ + return pulumi.get(self, "auto_format_and_mount") + + @property + @pulumi.getter(name="diskPartition") + def disk_partition(self) -> Optional[str]: + """ + The name of the device or partition to mount. + """ + return pulumi.get(self, "disk_partition") + + @property + @pulumi.getter(name="diskSize") + def disk_size(self) -> Optional[int]: + """ + Volume of disk in GB. Default is `0`. + """ + return pulumi.get(self, "disk_size") + + @property + @pulumi.getter(name="diskType") + def disk_type(self) -> Optional[str]: + """ + Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD` and `CLOUD_HSSD` and `CLOUD_TSSD`. + """ + return pulumi.get(self, "disk_type") + + @property + @pulumi.getter(name="fileSystem") + def file_system(self) -> Optional[str]: + """ + File system, e.g. `ext3/ext4/xfs`. + """ + return pulumi.get(self, "file_system") + + @property + @pulumi.getter(name="mountTarget") + def mount_target(self) -> Optional[str]: + """ + Mount target. + """ + return pulumi.get(self, "mount_target") + + +@pulumi.output_type +class ClusterExistInstanceInstancesParaMasterConfigExtraArgs(dict): + def __init__(__self__, *, + kubelets: Optional[Sequence[str]] = None): + """ + :param Sequence[str] kubelets: Kubelet custom parameter. The parameter format is ["k1=v1", "k1=v2"]. + """ + if kubelets is not None: + pulumi.set(__self__, "kubelets", kubelets) + + @property + @pulumi.getter + def kubelets(self) -> Optional[Sequence[str]]: + """ + Kubelet custom parameter. The parameter format is ["k1=v1", "k1=v2"]. + """ + return pulumi.get(self, "kubelets") + + +@pulumi.output_type +class ClusterExistInstanceInstancesParaMasterConfigGpuArgs(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "customDriver": + suggest = "custom_driver" + elif key == "migEnable": + suggest = "mig_enable" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterExistInstanceInstancesParaMasterConfigGpuArgs. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterExistInstanceInstancesParaMasterConfigGpuArgs.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterExistInstanceInstancesParaMasterConfigGpuArgs.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + cuda: Optional[Mapping[str, Any]] = None, + cudnn: Optional[Mapping[str, Any]] = None, + custom_driver: Optional[Mapping[str, Any]] = None, + driver: Optional[Mapping[str, Any]] = None, + mig_enable: Optional[bool] = None): + """ + :param Mapping[str, Any] cuda: CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + :param Mapping[str, Any] cudnn: cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `doc_name`: Doc name of cuDNN; `dev_name`: Dev name of cuDNN. + :param Mapping[str, Any] custom_driver: Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. + :param Mapping[str, Any] driver: GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + :param bool mig_enable: Whether to enable MIG. + """ + if cuda is not None: + pulumi.set(__self__, "cuda", cuda) + if cudnn is not None: + pulumi.set(__self__, "cudnn", cudnn) + if custom_driver is not None: + pulumi.set(__self__, "custom_driver", custom_driver) + if driver is not None: + pulumi.set(__self__, "driver", driver) + if mig_enable is not None: + pulumi.set(__self__, "mig_enable", mig_enable) + + @property + @pulumi.getter + def cuda(self) -> Optional[Mapping[str, Any]]: + """ + CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + """ + return pulumi.get(self, "cuda") + + @property + @pulumi.getter + def cudnn(self) -> Optional[Mapping[str, Any]]: + """ + cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `doc_name`: Doc name of cuDNN; `dev_name`: Dev name of cuDNN. + """ + return pulumi.get(self, "cudnn") + + @property + @pulumi.getter(name="customDriver") + def custom_driver(self) -> Optional[Mapping[str, Any]]: + """ + Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. + """ + return pulumi.get(self, "custom_driver") + + @property + @pulumi.getter + def driver(self) -> Optional[Mapping[str, Any]]: + """ + GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + """ + return pulumi.get(self, "driver") + + @property + @pulumi.getter(name="migEnable") + def mig_enable(self) -> Optional[bool]: + """ + Whether to enable MIG. + """ + return pulumi.get(self, "mig_enable") + + +@pulumi.output_type +class ClusterExistInstanceInstancesParaMasterConfigLabel(dict): + def __init__(__self__, *, + name: str, + value: str): + """ + :param str name: Name of map. + :param str value: Value of map. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of map. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def value(self) -> str: + """ + Value of map. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class ClusterExistInstanceInstancesParaMasterConfigTaint(dict): + def __init__(__self__, *, + effect: Optional[str] = None, + key: Optional[str] = None, + value: Optional[str] = None): + """ + :param str effect: Effect of the taint. + :param str key: Key of the taint. + :param str value: Value of the taint. + """ + if effect is not None: + pulumi.set(__self__, "effect", effect) + if key is not None: + pulumi.set(__self__, "key", key) + if value is not None: + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def effect(self) -> Optional[str]: + """ + Effect of the taint. + """ + return pulumi.get(self, "effect") + + @property + @pulumi.getter + def key(self) -> Optional[str]: + """ + Key of the taint. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter + def value(self) -> Optional[str]: + """ + Value of the taint. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class ClusterExtensionAddon(dict): + def __init__(__self__, *, + name: str, + param: str): + """ + :param str name: Add-on name. + :param str param: Parameter of the add-on resource object in JSON string format, please check the example at the top of page for reference. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "param", param) + + @property + @pulumi.getter + def name(self) -> str: + """ + Add-on name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def param(self) -> str: + """ + Parameter of the add-on resource object in JSON string format, please check the example at the top of page for reference. + """ + return pulumi.get(self, "param") + + +@pulumi.output_type +class ClusterLogAgent(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "kubeletRootDir": + suggest = "kubelet_root_dir" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterLogAgent. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterLogAgent.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterLogAgent.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + enabled: bool, + kubelet_root_dir: Optional[str] = None): + """ + :param bool enabled: Whether the log agent enabled. + :param str kubelet_root_dir: Kubelet root directory as the literal. + """ + pulumi.set(__self__, "enabled", enabled) + if kubelet_root_dir is not None: + pulumi.set(__self__, "kubelet_root_dir", kubelet_root_dir) + + @property + @pulumi.getter + def enabled(self) -> bool: + """ + Whether the log agent enabled. + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter(name="kubeletRootDir") + def kubelet_root_dir(self) -> Optional[str]: + """ + Kubelet root directory as the literal. + """ + return pulumi.get(self, "kubelet_root_dir") + + +@pulumi.output_type +class ClusterMasterAttachmentExtraArgs(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "kubeApiServers": + suggest = "kube_api_servers" + elif key == "kubeControllerManagers": + suggest = "kube_controller_managers" + elif key == "kubeSchedulers": + suggest = "kube_schedulers" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterMasterAttachmentExtraArgs. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterMasterAttachmentExtraArgs.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterMasterAttachmentExtraArgs.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + etcds: Optional[Sequence[str]] = None, + kube_api_servers: Optional[Sequence[str]] = None, + kube_controller_managers: Optional[Sequence[str]] = None, + kube_schedulers: Optional[Sequence[str]] = None): + """ + :param Sequence[str] etcds: etcd custom parameters. Only supports independent clusters. + :param Sequence[str] kube_api_servers: Kube apiserver custom parameters. The parameter format is ["k1=v1", "k1=v2"]. + :param Sequence[str] kube_controller_managers: Kube controller manager custom parameters. + :param Sequence[str] kube_schedulers: kube scheduler custom parameters. + """ + if etcds is not None: + pulumi.set(__self__, "etcds", etcds) + if kube_api_servers is not None: + pulumi.set(__self__, "kube_api_servers", kube_api_servers) + if kube_controller_managers is not None: + pulumi.set(__self__, "kube_controller_managers", kube_controller_managers) + if kube_schedulers is not None: + pulumi.set(__self__, "kube_schedulers", kube_schedulers) + + @property + @pulumi.getter + def etcds(self) -> Optional[Sequence[str]]: + """ + etcd custom parameters. Only supports independent clusters. + """ + return pulumi.get(self, "etcds") + + @property + @pulumi.getter(name="kubeApiServers") + def kube_api_servers(self) -> Optional[Sequence[str]]: + """ + Kube apiserver custom parameters. The parameter format is ["k1=v1", "k1=v2"]. + """ + return pulumi.get(self, "kube_api_servers") + + @property + @pulumi.getter(name="kubeControllerManagers") + def kube_controller_managers(self) -> Optional[Sequence[str]]: + """ + Kube controller manager custom parameters. + """ + return pulumi.get(self, "kube_controller_managers") + + @property + @pulumi.getter(name="kubeSchedulers") + def kube_schedulers(self) -> Optional[Sequence[str]]: + """ + kube scheduler custom parameters. + """ + return pulumi.get(self, "kube_schedulers") + + +@pulumi.output_type +class ClusterMasterAttachmentMasterConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dataDisk": + suggest = "data_disk" + elif key == "desiredPodNumber": + suggest = "desired_pod_number" + elif key == "dockerGraphPath": + suggest = "docker_graph_path" + elif key == "extraArgs": + suggest = "extra_args" + elif key == "gpuArgs": + suggest = "gpu_args" + elif key == "mountTarget": + suggest = "mount_target" + elif key == "userScript": + suggest = "user_script" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterMasterAttachmentMasterConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterMasterAttachmentMasterConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterMasterAttachmentMasterConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + data_disk: Optional['outputs.ClusterMasterAttachmentMasterConfigDataDisk'] = None, + desired_pod_number: Optional[int] = None, + docker_graph_path: Optional[str] = None, + extra_args: Optional['outputs.ClusterMasterAttachmentMasterConfigExtraArgs'] = None, + gpu_args: Optional['outputs.ClusterMasterAttachmentMasterConfigGpuArgs'] = None, + labels: Optional[Sequence['outputs.ClusterMasterAttachmentMasterConfigLabel']] = None, + mount_target: Optional[str] = None, + taints: Optional[Sequence['outputs.ClusterMasterAttachmentMasterConfigTaint']] = None, + unschedulable: Optional[int] = None, + user_script: Optional[str] = None): + """ + :param 'ClusterMasterAttachmentMasterConfigDataDiskArgs' data_disk: Configurations of data disk. + :param int desired_pod_number: 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 'ClusterMasterAttachmentMasterConfigExtraArgsArgs' extra_args: Custom parameter information related to the node. This is a white-list parameter. + :param 'ClusterMasterAttachmentMasterConfigGpuArgsArgs' gpu_args: GPU driver parameters. + :param Sequence['ClusterMasterAttachmentMasterConfigLabelArgs'] labels: Node label list. + :param str mount_target: Mount target. Default is not mounting. + :param Sequence['ClusterMasterAttachmentMasterConfigTaintArgs'] taints: Node taint. + :param int unschedulable: Set whether the joined nodes participate in scheduling, with a default value of 0, indicating participation in scheduling; Non 0 means not participating in scheduling. + :param str user_script: User script encoded in base64, which will be executed after the k8s component runs. The user needs to ensure the script's reentrant and retry logic. The script and its generated log files can be viewed in the node path /data/ccs_userscript/. If the node needs to be initialized before joining the schedule, it can be used in conjunction with the `unschedulable` parameter. After the final initialization of the userScript is completed, add the command "kubectl uncordon nodename --kubeconfig=/root/.kube/config" to add the node to the schedule. + """ + if data_disk is not None: + pulumi.set(__self__, "data_disk", data_disk) + if desired_pod_number is not None: + pulumi.set(__self__, "desired_pod_number", desired_pod_number) + if docker_graph_path is not None: + pulumi.set(__self__, "docker_graph_path", docker_graph_path) + if extra_args is not None: + pulumi.set(__self__, "extra_args", extra_args) + if gpu_args is not None: + pulumi.set(__self__, "gpu_args", gpu_args) + if labels is not None: + pulumi.set(__self__, "labels", labels) + if mount_target is not None: + pulumi.set(__self__, "mount_target", mount_target) + if taints is not None: + pulumi.set(__self__, "taints", taints) + if unschedulable is not None: + pulumi.set(__self__, "unschedulable", unschedulable) + if user_script is not None: + pulumi.set(__self__, "user_script", user_script) + + @property + @pulumi.getter(name="dataDisk") + def data_disk(self) -> Optional['outputs.ClusterMasterAttachmentMasterConfigDataDisk']: + """ + Configurations of data disk. + """ + return pulumi.get(self, "data_disk") + + @property + @pulumi.getter(name="desiredPodNumber") + def desired_pod_number(self) -> Optional[int]: + """ + Indicate to set desired pod number in node. valid when the cluster is podCIDR. + """ + return pulumi.get(self, "desired_pod_number") + + @property + @pulumi.getter(name="dockerGraphPath") + def docker_graph_path(self) -> Optional[str]: + """ + Docker graph path. Default is `/var/lib/docker`. + """ + return pulumi.get(self, "docker_graph_path") + + @property + @pulumi.getter(name="extraArgs") + def extra_args(self) -> Optional['outputs.ClusterMasterAttachmentMasterConfigExtraArgs']: + """ + Custom parameter information related to the node. This is a white-list parameter. + """ + return pulumi.get(self, "extra_args") + + @property + @pulumi.getter(name="gpuArgs") + def gpu_args(self) -> Optional['outputs.ClusterMasterAttachmentMasterConfigGpuArgs']: + """ + GPU driver parameters. + """ + return pulumi.get(self, "gpu_args") + + @property + @pulumi.getter + def labels(self) -> Optional[Sequence['outputs.ClusterMasterAttachmentMasterConfigLabel']]: + """ + Node label list. + """ + return pulumi.get(self, "labels") + + @property + @pulumi.getter(name="mountTarget") + def mount_target(self) -> Optional[str]: + """ + Mount target. Default is not mounting. + """ + return pulumi.get(self, "mount_target") + + @property + @pulumi.getter + def taints(self) -> Optional[Sequence['outputs.ClusterMasterAttachmentMasterConfigTaint']]: + """ + Node taint. + """ + return pulumi.get(self, "taints") + + @property + @pulumi.getter + def unschedulable(self) -> Optional[int]: + """ + Set whether the joined nodes participate in scheduling, with a default value of 0, indicating participation in scheduling; Non 0 means not participating in scheduling. + """ + return pulumi.get(self, "unschedulable") + + @property + @pulumi.getter(name="userScript") + def user_script(self) -> Optional[str]: + """ + User script encoded in base64, which will be executed after the k8s component runs. The user needs to ensure the script's reentrant and retry logic. The script and its generated log files can be viewed in the node path /data/ccs_userscript/. If the node needs to be initialized before joining the schedule, it can be used in conjunction with the `unschedulable` parameter. After the final initialization of the userScript is completed, add the command "kubectl uncordon nodename --kubeconfig=/root/.kube/config" to add the node to the schedule. + """ + return pulumi.get(self, "user_script") + + +@pulumi.output_type +class ClusterMasterAttachmentMasterConfigDataDisk(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "autoFormatAndMount": + suggest = "auto_format_and_mount" + elif key == "diskPartition": + suggest = "disk_partition" + elif key == "diskSize": + suggest = "disk_size" + elif key == "diskType": + suggest = "disk_type" + elif key == "fileSystem": + suggest = "file_system" + elif key == "mountTarget": + suggest = "mount_target" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterMasterAttachmentMasterConfigDataDisk. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterMasterAttachmentMasterConfigDataDisk.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterMasterAttachmentMasterConfigDataDisk.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + auto_format_and_mount: Optional[bool] = None, + disk_partition: Optional[str] = None, + disk_size: Optional[int] = None, + disk_type: Optional[str] = None, + file_system: Optional[str] = None, + mount_target: Optional[str] = None): + """ + :param bool auto_format_and_mount: Indicate whether to auto format and mount or not. Default is `false`. + :param str disk_partition: The name of the device or partition to mount. NOTE: this argument doesn't support setting in node pool, or will leads to mount error. + :param int disk_size: Volume of disk in GB. Default is `0`. + :param str disk_type: Types of disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. + :param str file_system: File system, e.g. `ext3/ext4/xfs`. + :param str mount_target: Mount target. + """ + if auto_format_and_mount is not None: + pulumi.set(__self__, "auto_format_and_mount", auto_format_and_mount) + if disk_partition is not None: + pulumi.set(__self__, "disk_partition", disk_partition) + if disk_size is not None: + pulumi.set(__self__, "disk_size", disk_size) + if disk_type is not None: + pulumi.set(__self__, "disk_type", disk_type) + if file_system is not None: + pulumi.set(__self__, "file_system", file_system) + if mount_target is not None: + pulumi.set(__self__, "mount_target", mount_target) + + @property + @pulumi.getter(name="autoFormatAndMount") + def auto_format_and_mount(self) -> Optional[bool]: + """ + Indicate whether to auto format and mount or not. Default is `false`. + """ + return pulumi.get(self, "auto_format_and_mount") + + @property + @pulumi.getter(name="diskPartition") + def disk_partition(self) -> Optional[str]: + """ + The name of the device or partition to mount. NOTE: this argument doesn't support setting in node pool, or will leads to mount error. + """ + return pulumi.get(self, "disk_partition") + + @property + @pulumi.getter(name="diskSize") + def disk_size(self) -> Optional[int]: + """ + Volume of disk in GB. Default is `0`. + """ + return pulumi.get(self, "disk_size") + + @property + @pulumi.getter(name="diskType") + def disk_type(self) -> Optional[str]: + """ + Types of disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. + """ + return pulumi.get(self, "disk_type") + + @property + @pulumi.getter(name="fileSystem") + def file_system(self) -> Optional[str]: + """ + File system, e.g. `ext3/ext4/xfs`. + """ + return pulumi.get(self, "file_system") + + @property + @pulumi.getter(name="mountTarget") + def mount_target(self) -> Optional[str]: + """ + Mount target. + """ + return pulumi.get(self, "mount_target") + + +@pulumi.output_type +class ClusterMasterAttachmentMasterConfigExtraArgs(dict): + def __init__(__self__, *, + kubelets: Optional[Sequence[str]] = None): + """ + :param Sequence[str] kubelets: Kubelet custom parameter. The parameter format is ["k1=v1", "k1=v2"]. + """ + if kubelets is not None: + pulumi.set(__self__, "kubelets", kubelets) + + @property + @pulumi.getter + def kubelets(self) -> Optional[Sequence[str]]: + """ + Kubelet custom parameter. The parameter format is ["k1=v1", "k1=v2"]. + """ + return pulumi.get(self, "kubelets") + + +@pulumi.output_type +class ClusterMasterAttachmentMasterConfigGpuArgs(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "customDriver": + suggest = "custom_driver" + elif key == "migEnable": + suggest = "mig_enable" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterMasterAttachmentMasterConfigGpuArgs. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterMasterAttachmentMasterConfigGpuArgs.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterMasterAttachmentMasterConfigGpuArgs.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + cuda: Optional[Mapping[str, Any]] = None, + cudnn: Optional[Mapping[str, Any]] = None, + custom_driver: Optional[Mapping[str, Any]] = None, + driver: Optional[Mapping[str, Any]] = None, + mig_enable: Optional[bool] = None): + """ + :param Mapping[str, Any] cuda: CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + :param Mapping[str, Any] cudnn: cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `doc_name`: Doc name of cuDNN; `dev_name`: Dev name of cuDNN. + :param Mapping[str, Any] custom_driver: Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. + :param Mapping[str, Any] driver: GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + :param bool mig_enable: Whether to enable MIG. + """ + if cuda is not None: + pulumi.set(__self__, "cuda", cuda) + if cudnn is not None: + pulumi.set(__self__, "cudnn", cudnn) + if custom_driver is not None: + pulumi.set(__self__, "custom_driver", custom_driver) + if driver is not None: + pulumi.set(__self__, "driver", driver) + if mig_enable is not None: + pulumi.set(__self__, "mig_enable", mig_enable) + + @property + @pulumi.getter + def cuda(self) -> Optional[Mapping[str, Any]]: + """ + CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + """ + return pulumi.get(self, "cuda") + + @property + @pulumi.getter + def cudnn(self) -> Optional[Mapping[str, Any]]: + """ + cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `doc_name`: Doc name of cuDNN; `dev_name`: Dev name of cuDNN. + """ + return pulumi.get(self, "cudnn") + + @property + @pulumi.getter(name="customDriver") + def custom_driver(self) -> Optional[Mapping[str, Any]]: + """ + Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. + """ + return pulumi.get(self, "custom_driver") + + @property + @pulumi.getter + def driver(self) -> Optional[Mapping[str, Any]]: + """ + GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + """ + return pulumi.get(self, "driver") + + @property + @pulumi.getter(name="migEnable") + def mig_enable(self) -> Optional[bool]: + """ + Whether to enable MIG. + """ + return pulumi.get(self, "mig_enable") + @pulumi.output_type -class ClusterExtensionAddon(dict): +class ClusterMasterAttachmentMasterConfigLabel(dict): def __init__(__self__, *, name: str, - param: str): + value: str): """ - :param str name: Add-on name. - :param str param: Parameter of the add-on resource object in JSON string format, please check the example at the top of page for reference. + :param str name: Name of map. + :param str value: Value of map. """ pulumi.set(__self__, "name", name) - pulumi.set(__self__, "param", param) + pulumi.set(__self__, "value", value) @property @pulumi.getter def name(self) -> str: """ - Add-on name. + Name of map. """ return pulumi.get(self, "name") @property @pulumi.getter - def param(self) -> str: + def value(self) -> str: """ - Parameter of the add-on resource object in JSON string format, please check the example at the top of page for reference. + Value of map. """ - return pulumi.get(self, "param") + return pulumi.get(self, "value") @pulumi.output_type -class ClusterLogAgent(dict): - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "kubeletRootDir": - suggest = "kubelet_root_dir" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in ClusterLogAgent. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - ClusterLogAgent.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - ClusterLogAgent.__key_warning(key) - return super().get(key, default) - +class ClusterMasterAttachmentMasterConfigTaint(dict): def __init__(__self__, *, - enabled: bool, - kubelet_root_dir: Optional[str] = None): + effect: Optional[str] = None, + key: Optional[str] = None, + value: Optional[str] = None): """ - :param bool enabled: Whether the log agent enabled. - :param str kubelet_root_dir: Kubelet root directory as the literal. + :param str effect: Effect of the taint. + :param str key: Key of the taint. + :param str value: Value of the taint. """ - pulumi.set(__self__, "enabled", enabled) - if kubelet_root_dir is not None: - pulumi.set(__self__, "kubelet_root_dir", kubelet_root_dir) + if effect is not None: + pulumi.set(__self__, "effect", effect) + if key is not None: + pulumi.set(__self__, "key", key) + if value is not None: + pulumi.set(__self__, "value", value) @property @pulumi.getter - def enabled(self) -> bool: + def effect(self) -> Optional[str]: """ - Whether the log agent enabled. + Effect of the taint. """ - return pulumi.get(self, "enabled") + return pulumi.get(self, "effect") @property - @pulumi.getter(name="kubeletRootDir") - def kubelet_root_dir(self) -> Optional[str]: + @pulumi.getter + def key(self) -> Optional[str]: """ - Kubelet root directory as the literal. + Key of the taint. """ - return pulumi.get(self, "kubelet_root_dir") + return pulumi.get(self, "key") + + @property + @pulumi.getter + def value(self) -> Optional[str]: + """ + Value of the taint. + """ + return pulumi.get(self, "value") @pulumi.output_type @@ -1940,6 +3070,68 @@ def skip_nodes_with_system_pods(self) -> Optional[bool]: return pulumi.get(self, "skip_nodes_with_system_pods") +@pulumi.output_type +class ClusterResourceDeleteOption(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "deleteMode": + suggest = "delete_mode" + elif key == "resourceType": + suggest = "resource_type" + elif key == "skipDeletionProtection": + suggest = "skip_deletion_protection" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterResourceDeleteOption. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterResourceDeleteOption.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterResourceDeleteOption.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + delete_mode: str, + resource_type: str, + skip_deletion_protection: Optional[bool] = None): + """ + :param str delete_mode: The deletion mode of CBS resources when the cluster is deleted, `terminate` (destroy), `retain` (retain). Other resources are deleted by default. + :param str resource_type: Resource type, valid values are `CBS`, `CLB`, and `CVM`. + :param bool skip_deletion_protection: Whether to skip resources with deletion protection enabled, the default is false. + """ + pulumi.set(__self__, "delete_mode", delete_mode) + pulumi.set(__self__, "resource_type", resource_type) + if skip_deletion_protection is not None: + pulumi.set(__self__, "skip_deletion_protection", skip_deletion_protection) + + @property + @pulumi.getter(name="deleteMode") + def delete_mode(self) -> str: + """ + The deletion mode of CBS resources when the cluster is deleted, `terminate` (destroy), `retain` (retain). Other resources are deleted by default. + """ + return pulumi.get(self, "delete_mode") + + @property + @pulumi.getter(name="resourceType") + def resource_type(self) -> str: + """ + Resource type, valid values are `CBS`, `CLB`, and `CVM`. + """ + return pulumi.get(self, "resource_type") + + @property + @pulumi.getter(name="skipDeletionProtection") + def skip_deletion_protection(self) -> Optional[bool]: + """ + Whether to skip resources with deletion protection enabled, the default is false. + """ + return pulumi.get(self, "skip_deletion_protection") + + @pulumi.output_type class ClusterWorkerConfig(dict): @staticmethod @@ -2620,6 +3812,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__, *, @@ -2711,6 +3960,8 @@ def __key_warning(key: str): suggest = "key_ids" elif key == "kubeletArgs": suggest = "kubelet_args" + elif key == "machineType": + suggest = "machine_type" elif key == "runtimeRootDir": suggest = "runtime_root_dir" @@ -2741,6 +3992,7 @@ def __init__(__self__, *, key_ids: Optional[Sequence[str]] = None, kubelet_args: Optional[Sequence[str]] = None, lifecycle: Optional['outputs.NativeNodePoolNativeLifecycle'] = None, + machine_type: Optional[str] = None, management: Optional['outputs.NativeNodePoolNativeManagement'] = None, replicas: Optional[int] = None, runtime_root_dir: Optional[str] = None, @@ -2761,6 +4013,7 @@ def __init__(__self__, *, :param Sequence[str] key_ids: Node pool ssh public key id array. :param Sequence[str] kubelet_args: Kubelet custom parameters. :param 'NativeNodePoolNativeLifecycleArgs' lifecycle: Predefined scripts. + :param str machine_type: Node pool type. Example value: `NativeCVM` or `Native`. Default is `Native`. :param 'NativeNodePoolNativeManagementArgs' management: Node pool management parameter settings. :param int replicas: Desired number of nodes. :param str runtime_root_dir: Runtime root directory. @@ -2791,6 +4044,8 @@ def __init__(__self__, *, pulumi.set(__self__, "kubelet_args", kubelet_args) if lifecycle is not None: pulumi.set(__self__, "lifecycle", lifecycle) + if machine_type is not None: + pulumi.set(__self__, "machine_type", machine_type) if management is not None: pulumi.set(__self__, "management", management) if replicas is not None: @@ -2920,6 +4175,14 @@ def lifecycle(self) -> Optional['outputs.NativeNodePoolNativeLifecycle']: """ return pulumi.get(self, "lifecycle") + @property + @pulumi.getter(name="machineType") + def machine_type(self) -> Optional[str]: + """ + Node pool type. Example value: `NativeCVM` or `Native`. Default is `Native`. + """ + return pulumi.get(self, "machine_type") + @property @pulumi.getter def management(self) -> Optional['outputs.NativeNodePoolNativeManagement']: @@ -3563,6 +4826,35 @@ def value(self) -> Optional[str]: return pulumi.get(self, "value") +@pulumi.output_type +class NodePoolAnnotation(dict): + def __init__(__self__, *, + name: str, + value: str): + """ + :param str name: Name in the map table. + :param str value: Value in the map table. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> str: + """ + Name in the map table. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def value(self) -> str: + """ + Value in the map table. + """ + return pulumi.get(self, "value") + + @pulumi.output_type class NodePoolAutoScalingConfig(dict): @staticmethod @@ -3594,6 +4886,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 +4934,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 +4960,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 +4998,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 +5127,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 +5718,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 +5742,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 +5757,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 +5776,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]: @@ -4583,6 +5903,49 @@ def mig_enable(self) -> Optional[bool]: return pulumi.get(self, "mig_enable") +@pulumi.output_type +class ScaleWorkerTaint(dict): + def __init__(__self__, *, + effect: Optional[str] = None, + key: Optional[str] = None, + value: Optional[str] = None): + """ + :param str effect: Effect of the taint. + :param str key: Key of the taint. + :param str value: Value of the taint. + """ + if effect is not None: + pulumi.set(__self__, "effect", effect) + if key is not None: + pulumi.set(__self__, "key", key) + if value is not None: + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def effect(self) -> Optional[str]: + """ + Effect of the taint. + """ + return pulumi.get(self, "effect") + + @property + @pulumi.getter + def key(self) -> Optional[str]: + """ + Key of the taint. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter + def value(self) -> Optional[str]: + """ + Value of the taint. + """ + return pulumi.get(self, "value") + + @pulumi.output_type class ScaleWorkerWorkerConfig(dict): @staticmethod @@ -4683,7 +6046,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 +6173,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 +6417,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 +6428,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 +6463,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 +6482,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 @@ -5465,21 +6840,35 @@ def use_tke_default(self) -> bool: @pulumi.output_type class GetClusterCommonNamesListResult(dict): def __init__(__self__, *, + common_name: str, common_names: str, subaccount_uin: str): """ - :param str common_names: The CommonName in the certificate of the client corresponding to the sub-account. + :param str common_name: The CommonName in the certificate of the client corresponding to the sub-account. + :param str common_names: (**Deprecated**) It has been deprecated from version 1.81.140. Please use `common_name`. The CommonName in the certificate of the client corresponding to the sub-account. :param str subaccount_uin: User UIN. """ + pulumi.set(__self__, "common_name", common_name) pulumi.set(__self__, "common_names", common_names) pulumi.set(__self__, "subaccount_uin", subaccount_uin) + @property + @pulumi.getter(name="commonName") + def common_name(self) -> str: + """ + The CommonName in the certificate of the client corresponding to the sub-account. + """ + return pulumi.get(self, "common_name") + @property @pulumi.getter(name="commonNames") def common_names(self) -> str: """ - The CommonName in the certificate of the client corresponding to the sub-account. + (**Deprecated**) It has been deprecated from version 1.81.140. Please use `common_name`. The CommonName in the certificate of the client corresponding to the sub-account. """ + warnings.warn("""It has been deprecated from version 1.81.140. Please use `common_name`.""", DeprecationWarning) + pulumi.log.warn("""common_names is deprecated: It has been deprecated from version 1.81.140. Please use `common_name`.""") + return pulumi.get(self, "common_names") @property @@ -7918,6 +9307,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 +9346,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 +9385,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 +9424,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..bda1a08ec 100644 --- a/sdk/python/tencentcloud_iac_pulumi/kubernetes/scale_worker.py +++ b/sdk/python/tencentcloud_iac_pulumi/kubernetes/scale_worker.py @@ -18,6 +18,7 @@ class ScaleWorkerArgs: def __init__(__self__, *, cluster_id: pulumi.Input[str], worker_config: pulumi.Input['ScaleWorkerWorkerConfigArgs'], + create_result_output_file: Optional[pulumi.Input[str]] = None, data_disks: Optional[pulumi.Input[Sequence[pulumi.Input['ScaleWorkerDataDiskArgs']]]] = None, desired_pod_num: Optional[pulumi.Input[int]] = None, docker_graph_path: Optional[pulumi.Input[str]] = None, @@ -26,13 +27,15 @@ def __init__(__self__, *, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, mount_target: Optional[pulumi.Input[str]] = None, pre_start_user_script: Optional[pulumi.Input[str]] = None, + taints: Optional[pulumi.Input[Sequence[pulumi.Input['ScaleWorkerTaintArgs']]]] = None, unschedulable: Optional[pulumi.Input[int]] = None, user_script: Optional[pulumi.Input[str]] = None): """ 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[str] create_result_output_file: Used to save results of CVMs creation error messages. + :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. @@ -40,11 +43,14 @@ def __init__(__self__, *, :param pulumi.Input[Mapping[str, Any]] labels: Labels of kubernetes scale worker created nodes. :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[Sequence[pulumi.Input['ScaleWorkerTaintArgs']]] taints: Node taint. :param pulumi.Input[int] unschedulable: Set whether the added node participates in scheduling. The default value is 0, which means participating in scheduling; non-0 means not participating in scheduling. After the node initialization is completed, you can execute kubectl uncordon nodename to join the node in scheduling. :param pulumi.Input[str] user_script: Base64 encoded user script, this script will be executed after the k8s component is run. The user needs to ensure that the script is reentrant and retry logic. The script and its generated log files can be viewed in the /data/ccs_userscript/ path of the node, if required. The node needs to be initialized before it can be added to the schedule. It can be used with the unschedulable parameter. After the final initialization of userScript is completed, add the kubectl uncordon nodename --kubeconfig=/root/.kube/config command to add the node to the schedule. """ pulumi.set(__self__, "cluster_id", cluster_id) pulumi.set(__self__, "worker_config", worker_config) + if create_result_output_file is not None: + pulumi.set(__self__, "create_result_output_file", create_result_output_file) if data_disks is not None: pulumi.set(__self__, "data_disks", data_disks) if desired_pod_num is not None: @@ -61,6 +67,8 @@ def __init__(__self__, *, pulumi.set(__self__, "mount_target", mount_target) if pre_start_user_script is not None: pulumi.set(__self__, "pre_start_user_script", pre_start_user_script) + if taints is not None: + pulumi.set(__self__, "taints", taints) if unschedulable is not None: pulumi.set(__self__, "unschedulable", unschedulable) if user_script is not None: @@ -90,11 +98,23 @@ def worker_config(self) -> pulumi.Input['ScaleWorkerWorkerConfigArgs']: def worker_config(self, value: pulumi.Input['ScaleWorkerWorkerConfigArgs']): pulumi.set(self, "worker_config", value) + @property + @pulumi.getter(name="createResultOutputFile") + def create_result_output_file(self) -> Optional[pulumi.Input[str]]: + """ + Used to save results of CVMs creation error messages. + """ + return pulumi.get(self, "create_result_output_file") + + @create_result_output_file.setter + def create_result_output_file(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "create_result_output_file", value) + @property @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") @@ -186,6 +206,18 @@ def pre_start_user_script(self) -> Optional[pulumi.Input[str]]: def pre_start_user_script(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "pre_start_user_script", value) + @property + @pulumi.getter + def taints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ScaleWorkerTaintArgs']]]]: + """ + Node taint. + """ + return pulumi.get(self, "taints") + + @taints.setter + def taints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ScaleWorkerTaintArgs']]]]): + pulumi.set(self, "taints", value) + @property @pulumi.getter def unschedulable(self) -> Optional[pulumi.Input[int]]: @@ -215,6 +247,7 @@ def user_script(self, value: Optional[pulumi.Input[str]]): class _ScaleWorkerState: def __init__(__self__, *, cluster_id: Optional[pulumi.Input[str]] = None, + create_result_output_file: Optional[pulumi.Input[str]] = None, data_disks: Optional[pulumi.Input[Sequence[pulumi.Input['ScaleWorkerDataDiskArgs']]]] = None, desired_pod_num: Optional[pulumi.Input[int]] = None, docker_graph_path: Optional[pulumi.Input[str]] = None, @@ -223,6 +256,7 @@ def __init__(__self__, *, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, mount_target: Optional[pulumi.Input[str]] = None, pre_start_user_script: Optional[pulumi.Input[str]] = None, + taints: Optional[pulumi.Input[Sequence[pulumi.Input['ScaleWorkerTaintArgs']]]] = None, unschedulable: Optional[pulumi.Input[int]] = None, user_script: Optional[pulumi.Input[str]] = None, worker_config: Optional[pulumi.Input['ScaleWorkerWorkerConfigArgs']] = None, @@ -230,7 +264,8 @@ 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[str] create_result_output_file: Used to save results of CVMs creation error messages. + :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. @@ -238,6 +273,7 @@ def __init__(__self__, *, :param pulumi.Input[Mapping[str, Any]] labels: Labels of kubernetes scale worker created nodes. :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[Sequence[pulumi.Input['ScaleWorkerTaintArgs']]] taints: Node taint. :param pulumi.Input[int] unschedulable: Set whether the added node participates in scheduling. The default value is 0, which means participating in scheduling; non-0 means not participating in scheduling. After the node initialization is completed, you can execute kubectl uncordon nodename to join the node in scheduling. :param pulumi.Input[str] user_script: Base64 encoded user script, this script will be executed after the k8s component is run. The user needs to ensure that the script is reentrant and retry logic. The script and its generated log files can be viewed in the /data/ccs_userscript/ path of the node, if required. The node needs to be initialized before it can be added to the schedule. It can be used with the unschedulable parameter. After the final initialization of userScript is completed, add the kubectl uncordon nodename --kubeconfig=/root/.kube/config command to add the node to the schedule. :param pulumi.Input['ScaleWorkerWorkerConfigArgs'] worker_config: Deploy the machine configuration information of the 'WORK' service, and create <=20 units for common users. @@ -245,6 +281,8 @@ def __init__(__self__, *, """ if cluster_id is not None: pulumi.set(__self__, "cluster_id", cluster_id) + if create_result_output_file is not None: + pulumi.set(__self__, "create_result_output_file", create_result_output_file) if data_disks is not None: pulumi.set(__self__, "data_disks", data_disks) if desired_pod_num is not None: @@ -261,6 +299,8 @@ def __init__(__self__, *, pulumi.set(__self__, "mount_target", mount_target) if pre_start_user_script is not None: pulumi.set(__self__, "pre_start_user_script", pre_start_user_script) + if taints is not None: + pulumi.set(__self__, "taints", taints) if unschedulable is not None: pulumi.set(__self__, "unschedulable", unschedulable) if user_script is not None: @@ -282,11 +322,23 @@ def cluster_id(self) -> Optional[pulumi.Input[str]]: def cluster_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "cluster_id", value) + @property + @pulumi.getter(name="createResultOutputFile") + def create_result_output_file(self) -> Optional[pulumi.Input[str]]: + """ + Used to save results of CVMs creation error messages. + """ + return pulumi.get(self, "create_result_output_file") + + @create_result_output_file.setter + def create_result_output_file(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "create_result_output_file", value) + @property @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") @@ -378,6 +430,18 @@ def pre_start_user_script(self) -> Optional[pulumi.Input[str]]: def pre_start_user_script(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "pre_start_user_script", value) + @property + @pulumi.getter + def taints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ScaleWorkerTaintArgs']]]]: + """ + Node taint. + """ + return pulumi.get(self, "taints") + + @taints.setter + def taints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ScaleWorkerTaintArgs']]]]): + pulumi.set(self, "taints", value) + @property @pulumi.getter def unschedulable(self) -> Optional[pulumi.Input[int]]: @@ -433,6 +497,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, cluster_id: Optional[pulumi.Input[str]] = None, + create_result_output_file: Optional[pulumi.Input[str]] = None, data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScaleWorkerDataDiskArgs']]]]] = None, desired_pod_num: Optional[pulumi.Input[int]] = None, docker_graph_path: Optional[pulumi.Input[str]] = None, @@ -441,6 +506,7 @@ def __init__(__self__, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, mount_target: Optional[pulumi.Input[str]] = None, pre_start_user_script: Optional[pulumi.Input[str]] = None, + taints: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScaleWorkerTaintArgs']]]]] = None, unschedulable: Optional[pulumi.Input[int]] = None, user_script: Optional[pulumi.Input[str]] = None, worker_config: Optional[pulumi.Input[pulumi.InputType['ScaleWorkerWorkerConfigArgs']]] = None, @@ -452,6 +518,8 @@ def __init__(__self__, > **NOTE:** Import Node: Currently, only one node can be imported at a time. + > **NOTE:** If you need to view error messages during instance creation, you can use parameter `create_result_output_file` to set the file save path + ## Example Usage @@ -469,7 +537,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={ @@ -494,7 +562,8 @@ def __init__(__self__, enhanced_monitor_service=False, user_data="dGVzdA==", password="AABBccdd1122", - )) + ), + create_result_output_file="my_output_file_path") ``` @@ -515,7 +584,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 +618,14 @@ 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 ``` :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[str] create_result_output_file: Used to save results of CVMs creation error messages. + :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. @@ -563,6 +633,7 @@ def __init__(__self__, :param pulumi.Input[Mapping[str, Any]] labels: Labels of kubernetes scale worker created nodes. :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[Sequence[pulumi.Input[pulumi.InputType['ScaleWorkerTaintArgs']]]] taints: Node taint. :param pulumi.Input[int] unschedulable: Set whether the added node participates in scheduling. The default value is 0, which means participating in scheduling; non-0 means not participating in scheduling. After the node initialization is completed, you can execute kubectl uncordon nodename to join the node in scheduling. :param pulumi.Input[str] user_script: Base64 encoded user script, this script will be executed after the k8s component is run. The user needs to ensure that the script is reentrant and retry logic. The script and its generated log files can be viewed in the /data/ccs_userscript/ path of the node, if required. The node needs to be initialized before it can be added to the schedule. It can be used with the unschedulable parameter. After the final initialization of userScript is completed, add the kubectl uncordon nodename --kubeconfig=/root/.kube/config command to add the node to the schedule. :param pulumi.Input[pulumi.InputType['ScaleWorkerWorkerConfigArgs']] worker_config: Deploy the machine configuration information of the 'WORK' service, and create <=20 units for common users. @@ -580,6 +651,8 @@ def __init__(__self__, > **NOTE:** Import Node: Currently, only one node can be imported at a time. + > **NOTE:** If you need to view error messages during instance creation, you can use parameter `create_result_output_file` to set the file save path + ## Example Usage @@ -597,7 +670,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={ @@ -622,7 +695,8 @@ def __init__(__self__, enhanced_monitor_service=False, user_data="dGVzdA==", password="AABBccdd1122", - )) + ), + create_result_output_file="my_output_file_path") ``` @@ -643,7 +717,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 +751,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 ``` :param str resource_name: The name of the resource. @@ -696,6 +770,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, cluster_id: Optional[pulumi.Input[str]] = None, + create_result_output_file: Optional[pulumi.Input[str]] = None, data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScaleWorkerDataDiskArgs']]]]] = None, desired_pod_num: Optional[pulumi.Input[int]] = None, docker_graph_path: Optional[pulumi.Input[str]] = None, @@ -704,6 +779,7 @@ def _internal_init(__self__, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, mount_target: Optional[pulumi.Input[str]] = None, pre_start_user_script: Optional[pulumi.Input[str]] = None, + taints: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScaleWorkerTaintArgs']]]]] = None, unschedulable: Optional[pulumi.Input[int]] = None, user_script: Optional[pulumi.Input[str]] = None, worker_config: Optional[pulumi.Input[pulumi.InputType['ScaleWorkerWorkerConfigArgs']]] = None, @@ -719,6 +795,7 @@ def _internal_init(__self__, if cluster_id is None and not opts.urn: raise TypeError("Missing required property 'cluster_id'") __props__.__dict__["cluster_id"] = cluster_id + __props__.__dict__["create_result_output_file"] = create_result_output_file __props__.__dict__["data_disks"] = data_disks __props__.__dict__["desired_pod_num"] = desired_pod_num __props__.__dict__["docker_graph_path"] = docker_graph_path @@ -727,6 +804,7 @@ def _internal_init(__self__, __props__.__dict__["labels"] = labels __props__.__dict__["mount_target"] = mount_target __props__.__dict__["pre_start_user_script"] = pre_start_user_script + __props__.__dict__["taints"] = taints __props__.__dict__["unschedulable"] = unschedulable __props__.__dict__["user_script"] = user_script if worker_config is None and not opts.urn: @@ -744,6 +822,7 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, cluster_id: Optional[pulumi.Input[str]] = None, + create_result_output_file: Optional[pulumi.Input[str]] = None, data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScaleWorkerDataDiskArgs']]]]] = None, desired_pod_num: Optional[pulumi.Input[int]] = None, docker_graph_path: Optional[pulumi.Input[str]] = None, @@ -752,6 +831,7 @@ def get(resource_name: str, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, mount_target: Optional[pulumi.Input[str]] = None, pre_start_user_script: Optional[pulumi.Input[str]] = None, + taints: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScaleWorkerTaintArgs']]]]] = None, unschedulable: Optional[pulumi.Input[int]] = None, user_script: Optional[pulumi.Input[str]] = None, worker_config: Optional[pulumi.Input[pulumi.InputType['ScaleWorkerWorkerConfigArgs']]] = None, @@ -764,7 +844,8 @@ 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[str] create_result_output_file: Used to save results of CVMs creation error messages. + :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. @@ -772,6 +853,7 @@ def get(resource_name: str, :param pulumi.Input[Mapping[str, Any]] labels: Labels of kubernetes scale worker created nodes. :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[Sequence[pulumi.Input[pulumi.InputType['ScaleWorkerTaintArgs']]]] taints: Node taint. :param pulumi.Input[int] unschedulable: Set whether the added node participates in scheduling. The default value is 0, which means participating in scheduling; non-0 means not participating in scheduling. After the node initialization is completed, you can execute kubectl uncordon nodename to join the node in scheduling. :param pulumi.Input[str] user_script: Base64 encoded user script, this script will be executed after the k8s component is run. The user needs to ensure that the script is reentrant and retry logic. The script and its generated log files can be viewed in the /data/ccs_userscript/ path of the node, if required. The node needs to be initialized before it can be added to the schedule. It can be used with the unschedulable parameter. After the final initialization of userScript is completed, add the kubectl uncordon nodename --kubeconfig=/root/.kube/config command to add the node to the schedule. :param pulumi.Input[pulumi.InputType['ScaleWorkerWorkerConfigArgs']] worker_config: Deploy the machine configuration information of the 'WORK' service, and create <=20 units for common users. @@ -782,6 +864,7 @@ def get(resource_name: str, __props__ = _ScaleWorkerState.__new__(_ScaleWorkerState) __props__.__dict__["cluster_id"] = cluster_id + __props__.__dict__["create_result_output_file"] = create_result_output_file __props__.__dict__["data_disks"] = data_disks __props__.__dict__["desired_pod_num"] = desired_pod_num __props__.__dict__["docker_graph_path"] = docker_graph_path @@ -790,6 +873,7 @@ def get(resource_name: str, __props__.__dict__["labels"] = labels __props__.__dict__["mount_target"] = mount_target __props__.__dict__["pre_start_user_script"] = pre_start_user_script + __props__.__dict__["taints"] = taints __props__.__dict__["unschedulable"] = unschedulable __props__.__dict__["user_script"] = user_script __props__.__dict__["worker_config"] = worker_config @@ -804,11 +888,19 @@ def cluster_id(self) -> pulumi.Output[str]: """ return pulumi.get(self, "cluster_id") + @property + @pulumi.getter(name="createResultOutputFile") + def create_result_output_file(self) -> pulumi.Output[Optional[str]]: + """ + Used to save results of CVMs creation error messages. + """ + return pulumi.get(self, "create_result_output_file") + @property @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") @@ -868,6 +960,14 @@ def pre_start_user_script(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "pre_start_user_script") + @property + @pulumi.getter + def taints(self) -> pulumi.Output[Optional[Sequence['outputs.ScaleWorkerTaint']]]: + """ + Node taint. + """ + return pulumi.get(self, "taints") + @property @pulumi.getter def unschedulable(self) -> pulumi.Output[Optional[int]]: 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..00790d5f1 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/mysql/cls_log_attachment.py @@ -0,0 +1,755 @@ +# 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") + ``` + + + :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") + ``` + + + :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..ceec98616 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. Cross-region query requires master instance permission. :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. Cross-region query requires master instance permission. + """ + 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. Cross-region query requires master instance permission. :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. Cross-region query requires master instance permission. + """ + 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. Cross-region query requires master instance permission. :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. Cross-region query requires master instance permission. :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. Cross-region query requires master instance permission. + """ + 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/nat/gateway.py b/sdk/python/tencentcloud_iac_pulumi/nat/gateway.py index 3cbb15452..2e96e7d30 100644 --- a/sdk/python/tencentcloud_iac_pulumi/nat/gateway.py +++ b/sdk/python/tencentcloud_iac_pulumi/nat/gateway.py @@ -20,6 +20,7 @@ def __init__(__self__, *, max_concurrent: Optional[pulumi.Input[int]] = None, name: Optional[pulumi.Input[str]] = None, nat_product_version: Optional[pulumi.Input[int]] = None, + stock_public_ip_addresses_bandwidth_out: Optional[pulumi.Input[int]] = None, subnet_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, zone: Optional[pulumi.Input[str]] = None): @@ -27,10 +28,11 @@ def __init__(__self__, *, The set of arguments for constructing a Gateway resource. :param pulumi.Input[Sequence[pulumi.Input[str]]] assigned_eip_sets: EIP IP address set bound to the gateway. The value of at least 1 and at most 10. :param pulumi.Input[str] vpc_id: ID of the vpc. - :param pulumi.Input[int] bandwidth: The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is 100. - :param pulumi.Input[int] max_concurrent: The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. + :param pulumi.Input[int] bandwidth: The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is `100`. When the value of parameter `nat_product_version` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `5000`. + :param pulumi.Input[int] max_concurrent: The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. When the value of parameter `nat_product_version` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `2000000`. :param pulumi.Input[str] name: Name of the NAT gateway. :param pulumi.Input[int] nat_product_version: 1: traditional NAT, 2: standard NAT, default value is 1. + :param pulumi.Input[int] stock_public_ip_addresses_bandwidth_out: The elastic public IP bandwidth value (unit: Mbps) for binding NAT gateway. When this parameter is not filled in, it defaults to the bandwidth value of the elastic public IP, and for some users, it defaults to the bandwidth limit of the elastic public IP of that user type. :param pulumi.Input[str] subnet_id: Subnet of NAT. :param pulumi.Input[Mapping[str, Any]] tags: The available tags within this NAT gateway. :param pulumi.Input[str] zone: The availability zone, such as `ap-guangzhou-3`. @@ -45,6 +47,8 @@ def __init__(__self__, *, pulumi.set(__self__, "name", name) if nat_product_version is not None: pulumi.set(__self__, "nat_product_version", nat_product_version) + if stock_public_ip_addresses_bandwidth_out is not None: + pulumi.set(__self__, "stock_public_ip_addresses_bandwidth_out", stock_public_ip_addresses_bandwidth_out) if subnet_id is not None: pulumi.set(__self__, "subnet_id", subnet_id) if tags is not None: @@ -80,7 +84,7 @@ def vpc_id(self, value: pulumi.Input[str]): @pulumi.getter def bandwidth(self) -> Optional[pulumi.Input[int]]: """ - The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is 100. + The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is `100`. When the value of parameter `nat_product_version` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `5000`. """ return pulumi.get(self, "bandwidth") @@ -92,7 +96,7 @@ def bandwidth(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="maxConcurrent") def max_concurrent(self) -> Optional[pulumi.Input[int]]: """ - The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. + The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. When the value of parameter `nat_product_version` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `2000000`. """ return pulumi.get(self, "max_concurrent") @@ -124,6 +128,18 @@ def nat_product_version(self) -> Optional[pulumi.Input[int]]: def nat_product_version(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "nat_product_version", value) + @property + @pulumi.getter(name="stockPublicIpAddressesBandwidthOut") + def stock_public_ip_addresses_bandwidth_out(self) -> Optional[pulumi.Input[int]]: + """ + The elastic public IP bandwidth value (unit: Mbps) for binding NAT gateway. When this parameter is not filled in, it defaults to the bandwidth value of the elastic public IP, and for some users, it defaults to the bandwidth limit of the elastic public IP of that user type. + """ + return pulumi.get(self, "stock_public_ip_addresses_bandwidth_out") + + @stock_public_ip_addresses_bandwidth_out.setter + def stock_public_ip_addresses_bandwidth_out(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "stock_public_ip_addresses_bandwidth_out", value) + @property @pulumi.getter(name="subnetId") def subnet_id(self) -> Optional[pulumi.Input[str]]: @@ -170,6 +186,7 @@ def __init__(__self__, *, max_concurrent: Optional[pulumi.Input[int]] = None, name: Optional[pulumi.Input[str]] = None, nat_product_version: Optional[pulumi.Input[int]] = None, + stock_public_ip_addresses_bandwidth_out: Optional[pulumi.Input[int]] = None, subnet_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, vpc_id: Optional[pulumi.Input[str]] = None, @@ -177,11 +194,12 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering Gateway resources. :param pulumi.Input[Sequence[pulumi.Input[str]]] assigned_eip_sets: EIP IP address set bound to the gateway. The value of at least 1 and at most 10. - :param pulumi.Input[int] bandwidth: The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is 100. + :param pulumi.Input[int] bandwidth: The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is `100`. When the value of parameter `nat_product_version` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `5000`. :param pulumi.Input[str] created_time: Create time of the NAT gateway. - :param pulumi.Input[int] max_concurrent: The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. + :param pulumi.Input[int] max_concurrent: The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. When the value of parameter `nat_product_version` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `2000000`. :param pulumi.Input[str] name: Name of the NAT gateway. :param pulumi.Input[int] nat_product_version: 1: traditional NAT, 2: standard NAT, default value is 1. + :param pulumi.Input[int] stock_public_ip_addresses_bandwidth_out: The elastic public IP bandwidth value (unit: Mbps) for binding NAT gateway. When this parameter is not filled in, it defaults to the bandwidth value of the elastic public IP, and for some users, it defaults to the bandwidth limit of the elastic public IP of that user type. :param pulumi.Input[str] subnet_id: Subnet of NAT. :param pulumi.Input[Mapping[str, Any]] tags: The available tags within this NAT gateway. :param pulumi.Input[str] vpc_id: ID of the vpc. @@ -199,6 +217,8 @@ def __init__(__self__, *, pulumi.set(__self__, "name", name) if nat_product_version is not None: pulumi.set(__self__, "nat_product_version", nat_product_version) + if stock_public_ip_addresses_bandwidth_out is not None: + pulumi.set(__self__, "stock_public_ip_addresses_bandwidth_out", stock_public_ip_addresses_bandwidth_out) if subnet_id is not None: pulumi.set(__self__, "subnet_id", subnet_id) if tags is not None: @@ -224,7 +244,7 @@ def assigned_eip_sets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[s @pulumi.getter def bandwidth(self) -> Optional[pulumi.Input[int]]: """ - The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is 100. + The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is `100`. When the value of parameter `nat_product_version` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `5000`. """ return pulumi.get(self, "bandwidth") @@ -248,7 +268,7 @@ def created_time(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="maxConcurrent") def max_concurrent(self) -> Optional[pulumi.Input[int]]: """ - The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. + The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. When the value of parameter `nat_product_version` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `2000000`. """ return pulumi.get(self, "max_concurrent") @@ -280,6 +300,18 @@ def nat_product_version(self) -> Optional[pulumi.Input[int]]: def nat_product_version(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "nat_product_version", value) + @property + @pulumi.getter(name="stockPublicIpAddressesBandwidthOut") + def stock_public_ip_addresses_bandwidth_out(self) -> Optional[pulumi.Input[int]]: + """ + The elastic public IP bandwidth value (unit: Mbps) for binding NAT gateway. When this parameter is not filled in, it defaults to the bandwidth value of the elastic public IP, and for some users, it defaults to the bandwidth limit of the elastic public IP of that user type. + """ + return pulumi.get(self, "stock_public_ip_addresses_bandwidth_out") + + @stock_public_ip_addresses_bandwidth_out.setter + def stock_public_ip_addresses_bandwidth_out(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "stock_public_ip_addresses_bandwidth_out", value) + @property @pulumi.getter(name="subnetId") def subnet_id(self) -> Optional[pulumi.Input[str]]: @@ -339,6 +371,7 @@ def __init__(__self__, max_concurrent: Optional[pulumi.Input[int]] = None, name: Optional[pulumi.Input[str]] = None, nat_product_version: Optional[pulumi.Input[int]] = None, + stock_public_ip_addresses_bandwidth_out: Optional[pulumi.Input[int]] = None, subnet_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, vpc_id: Optional[pulumi.Input[str]] = None, @@ -347,6 +380,10 @@ def __init__(__self__, """ Provides a resource to create a NAT gateway. + > **NOTE:** If `nat_product_version` is `1`, `max_concurrent` valid values is `1000000`, `3000000`, `10000000`. + + > **NOTE:** If set `stock_public_ip_addresses_bandwidth_out`, do not set the `internet_max_bandwidth_out` parameter of resource `Eip.Instance` at the same time, otherwise conflicts may occur. + ## Example Usage ### Create a traditional NAT gateway. @@ -361,6 +398,7 @@ def __init__(__self__, eip_example2 = tencentcloud.eip.Instance("eipExample2") example = tencentcloud.nat.Gateway("example", vpc_id=vpc.id, + nat_product_version=1, bandwidth=100, max_concurrent=1000000, assigned_eip_sets=[ @@ -368,7 +406,7 @@ def __init__(__self__, eip_example2.public_ip, ], tags={ - "tf_tag_key": "tf_tag_value", + "createBy": "terraform", }) ``` @@ -385,13 +423,37 @@ def __init__(__self__, eip_example2 = tencentcloud.eip.Instance("eipExample2") example = tencentcloud.nat.Gateway("example", vpc_id=vpc.id, + nat_product_version=2, assigned_eip_sets=[ eip_example1.public_ip, eip_example2.public_ip, ], + tags={ + "createBy": "terraform", + }) + ``` + + + ### Or set stock public ip addresses bandwidth out + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + eip_example1 = tencentcloud.eip.Instance("eipExample1") + eip_example2 = tencentcloud.eip.Instance("eipExample2") + example = tencentcloud.nat.Gateway("example", + vpc_id=vpc.id, nat_product_version=2, + stock_public_ip_addresses_bandwidth_out=100, + assigned_eip_sets=[ + eip_example1.public_ip, + eip_example2.public_ip, + ], tags={ - "tf_tag_key": "tf_tag_value", + "createBy": "terraform", }) ``` @@ -401,16 +463,17 @@ def __init__(__self__, NAT gateway can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Nat/gateway:Gateway foo nat-1asg3t63 + $ pulumi import tencentcloud:Nat/gateway:Gateway example nat-1asg3t63 ``` :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Sequence[pulumi.Input[str]]] assigned_eip_sets: EIP IP address set bound to the gateway. The value of at least 1 and at most 10. - :param pulumi.Input[int] bandwidth: The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is 100. - :param pulumi.Input[int] max_concurrent: The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. + :param pulumi.Input[int] bandwidth: The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is `100`. When the value of parameter `nat_product_version` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `5000`. + :param pulumi.Input[int] max_concurrent: The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. When the value of parameter `nat_product_version` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `2000000`. :param pulumi.Input[str] name: Name of the NAT gateway. :param pulumi.Input[int] nat_product_version: 1: traditional NAT, 2: standard NAT, default value is 1. + :param pulumi.Input[int] stock_public_ip_addresses_bandwidth_out: The elastic public IP bandwidth value (unit: Mbps) for binding NAT gateway. When this parameter is not filled in, it defaults to the bandwidth value of the elastic public IP, and for some users, it defaults to the bandwidth limit of the elastic public IP of that user type. :param pulumi.Input[str] subnet_id: Subnet of NAT. :param pulumi.Input[Mapping[str, Any]] tags: The available tags within this NAT gateway. :param pulumi.Input[str] vpc_id: ID of the vpc. @@ -425,6 +488,10 @@ def __init__(__self__, """ Provides a resource to create a NAT gateway. + > **NOTE:** If `nat_product_version` is `1`, `max_concurrent` valid values is `1000000`, `3000000`, `10000000`. + + > **NOTE:** If set `stock_public_ip_addresses_bandwidth_out`, do not set the `internet_max_bandwidth_out` parameter of resource `Eip.Instance` at the same time, otherwise conflicts may occur. + ## Example Usage ### Create a traditional NAT gateway. @@ -439,6 +506,7 @@ def __init__(__self__, eip_example2 = tencentcloud.eip.Instance("eipExample2") example = tencentcloud.nat.Gateway("example", vpc_id=vpc.id, + nat_product_version=1, bandwidth=100, max_concurrent=1000000, assigned_eip_sets=[ @@ -446,7 +514,7 @@ def __init__(__self__, eip_example2.public_ip, ], tags={ - "tf_tag_key": "tf_tag_value", + "createBy": "terraform", }) ``` @@ -463,13 +531,37 @@ def __init__(__self__, eip_example2 = tencentcloud.eip.Instance("eipExample2") example = tencentcloud.nat.Gateway("example", vpc_id=vpc.id, + nat_product_version=2, assigned_eip_sets=[ eip_example1.public_ip, eip_example2.public_ip, ], + tags={ + "createBy": "terraform", + }) + ``` + + + ### Or set stock public ip addresses bandwidth out + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + eip_example1 = tencentcloud.eip.Instance("eipExample1") + eip_example2 = tencentcloud.eip.Instance("eipExample2") + example = tencentcloud.nat.Gateway("example", + vpc_id=vpc.id, nat_product_version=2, + stock_public_ip_addresses_bandwidth_out=100, + assigned_eip_sets=[ + eip_example1.public_ip, + eip_example2.public_ip, + ], tags={ - "tf_tag_key": "tf_tag_value", + "createBy": "terraform", }) ``` @@ -479,7 +571,7 @@ def __init__(__self__, NAT gateway can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Nat/gateway:Gateway foo nat-1asg3t63 + $ pulumi import tencentcloud:Nat/gateway:Gateway example nat-1asg3t63 ``` :param str resource_name: The name of the resource. @@ -502,6 +594,7 @@ def _internal_init(__self__, max_concurrent: Optional[pulumi.Input[int]] = None, name: Optional[pulumi.Input[str]] = None, nat_product_version: Optional[pulumi.Input[int]] = None, + stock_public_ip_addresses_bandwidth_out: Optional[pulumi.Input[int]] = None, subnet_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, vpc_id: Optional[pulumi.Input[str]] = None, @@ -522,6 +615,7 @@ def _internal_init(__self__, __props__.__dict__["max_concurrent"] = max_concurrent __props__.__dict__["name"] = name __props__.__dict__["nat_product_version"] = nat_product_version + __props__.__dict__["stock_public_ip_addresses_bandwidth_out"] = stock_public_ip_addresses_bandwidth_out __props__.__dict__["subnet_id"] = subnet_id __props__.__dict__["tags"] = tags if vpc_id is None and not opts.urn: @@ -545,6 +639,7 @@ def get(resource_name: str, max_concurrent: Optional[pulumi.Input[int]] = None, name: Optional[pulumi.Input[str]] = None, nat_product_version: Optional[pulumi.Input[int]] = None, + stock_public_ip_addresses_bandwidth_out: Optional[pulumi.Input[int]] = None, subnet_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, vpc_id: Optional[pulumi.Input[str]] = None, @@ -557,11 +652,12 @@ 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[Sequence[pulumi.Input[str]]] assigned_eip_sets: EIP IP address set bound to the gateway. The value of at least 1 and at most 10. - :param pulumi.Input[int] bandwidth: The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is 100. + :param pulumi.Input[int] bandwidth: The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is `100`. When the value of parameter `nat_product_version` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `5000`. :param pulumi.Input[str] created_time: Create time of the NAT gateway. - :param pulumi.Input[int] max_concurrent: The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. + :param pulumi.Input[int] max_concurrent: The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. When the value of parameter `nat_product_version` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `2000000`. :param pulumi.Input[str] name: Name of the NAT gateway. :param pulumi.Input[int] nat_product_version: 1: traditional NAT, 2: standard NAT, default value is 1. + :param pulumi.Input[int] stock_public_ip_addresses_bandwidth_out: The elastic public IP bandwidth value (unit: Mbps) for binding NAT gateway. When this parameter is not filled in, it defaults to the bandwidth value of the elastic public IP, and for some users, it defaults to the bandwidth limit of the elastic public IP of that user type. :param pulumi.Input[str] subnet_id: Subnet of NAT. :param pulumi.Input[Mapping[str, Any]] tags: The available tags within this NAT gateway. :param pulumi.Input[str] vpc_id: ID of the vpc. @@ -577,6 +673,7 @@ def get(resource_name: str, __props__.__dict__["max_concurrent"] = max_concurrent __props__.__dict__["name"] = name __props__.__dict__["nat_product_version"] = nat_product_version + __props__.__dict__["stock_public_ip_addresses_bandwidth_out"] = stock_public_ip_addresses_bandwidth_out __props__.__dict__["subnet_id"] = subnet_id __props__.__dict__["tags"] = tags __props__.__dict__["vpc_id"] = vpc_id @@ -593,9 +690,9 @@ def assigned_eip_sets(self) -> pulumi.Output[Sequence[str]]: @property @pulumi.getter - def bandwidth(self) -> pulumi.Output[Optional[int]]: + def bandwidth(self) -> pulumi.Output[int]: """ - The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is 100. + The maximum public network output bandwidth of NAT gateway (unit: Mbps). Valid values: `20`, `50`, `100`, `200`, `500`, `1000`, `2000`, `5000`. Default is `100`. When the value of parameter `nat_product_version` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `5000`. """ return pulumi.get(self, "bandwidth") @@ -609,9 +706,9 @@ def created_time(self) -> pulumi.Output[str]: @property @pulumi.getter(name="maxConcurrent") - def max_concurrent(self) -> pulumi.Output[Optional[int]]: + def max_concurrent(self) -> pulumi.Output[int]: """ - The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. + The upper limit of concurrent connection of NAT gateway. Valid values: `1000000`, `3000000`, `10000000`. Default is `1000000`. When the value of parameter `nat_product_version` is 2, which is the standard NAT type, this parameter does not need to be filled in and defaults to `2000000`. """ return pulumi.get(self, "max_concurrent") @@ -631,6 +728,14 @@ def nat_product_version(self) -> pulumi.Output[int]: """ return pulumi.get(self, "nat_product_version") + @property + @pulumi.getter(name="stockPublicIpAddressesBandwidthOut") + def stock_public_ip_addresses_bandwidth_out(self) -> pulumi.Output[int]: + """ + The elastic public IP bandwidth value (unit: Mbps) for binding NAT gateway. When this parameter is not filled in, it defaults to the bandwidth value of the elastic public IP, and for some users, it defaults to the bandwidth limit of the elastic public IP of that user type. + """ + return pulumi.get(self, "stock_public_ip_addresses_bandwidth_out") + @property @pulumi.getter(name="subnetId") def subnet_id(self) -> pulumi.Output[str]: diff --git a/sdk/python/tencentcloud_iac_pulumi/open/__init__.py b/sdk/python/tencentcloud_iac_pulumi/open/__init__.py new file mode 100644 index 000000000..936d38bfd --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/open/__init__.py @@ -0,0 +1,8 @@ +# 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 .identity_center_operation import * diff --git a/sdk/python/tencentcloud_iac_pulumi/open/identity_center_operation.py b/sdk/python/tencentcloud_iac_pulumi/open/identity_center_operation.py new file mode 100644 index 000000000..b51f7df36 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/open/identity_center_operation.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 + +__all__ = ['IdentityCenterOperationArgs', 'IdentityCenterOperation'] + +@pulumi.input_type +class IdentityCenterOperationArgs: + def __init__(__self__, *, + zone_name: pulumi.Input[str]): + """ + The set of arguments for constructing a IdentityCenterOperation resource. + :param pulumi.Input[str] zone_name: Space name, which must be globally unique and contain 2-64 characters including lowercase letters, digits, and hyphens (-). It can neither start or end with a hyphen (-) nor contain two consecutive hyphens (-). + """ + pulumi.set(__self__, "zone_name", zone_name) + + @property + @pulumi.getter(name="zoneName") + def zone_name(self) -> pulumi.Input[str]: + """ + Space name, which must be globally unique and contain 2-64 characters including lowercase letters, digits, and hyphens (-). It can neither start or end with a hyphen (-) nor contain two consecutive hyphens (-). + """ + return pulumi.get(self, "zone_name") + + @zone_name.setter + def zone_name(self, value: pulumi.Input[str]): + pulumi.set(self, "zone_name", value) + + +@pulumi.input_type +class _IdentityCenterOperationState: + def __init__(__self__, *, + zone_id: Optional[pulumi.Input[str]] = None, + zone_name: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering IdentityCenterOperation resources. + :param pulumi.Input[str] zone_id: Space ID. z-Prefix starts with 12 random numbers/lowercase letters followed by. + :param pulumi.Input[str] zone_name: Space name, which must be globally unique and contain 2-64 characters including lowercase letters, digits, and hyphens (-). It can neither start or end with a hyphen (-) nor contain two consecutive hyphens (-). + """ + if zone_id is not None: + pulumi.set(__self__, "zone_id", zone_id) + if zone_name is not None: + pulumi.set(__self__, "zone_name", zone_name) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> Optional[pulumi.Input[str]]: + """ + Space ID. z-Prefix starts with 12 random numbers/lowercase letters followed by. + """ + return pulumi.get(self, "zone_id") + + @zone_id.setter + def zone_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "zone_id", value) + + @property + @pulumi.getter(name="zoneName") + def zone_name(self) -> Optional[pulumi.Input[str]]: + """ + Space name, which must be globally unique and contain 2-64 characters including lowercase letters, digits, and hyphens (-). It can neither start or end with a hyphen (-) nor contain two consecutive hyphens (-). + """ + return pulumi.get(self, "zone_name") + + @zone_name.setter + def zone_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "zone_name", value) + + +class IdentityCenterOperation(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + zone_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to open identity center + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + open_identity_center_operation = tencentcloud.open.IdentityCenterOperation("openIdentityCenterOperation", zone_name="test") + ``` + + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] zone_name: Space name, which must be globally unique and contain 2-64 characters including lowercase letters, digits, and hyphens (-). It can neither start or end with a hyphen (-) nor contain two consecutive hyphens (-). + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: IdentityCenterOperationArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to open identity center + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + open_identity_center_operation = tencentcloud.open.IdentityCenterOperation("openIdentityCenterOperation", zone_name="test") + ``` + + + :param str resource_name: The name of the resource. + :param IdentityCenterOperationArgs 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(IdentityCenterOperationArgs, 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, + zone_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__ = IdentityCenterOperationArgs.__new__(IdentityCenterOperationArgs) + + if zone_name is None and not opts.urn: + raise TypeError("Missing required property 'zone_name'") + __props__.__dict__["zone_name"] = zone_name + __props__.__dict__["zone_id"] = None + super(IdentityCenterOperation, __self__).__init__( + 'tencentcloud:Open/identityCenterOperation:IdentityCenterOperation', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + zone_id: Optional[pulumi.Input[str]] = None, + zone_name: Optional[pulumi.Input[str]] = None) -> 'IdentityCenterOperation': + """ + Get an existing IdentityCenterOperation 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] zone_id: Space ID. z-Prefix starts with 12 random numbers/lowercase letters followed by. + :param pulumi.Input[str] zone_name: Space name, which must be globally unique and contain 2-64 characters including lowercase letters, digits, and hyphens (-). It can neither start or end with a hyphen (-) nor contain two consecutive hyphens (-). + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _IdentityCenterOperationState.__new__(_IdentityCenterOperationState) + + __props__.__dict__["zone_id"] = zone_id + __props__.__dict__["zone_name"] = zone_name + return IdentityCenterOperation(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Output[str]: + """ + Space ID. z-Prefix starts with 12 random numbers/lowercase letters followed by. + """ + return pulumi.get(self, "zone_id") + + @property + @pulumi.getter(name="zoneName") + def zone_name(self) -> pulumi.Output[str]: + """ + Space name, which must be globally unique and contain 2-64 characters including lowercase letters, digits, and hyphens (-). It can neither start or end with a hyphen (-) nor contain two consecutive hyphens (-). + """ + return pulumi.get(self, "zone_name") + diff --git a/sdk/python/tencentcloud_iac_pulumi/organization/__init__.py b/sdk/python/tencentcloud_iac_pulumi/organization/__init__.py index ce0d0217a..59fe1b435 100644 --- a/sdk/python/tencentcloud_iac_pulumi/organization/__init__.py +++ b/sdk/python/tencentcloud_iac_pulumi/organization/__init__.py @@ -6,11 +6,13 @@ import typing # Export this package's modules as members: from .get_members import * +from .get_nodes import * from .get_org_auth_node import * from .get_org_financial_by_member import * 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 +27,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/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/organization/_inputs.py index b7588a5c2..8f78c2efa 100644 --- a/sdk/python/tencentcloud_iac_pulumi/organization/_inputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/organization/_inputs.py @@ -14,6 +14,7 @@ 'OrgIdentityIdentityPolicyArgs', 'OrgMemberOrgPermissionArgs', 'OrgShareUnitMemberMemberArgs', + 'GetNodesTagArgs', ] @pulumi.input_type @@ -187,3 +188,40 @@ def share_member_uin(self, value: pulumi.Input[int]): pulumi.set(self, "share_member_uin", value) +@pulumi.input_type +class GetNodesTagArgs: + 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") + + @tag_key.setter + def tag_key(self, value: str): + pulumi.set(self, "tag_key", value) + + @property + @pulumi.getter(name="tagValue") + def tag_value(self) -> str: + """ + Tag value. + """ + return pulumi.get(self, "tag_value") + + @tag_value.setter + def tag_value(self, value: str): + pulumi.set(self, "tag_value", value) + + diff --git a/sdk/python/tencentcloud_iac_pulumi/organization/get_nodes.py b/sdk/python/tencentcloud_iac_pulumi/organization/get_nodes.py new file mode 100644 index 000000000..ff9e3ebff --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/organization/get_nodes.py @@ -0,0 +1,141 @@ +# 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__ = [ + 'GetNodesResult', + 'AwaitableGetNodesResult', + 'get_nodes', + 'get_nodes_output', +] + +@pulumi.output_type +class GetNodesResult: + """ + A collection of values returned by getNodes. + """ + def __init__(__self__, id=None, items=None, result_output_file=None, tags=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 tags and not isinstance(tags, list): + raise TypeError("Expected argument 'tags' to be a list") + pulumi.set(__self__, "tags", 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 + def items(self) -> Sequence['outputs.GetNodesItemResult']: + """ + List details. + """ + 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 + def tags(self) -> Optional[Sequence['outputs.GetNodesTagResult']]: + return pulumi.get(self, "tags") + + +class AwaitableGetNodesResult(GetNodesResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetNodesResult( + id=self.id, + items=self.items, + result_output_file=self.result_output_file, + tags=self.tags) + + +def get_nodes(result_output_file: Optional[str] = None, + tags: Optional[Sequence[pulumi.InputType['GetNodesTagArgs']]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetNodesResult: + """ + Use this data source to query detailed information of organization nodes + + ## Example Usage + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + organization_nodes = tencentcloud.Organization.get_nodes(tags=[tencentcloud.organization.GetNodesTagArgs( + tag_key="createBy", + tag_value="terraform", + )]) + ``` + + + + :param str result_output_file: Used to save results. + :param Sequence[pulumi.InputType['GetNodesTagArgs']] tags: Department tag search list, with a maximum of 10. + """ + __args__ = dict() + __args__['resultOutputFile'] = result_output_file + __args__['tags'] = tags + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('tencentcloud:Organization/getNodes:getNodes', __args__, opts=opts, typ=GetNodesResult).value + + return AwaitableGetNodesResult( + id=pulumi.get(__ret__, 'id'), + items=pulumi.get(__ret__, 'items'), + result_output_file=pulumi.get(__ret__, 'result_output_file'), + tags=pulumi.get(__ret__, 'tags')) + + +@_utilities.lift_output_func(get_nodes) +def get_nodes_output(result_output_file: Optional[pulumi.Input[Optional[str]]] = None, + tags: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetNodesTagArgs']]]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetNodesResult]: + """ + Use this data source to query detailed information of organization nodes + + ## Example Usage + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + organization_nodes = tencentcloud.Organization.get_nodes(tags=[tencentcloud.organization.GetNodesTagArgs( + tag_key="createBy", + tag_value="terraform", + )]) + ``` + + + + :param str result_output_file: Used to save results. + :param Sequence[pulumi.InputType['GetNodesTagArgs']] tags: Department tag search list, with a maximum of 10. + """ + ... 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..4ddd797fd 100644 --- a/sdk/python/tencentcloud_iac_pulumi/organization/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/organization/outputs.py @@ -18,12 +18,16 @@ 'GetMembersItemResult', 'GetMembersItemOrgIdentityResult', 'GetMembersItemOrgPermissionResult', + 'GetNodesItemResult', + 'GetNodesItemTagResult', + 'GetNodesTagResult', 'GetOrgAuthNodeItemResult', 'GetOrgAuthNodeItemManagerResult', 'GetOrgFinancialByMemberItemResult', 'GetOrgFinancialByMonthItemResult', 'GetOrgFinancialByProductItemResult', 'GetOrgShareAreaItemResult', + 'GetServicesItemResult', ] @pulumi.output_type @@ -453,6 +457,148 @@ def name(self) -> str: return pulumi.get(self, "name") +@pulumi.output_type +class GetNodesItemResult(dict): + def __init__(__self__, *, + create_time: str, + name: str, + node_id: int, + parent_node_id: int, + remark: str, + tags: Sequence['outputs.GetNodesItemTagResult'], + update_time: str): + """ + :param str create_time: Creation time. + :param str name: Name. + :param int node_id: Organization node ID. + :param int parent_node_id: Parent node ID. + :param str remark: Remarks. + :param Sequence['GetNodesItemTagArgs'] tags: Department tag search list, with a maximum of 10. + :param str update_time: Update time. + """ + pulumi.set(__self__, "create_time", create_time) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "node_id", node_id) + pulumi.set(__self__, "parent_node_id", parent_node_id) + pulumi.set(__self__, "remark", remark) + pulumi.set(__self__, "tags", tags) + pulumi.set(__self__, "update_time", update_time) + + @property + @pulumi.getter(name="createTime") + def create_time(self) -> str: + """ + Creation time. + """ + return pulumi.get(self, "create_time") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="nodeId") + def node_id(self) -> int: + """ + Organization node ID. + """ + return pulumi.get(self, "node_id") + + @property + @pulumi.getter(name="parentNodeId") + def parent_node_id(self) -> int: + """ + Parent node ID. + """ + return pulumi.get(self, "parent_node_id") + + @property + @pulumi.getter + def remark(self) -> str: + """ + Remarks. + """ + return pulumi.get(self, "remark") + + @property + @pulumi.getter + def tags(self) -> Sequence['outputs.GetNodesItemTagResult']: + """ + Department tag search list, with a maximum of 10. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="updateTime") + def update_time(self) -> str: + """ + Update time. + """ + return pulumi.get(self, "update_time") + + +@pulumi.output_type +class GetNodesItemTagResult(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 GetNodesTagResult(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 GetOrgAuthNodeItemResult(dict): def __init__(__self__, *, @@ -715,3 +861,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..f2f7aff04 100644 --- a/sdk/python/tencentcloud_iac_pulumi/postgresql/__init__.py +++ b/sdk/python/tencentcloud_iac_pulumi/postgresql/__init__.py @@ -5,15 +5,21 @@ from .. import _utilities import typing # Export this package's modules as members: +from .account import * +from .account_privileges_operation import * +from .apply_parameter_template_operation import * from .backup_download_restriction_config import * from .backup_plan_config import * from .base_backup import * +from .clone_db_instance 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..39687b727 100644 --- a/sdk/python/tencentcloud_iac_pulumi/postgresql/_inputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/postgresql/_inputs.py @@ -10,17 +10,297 @@ from .. import _utilities __all__ = [ + 'AccountPrivilegesOperationModifyPrivilegeSetArgs', + 'AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs', + 'AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs', + 'CloneDbInstanceDbNodeSetArgs', + 'CloneDbInstanceTagListArgs', '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 CloneDbInstanceDbNodeSetArgs: + def __init__(__self__, *, + role: pulumi.Input[str], + zone: pulumi.Input[str], + dedicated_cluster_id: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] role: Node type. Valid values: + `Primary`; + `Standby`. + :param pulumi.Input[str] zone: AZ where the node resides, such as ap-guangzhou-1. + :param pulumi.Input[str] dedicated_cluster_id: Dedicated cluster ID. + """ + pulumi.set(__self__, "role", role) + pulumi.set(__self__, "zone", zone) + if dedicated_cluster_id is not None: + pulumi.set(__self__, "dedicated_cluster_id", dedicated_cluster_id) + + @property + @pulumi.getter + def role(self) -> pulumi.Input[str]: + """ + Node type. Valid values: + `Primary`; + `Standby`. + """ + return pulumi.get(self, "role") + + @role.setter + def role(self, value: pulumi.Input[str]): + pulumi.set(self, "role", value) + + @property + @pulumi.getter + def zone(self) -> pulumi.Input[str]: + """ + AZ where the node resides, such as ap-guangzhou-1. + """ + return pulumi.get(self, "zone") + + @zone.setter + 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) + + +@pulumi.input_type +class CloneDbInstanceTagListArgs: + 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 InstanceBackupPlanArgs: def __init__(__self__, *, @@ -96,12 +376,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 +401,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 +502,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 +713,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/apply_parameter_template_operation.py b/sdk/python/tencentcloud_iac_pulumi/postgresql/apply_parameter_template_operation.py new file mode 100644 index 000000000..c24d2a344 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/postgresql/apply_parameter_template_operation.py @@ -0,0 +1,220 @@ +# 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__ = ['ApplyParameterTemplateOperationArgs', 'ApplyParameterTemplateOperation'] + +@pulumi.input_type +class ApplyParameterTemplateOperationArgs: + def __init__(__self__, *, + db_instance_id: pulumi.Input[str], + template_id: pulumi.Input[str]): + """ + The set of arguments for constructing a ApplyParameterTemplateOperation resource. + :param pulumi.Input[str] db_instance_id: Instance ID. + :param pulumi.Input[str] template_id: Template ID. + """ + pulumi.set(__self__, "db_instance_id", db_instance_id) + pulumi.set(__self__, "template_id", template_id) + + @property + @pulumi.getter(name="dbInstanceId") + def db_instance_id(self) -> pulumi.Input[str]: + """ + Instance ID. + """ + 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="templateId") + def template_id(self) -> pulumi.Input[str]: + """ + Template ID. + """ + return pulumi.get(self, "template_id") + + @template_id.setter + def template_id(self, value: pulumi.Input[str]): + pulumi.set(self, "template_id", value) + + +@pulumi.input_type +class _ApplyParameterTemplateOperationState: + def __init__(__self__, *, + db_instance_id: Optional[pulumi.Input[str]] = None, + template_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering ApplyParameterTemplateOperation resources. + :param pulumi.Input[str] db_instance_id: Instance ID. + :param pulumi.Input[str] template_id: Template ID. + """ + if db_instance_id is not None: + pulumi.set(__self__, "db_instance_id", db_instance_id) + if template_id is not None: + pulumi.set(__self__, "template_id", template_id) + + @property + @pulumi.getter(name="dbInstanceId") + def db_instance_id(self) -> Optional[pulumi.Input[str]]: + """ + Instance ID. + """ + 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="templateId") + def template_id(self) -> Optional[pulumi.Input[str]]: + """ + Template ID. + """ + return pulumi.get(self, "template_id") + + @template_id.setter + def template_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "template_id", value) + + +class ApplyParameterTemplateOperation(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + db_instance_id: Optional[pulumi.Input[str]] = None, + template_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to apply parameter template + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + apply_parameter_template_operation = tencentcloud.postgresql.ApplyParameterTemplateOperation("applyParameterTemplateOperation", + db_instance_id="postgres-xxxxxx", + template_id="xxxxxx") + ``` + + + :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. + :param pulumi.Input[str] template_id: Template ID. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ApplyParameterTemplateOperationArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to apply parameter template + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + apply_parameter_template_operation = tencentcloud.postgresql.ApplyParameterTemplateOperation("applyParameterTemplateOperation", + db_instance_id="postgres-xxxxxx", + template_id="xxxxxx") + ``` + + + :param str resource_name: The name of the resource. + :param ApplyParameterTemplateOperationArgs 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(ApplyParameterTemplateOperationArgs, 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, + template_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__ = ApplyParameterTemplateOperationArgs.__new__(ApplyParameterTemplateOperationArgs) + + 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 template_id is None and not opts.urn: + raise TypeError("Missing required property 'template_id'") + __props__.__dict__["template_id"] = template_id + super(ApplyParameterTemplateOperation, __self__).__init__( + 'tencentcloud:Postgresql/applyParameterTemplateOperation:ApplyParameterTemplateOperation', + 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, + template_id: Optional[pulumi.Input[str]] = None) -> 'ApplyParameterTemplateOperation': + """ + Get an existing ApplyParameterTemplateOperation 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. + :param pulumi.Input[str] template_id: Template ID. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ApplyParameterTemplateOperationState.__new__(_ApplyParameterTemplateOperationState) + + __props__.__dict__["db_instance_id"] = db_instance_id + __props__.__dict__["template_id"] = template_id + return ApplyParameterTemplateOperation(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="dbInstanceId") + def db_instance_id(self) -> pulumi.Output[str]: + """ + Instance ID. + """ + return pulumi.get(self, "db_instance_id") + + @property + @pulumi.getter(name="templateId") + def template_id(self) -> pulumi.Output[str]: + """ + Template ID. + """ + return pulumi.get(self, "template_id") + diff --git a/sdk/python/tencentcloud_iac_pulumi/postgresql/clone_db_instance.py b/sdk/python/tencentcloud_iac_pulumi/postgresql/clone_db_instance.py new file mode 100644 index 000000000..31614aa2e --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/postgresql/clone_db_instance.py @@ -0,0 +1,1220 @@ +# 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__ = ['CloneDbInstanceArgs', 'CloneDbInstance'] + +@pulumi.input_type +class CloneDbInstanceArgs: + def __init__(__self__, *, + auto_renew_flag: pulumi.Input[int], + db_instance_id: pulumi.Input[str], + period: pulumi.Input[int], + spec_code: pulumi.Input[str], + storage: pulumi.Input[int], + subnet_id: pulumi.Input[str], + vpc_id: pulumi.Input[str], + activity_id: Optional[pulumi.Input[int]] = None, + backup_set_id: Optional[pulumi.Input[str]] = None, + db_node_sets: Optional[pulumi.Input[Sequence[pulumi.Input['CloneDbInstanceDbNodeSetArgs']]]] = None, + instance_charge_type: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[int]] = None, + recovery_target_time: Optional[pulumi.Input[str]] = None, + security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + sync_mode: Optional[pulumi.Input[str]] = None, + tag_lists: Optional[pulumi.Input[Sequence[pulumi.Input['CloneDbInstanceTagListArgs']]]] = None): + """ + The set of arguments for constructing a CloneDbInstance resource. + :param pulumi.Input[int] auto_renew_flag: Renewal Flag: + :param pulumi.Input[str] db_instance_id: ID of the original instance to be cloned. + :param pulumi.Input[int] period: Purchase duration, in months. + - Prepaid: Supports `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, and `36`. + - Pay-as-you-go: Only supports `1`. + :param pulumi.Input[str] spec_code: Purchasable code, which can be obtained from the `SpecCode` field in the return value of the [DescribeClasses](https://intl.cloud.tencent.com/document/api/409/89019?from_cn_redirect=1) API. + :param pulumi.Input[int] storage: Instance storage capacity in GB. + :param pulumi.Input[str] subnet_id: VPC subnet ID in the format of `subnet-xxxxxxxx`, which can be obtained in the console or from the `unSubnetId` field in the return value of the [DescribeSubnets](https://intl.cloud.tencent.com/document/api/215/15784?from_cn_redirect=1) API. + :param pulumi.Input[str] vpc_id: VPC ID in the format of `vpc-xxxxxxx`, which can be obtained in the console or from the `unVpcId` field in the return value of the [DescribeVpcEx](https://intl.cloud.tencent.com/document/api/215/1372?from_cn_redirect=1) API. + :param pulumi.Input[int] activity_id: Campaign ID. + :param pulumi.Input[str] backup_set_id: Basic backup set ID. + :param pulumi.Input[Sequence[pulumi.Input['CloneDbInstanceDbNodeSetArgs']]] db_node_sets: Deployment information of the instance node, which will display the information of each AZ when the instance node is deployed across multiple AZs. + The information of AZ can be obtained from the `Zone` field in the return value of the [DescribeZones](https://intl.cloud.tencent.com/document/api/409/16769?from_cn_redirect=1) API. + :param pulumi.Input[str] instance_charge_type: Instance billing type, which currently supports: + + - PREPAID: Prepaid, i.e., monthly subscription + - POSTPAID_BY_HOUR: Pay-as-you-go, i.e., pay by consumption + + Default value: PREPAID. + :param pulumi.Input[str] name: Name of the newly purchased instance, which can contain up to 60 letters, digits, or symbols (-_). If this parameter is not specified, "Unnamed" will be displayed by default. + :param pulumi.Input[int] project_id: Project ID. + :param pulumi.Input[str] recovery_target_time: Restoration point in time. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: Security group of the instance, which can be obtained from the `sgld` field in the return value of the [DescribeSecurityGroups](https://intl.cloud.tencent.com/document/api/215/15808?from_cn_redirect=1) API. If this parameter is not specified, the default security group will be bound. + :param pulumi.Input[str] sync_mode: Primary-standby sync mode, which supports: + Semi-sync: Semi-sync + Async: Asynchronous + Default value for the primary instance: Semi-sync + Default value for the read-only instance: Async. + :param pulumi.Input[Sequence[pulumi.Input['CloneDbInstanceTagListArgs']]] tag_lists: The information of tags to be bound with the instance, which is left empty by default. This parameter can be obtained from the `Tags` field in the return value of the [DescribeTags](https://intl.cloud.tencent.com/document/api/651/35316?from_cn_redirect=1) API. + """ + pulumi.set(__self__, "auto_renew_flag", auto_renew_flag) + pulumi.set(__self__, "db_instance_id", db_instance_id) + pulumi.set(__self__, "period", period) + pulumi.set(__self__, "spec_code", spec_code) + pulumi.set(__self__, "storage", storage) + pulumi.set(__self__, "subnet_id", subnet_id) + pulumi.set(__self__, "vpc_id", vpc_id) + if activity_id is not None: + pulumi.set(__self__, "activity_id", activity_id) + if backup_set_id is not None: + pulumi.set(__self__, "backup_set_id", backup_set_id) + if db_node_sets is not None: + pulumi.set(__self__, "db_node_sets", db_node_sets) + if instance_charge_type is not None: + pulumi.set(__self__, "instance_charge_type", instance_charge_type) + if name is not None: + pulumi.set(__self__, "name", name) + if project_id is not None: + pulumi.set(__self__, "project_id", project_id) + if recovery_target_time is not None: + pulumi.set(__self__, "recovery_target_time", recovery_target_time) + if security_group_ids is not None: + pulumi.set(__self__, "security_group_ids", security_group_ids) + if sync_mode is not None: + pulumi.set(__self__, "sync_mode", sync_mode) + if tag_lists is not None: + pulumi.set(__self__, "tag_lists", tag_lists) + + @property + @pulumi.getter(name="autoRenewFlag") + def auto_renew_flag(self) -> pulumi.Input[int]: + """ + Renewal Flag: + """ + return pulumi.get(self, "auto_renew_flag") + + @auto_renew_flag.setter + def auto_renew_flag(self, value: pulumi.Input[int]): + pulumi.set(self, "auto_renew_flag", value) + + @property + @pulumi.getter(name="dbInstanceId") + def db_instance_id(self) -> pulumi.Input[str]: + """ + ID of the original instance to be cloned. + """ + 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 period(self) -> pulumi.Input[int]: + """ + Purchase duration, in months. + - Prepaid: Supports `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, and `36`. + - Pay-as-you-go: Only supports `1`. + """ + return pulumi.get(self, "period") + + @period.setter + def period(self, value: pulumi.Input[int]): + pulumi.set(self, "period", value) + + @property + @pulumi.getter(name="specCode") + def spec_code(self) -> pulumi.Input[str]: + """ + Purchasable code, which can be obtained from the `SpecCode` field in the return value of the [DescribeClasses](https://intl.cloud.tencent.com/document/api/409/89019?from_cn_redirect=1) API. + """ + return pulumi.get(self, "spec_code") + + @spec_code.setter + def spec_code(self, value: pulumi.Input[str]): + pulumi.set(self, "spec_code", value) + + @property + @pulumi.getter + def storage(self) -> pulumi.Input[int]: + """ + Instance storage capacity in GB. + """ + return pulumi.get(self, "storage") + + @storage.setter + def storage(self, value: pulumi.Input[int]): + pulumi.set(self, "storage", value) + + @property + @pulumi.getter(name="subnetId") + def subnet_id(self) -> pulumi.Input[str]: + """ + VPC subnet ID in the format of `subnet-xxxxxxxx`, which can be obtained in the console or from the `unSubnetId` field in the return value of the [DescribeSubnets](https://intl.cloud.tencent.com/document/api/215/15784?from_cn_redirect=1) API. + """ + 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 in the format of `vpc-xxxxxxx`, which can be obtained in the console or from the `unVpcId` field in the return value of the [DescribeVpcEx](https://intl.cloud.tencent.com/document/api/215/1372?from_cn_redirect=1) API. + """ + 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="activityId") + def activity_id(self) -> Optional[pulumi.Input[int]]: + """ + Campaign ID. + """ + return pulumi.get(self, "activity_id") + + @activity_id.setter + def activity_id(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "activity_id", value) + + @property + @pulumi.getter(name="backupSetId") + def backup_set_id(self) -> Optional[pulumi.Input[str]]: + """ + Basic backup set ID. + """ + return pulumi.get(self, "backup_set_id") + + @backup_set_id.setter + def backup_set_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "backup_set_id", value) + + @property + @pulumi.getter(name="dbNodeSets") + def db_node_sets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CloneDbInstanceDbNodeSetArgs']]]]: + """ + Deployment information of the instance node, which will display the information of each AZ when the instance node is deployed across multiple AZs. + The information of AZ can be obtained from the `Zone` field in the return value of the [DescribeZones](https://intl.cloud.tencent.com/document/api/409/16769?from_cn_redirect=1) API. + """ + return pulumi.get(self, "db_node_sets") + + @db_node_sets.setter + def db_node_sets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CloneDbInstanceDbNodeSetArgs']]]]): + pulumi.set(self, "db_node_sets", value) + + @property + @pulumi.getter(name="instanceChargeType") + def instance_charge_type(self) -> Optional[pulumi.Input[str]]: + """ + Instance billing type, which currently supports: + + - PREPAID: Prepaid, i.e., monthly subscription + - POSTPAID_BY_HOUR: Pay-as-you-go, i.e., pay by consumption + + Default value: PREPAID. + """ + return pulumi.get(self, "instance_charge_type") + + @instance_charge_type.setter + def instance_charge_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "instance_charge_type", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the newly purchased instance, which can contain up to 60 letters, digits, or symbols (-_). If this parameter is not specified, "Unnamed" will be displayed by default. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> Optional[pulumi.Input[int]]: + """ + Project ID. + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "project_id", value) + + @property + @pulumi.getter(name="recoveryTargetTime") + def recovery_target_time(self) -> Optional[pulumi.Input[str]]: + """ + Restoration point in time. + """ + return pulumi.get(self, "recovery_target_time") + + @recovery_target_time.setter + def recovery_target_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "recovery_target_time", value) + + @property + @pulumi.getter(name="securityGroupIds") + def security_group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Security group of the instance, which can be obtained from the `sgld` field in the return value of the [DescribeSecurityGroups](https://intl.cloud.tencent.com/document/api/215/15808?from_cn_redirect=1) API. If this parameter is not specified, the default security group will be bound. + """ + 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="syncMode") + def sync_mode(self) -> Optional[pulumi.Input[str]]: + """ + Primary-standby sync mode, which supports: + Semi-sync: Semi-sync + Async: Asynchronous + Default value for the primary instance: Semi-sync + Default value for the read-only instance: Async. + """ + return pulumi.get(self, "sync_mode") + + @sync_mode.setter + def sync_mode(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "sync_mode", value) + + @property + @pulumi.getter(name="tagLists") + def tag_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CloneDbInstanceTagListArgs']]]]: + """ + The information of tags to be bound with the instance, which is left empty by default. This parameter can be obtained from the `Tags` field in the return value of the [DescribeTags](https://intl.cloud.tencent.com/document/api/651/35316?from_cn_redirect=1) API. + """ + return pulumi.get(self, "tag_lists") + + @tag_lists.setter + def tag_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CloneDbInstanceTagListArgs']]]]): + pulumi.set(self, "tag_lists", value) + + +@pulumi.input_type +class _CloneDbInstanceState: + def __init__(__self__, *, + activity_id: Optional[pulumi.Input[int]] = None, + auto_renew_flag: Optional[pulumi.Input[int]] = None, + backup_set_id: Optional[pulumi.Input[str]] = None, + db_instance_id: Optional[pulumi.Input[str]] = None, + db_node_sets: Optional[pulumi.Input[Sequence[pulumi.Input['CloneDbInstanceDbNodeSetArgs']]]] = None, + instance_charge_type: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + period: Optional[pulumi.Input[int]] = None, + project_id: Optional[pulumi.Input[int]] = None, + recovery_target_time: Optional[pulumi.Input[str]] = None, + security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + spec_code: Optional[pulumi.Input[str]] = None, + storage: Optional[pulumi.Input[int]] = None, + subnet_id: Optional[pulumi.Input[str]] = None, + sync_mode: Optional[pulumi.Input[str]] = None, + tag_lists: Optional[pulumi.Input[Sequence[pulumi.Input['CloneDbInstanceTagListArgs']]]] = None, + vpc_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering CloneDbInstance resources. + :param pulumi.Input[int] activity_id: Campaign ID. + :param pulumi.Input[int] auto_renew_flag: Renewal Flag: + :param pulumi.Input[str] backup_set_id: Basic backup set ID. + :param pulumi.Input[str] db_instance_id: ID of the original instance to be cloned. + :param pulumi.Input[Sequence[pulumi.Input['CloneDbInstanceDbNodeSetArgs']]] db_node_sets: Deployment information of the instance node, which will display the information of each AZ when the instance node is deployed across multiple AZs. + The information of AZ can be obtained from the `Zone` field in the return value of the [DescribeZones](https://intl.cloud.tencent.com/document/api/409/16769?from_cn_redirect=1) API. + :param pulumi.Input[str] instance_charge_type: Instance billing type, which currently supports: + + - PREPAID: Prepaid, i.e., monthly subscription + - POSTPAID_BY_HOUR: Pay-as-you-go, i.e., pay by consumption + + Default value: PREPAID. + :param pulumi.Input[str] name: Name of the newly purchased instance, which can contain up to 60 letters, digits, or symbols (-_). If this parameter is not specified, "Unnamed" will be displayed by default. + :param pulumi.Input[int] period: Purchase duration, in months. + - Prepaid: Supports `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, and `36`. + - Pay-as-you-go: Only supports `1`. + :param pulumi.Input[int] project_id: Project ID. + :param pulumi.Input[str] recovery_target_time: Restoration point in time. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: Security group of the instance, which can be obtained from the `sgld` field in the return value of the [DescribeSecurityGroups](https://intl.cloud.tencent.com/document/api/215/15808?from_cn_redirect=1) API. If this parameter is not specified, the default security group will be bound. + :param pulumi.Input[str] spec_code: Purchasable code, which can be obtained from the `SpecCode` field in the return value of the [DescribeClasses](https://intl.cloud.tencent.com/document/api/409/89019?from_cn_redirect=1) API. + :param pulumi.Input[int] storage: Instance storage capacity in GB. + :param pulumi.Input[str] subnet_id: VPC subnet ID in the format of `subnet-xxxxxxxx`, which can be obtained in the console or from the `unSubnetId` field in the return value of the [DescribeSubnets](https://intl.cloud.tencent.com/document/api/215/15784?from_cn_redirect=1) API. + :param pulumi.Input[str] sync_mode: Primary-standby sync mode, which supports: + Semi-sync: Semi-sync + Async: Asynchronous + Default value for the primary instance: Semi-sync + Default value for the read-only instance: Async. + :param pulumi.Input[Sequence[pulumi.Input['CloneDbInstanceTagListArgs']]] tag_lists: The information of tags to be bound with the instance, which is left empty by default. This parameter can be obtained from the `Tags` field in the return value of the [DescribeTags](https://intl.cloud.tencent.com/document/api/651/35316?from_cn_redirect=1) API. + :param pulumi.Input[str] vpc_id: VPC ID in the format of `vpc-xxxxxxx`, which can be obtained in the console or from the `unVpcId` field in the return value of the [DescribeVpcEx](https://intl.cloud.tencent.com/document/api/215/1372?from_cn_redirect=1) API. + """ + if activity_id is not None: + pulumi.set(__self__, "activity_id", activity_id) + if auto_renew_flag is not None: + pulumi.set(__self__, "auto_renew_flag", auto_renew_flag) + if backup_set_id is not None: + pulumi.set(__self__, "backup_set_id", backup_set_id) + if db_instance_id is not None: + pulumi.set(__self__, "db_instance_id", db_instance_id) + if db_node_sets is not None: + pulumi.set(__self__, "db_node_sets", db_node_sets) + if instance_charge_type is not None: + pulumi.set(__self__, "instance_charge_type", instance_charge_type) + if name is not None: + pulumi.set(__self__, "name", name) + if period is not None: + pulumi.set(__self__, "period", period) + if project_id is not None: + pulumi.set(__self__, "project_id", project_id) + if recovery_target_time is not None: + pulumi.set(__self__, "recovery_target_time", recovery_target_time) + if security_group_ids is not None: + pulumi.set(__self__, "security_group_ids", security_group_ids) + if spec_code is not None: + pulumi.set(__self__, "spec_code", spec_code) + if storage is not None: + pulumi.set(__self__, "storage", storage) + if subnet_id is not None: + pulumi.set(__self__, "subnet_id", subnet_id) + if sync_mode is not None: + pulumi.set(__self__, "sync_mode", sync_mode) + if tag_lists is not None: + pulumi.set(__self__, "tag_lists", tag_lists) + if vpc_id is not None: + pulumi.set(__self__, "vpc_id", vpc_id) + + @property + @pulumi.getter(name="activityId") + def activity_id(self) -> Optional[pulumi.Input[int]]: + """ + Campaign ID. + """ + return pulumi.get(self, "activity_id") + + @activity_id.setter + def activity_id(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "activity_id", value) + + @property + @pulumi.getter(name="autoRenewFlag") + def auto_renew_flag(self) -> Optional[pulumi.Input[int]]: + """ + Renewal Flag: + """ + return pulumi.get(self, "auto_renew_flag") + + @auto_renew_flag.setter + def auto_renew_flag(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "auto_renew_flag", value) + + @property + @pulumi.getter(name="backupSetId") + def backup_set_id(self) -> Optional[pulumi.Input[str]]: + """ + Basic backup set ID. + """ + return pulumi.get(self, "backup_set_id") + + @backup_set_id.setter + def backup_set_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "backup_set_id", value) + + @property + @pulumi.getter(name="dbInstanceId") + def db_instance_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the original instance to be cloned. + """ + 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="dbNodeSets") + def db_node_sets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CloneDbInstanceDbNodeSetArgs']]]]: + """ + Deployment information of the instance node, which will display the information of each AZ when the instance node is deployed across multiple AZs. + The information of AZ can be obtained from the `Zone` field in the return value of the [DescribeZones](https://intl.cloud.tencent.com/document/api/409/16769?from_cn_redirect=1) API. + """ + return pulumi.get(self, "db_node_sets") + + @db_node_sets.setter + def db_node_sets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CloneDbInstanceDbNodeSetArgs']]]]): + pulumi.set(self, "db_node_sets", value) + + @property + @pulumi.getter(name="instanceChargeType") + def instance_charge_type(self) -> Optional[pulumi.Input[str]]: + """ + Instance billing type, which currently supports: + + - PREPAID: Prepaid, i.e., monthly subscription + - POSTPAID_BY_HOUR: Pay-as-you-go, i.e., pay by consumption + + Default value: PREPAID. + """ + return pulumi.get(self, "instance_charge_type") + + @instance_charge_type.setter + def instance_charge_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "instance_charge_type", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the newly purchased instance, which can contain up to 60 letters, digits, or symbols (-_). If this parameter is not specified, "Unnamed" will be displayed by default. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def period(self) -> Optional[pulumi.Input[int]]: + """ + Purchase duration, in months. + - Prepaid: Supports `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, and `36`. + - Pay-as-you-go: Only supports `1`. + """ + return pulumi.get(self, "period") + + @period.setter + def period(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "period", value) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> Optional[pulumi.Input[int]]: + """ + Project ID. + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "project_id", value) + + @property + @pulumi.getter(name="recoveryTargetTime") + def recovery_target_time(self) -> Optional[pulumi.Input[str]]: + """ + Restoration point in time. + """ + return pulumi.get(self, "recovery_target_time") + + @recovery_target_time.setter + def recovery_target_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "recovery_target_time", value) + + @property + @pulumi.getter(name="securityGroupIds") + def security_group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Security group of the instance, which can be obtained from the `sgld` field in the return value of the [DescribeSecurityGroups](https://intl.cloud.tencent.com/document/api/215/15808?from_cn_redirect=1) API. If this parameter is not specified, the default security group will be bound. + """ + 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="specCode") + def spec_code(self) -> Optional[pulumi.Input[str]]: + """ + Purchasable code, which can be obtained from the `SpecCode` field in the return value of the [DescribeClasses](https://intl.cloud.tencent.com/document/api/409/89019?from_cn_redirect=1) API. + """ + return pulumi.get(self, "spec_code") + + @spec_code.setter + def spec_code(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "spec_code", value) + + @property + @pulumi.getter + def storage(self) -> Optional[pulumi.Input[int]]: + """ + Instance storage capacity in GB. + """ + return pulumi.get(self, "storage") + + @storage.setter + def storage(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "storage", value) + + @property + @pulumi.getter(name="subnetId") + def subnet_id(self) -> Optional[pulumi.Input[str]]: + """ + VPC subnet ID in the format of `subnet-xxxxxxxx`, which can be obtained in the console or from the `unSubnetId` field in the return value of the [DescribeSubnets](https://intl.cloud.tencent.com/document/api/215/15784?from_cn_redirect=1) API. + """ + 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="syncMode") + def sync_mode(self) -> Optional[pulumi.Input[str]]: + """ + Primary-standby sync mode, which supports: + Semi-sync: Semi-sync + Async: Asynchronous + Default value for the primary instance: Semi-sync + Default value for the read-only instance: Async. + """ + return pulumi.get(self, "sync_mode") + + @sync_mode.setter + def sync_mode(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "sync_mode", value) + + @property + @pulumi.getter(name="tagLists") + def tag_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CloneDbInstanceTagListArgs']]]]: + """ + The information of tags to be bound with the instance, which is left empty by default. This parameter can be obtained from the `Tags` field in the return value of the [DescribeTags](https://intl.cloud.tencent.com/document/api/651/35316?from_cn_redirect=1) API. + """ + return pulumi.get(self, "tag_lists") + + @tag_lists.setter + def tag_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CloneDbInstanceTagListArgs']]]]): + pulumi.set(self, "tag_lists", value) + + @property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> Optional[pulumi.Input[str]]: + """ + VPC ID in the format of `vpc-xxxxxxx`, which can be obtained in the console or from the `unVpcId` field in the return value of the [DescribeVpcEx](https://intl.cloud.tencent.com/document/api/215/1372?from_cn_redirect=1) API. + """ + return pulumi.get(self, "vpc_id") + + @vpc_id.setter + def vpc_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "vpc_id", value) + + +class CloneDbInstance(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + activity_id: Optional[pulumi.Input[int]] = None, + auto_renew_flag: Optional[pulumi.Input[int]] = None, + backup_set_id: Optional[pulumi.Input[str]] = None, + db_instance_id: Optional[pulumi.Input[str]] = None, + db_node_sets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CloneDbInstanceDbNodeSetArgs']]]]] = None, + instance_charge_type: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + period: Optional[pulumi.Input[int]] = None, + project_id: Optional[pulumi.Input[int]] = None, + recovery_target_time: Optional[pulumi.Input[str]] = None, + security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + spec_code: Optional[pulumi.Input[str]] = None, + storage: Optional[pulumi.Input[int]] = None, + subnet_id: Optional[pulumi.Input[str]] = None, + sync_mode: Optional[pulumi.Input[str]] = None, + tag_lists: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CloneDbInstanceTagListArgs']]]]] = None, + vpc_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to create a postgresql clone db instance + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.postgresql.CloneDbInstance("example", + auto_renew_flag=0, + db_instance_id="postgres-evsqpyap", + db_node_sets=[ + tencentcloud.postgresql.CloneDbInstanceDbNodeSetArgs( + role="Primary", + zone="ap-guangzhou-6", + ), + tencentcloud.postgresql.CloneDbInstanceDbNodeSetArgs( + role="Standby", + zone="ap-guangzhou-6", + ), + ], + instance_charge_type="POSTPAID_BY_HOUR", + period=1, + project_id=0, + recovery_target_time="2024-10-12 18:17:00", + security_group_ids=["sg-8stavs03"], + spec_code="pg.it.medium4", + storage=200, + subnet_id="subnet-b8hintyy", + tag_lists=[tencentcloud.postgresql.CloneDbInstanceTagListArgs( + tag_key="createBy", + tag_value="terraform", + )], + vpc_id="vpc-a6zec4mf") + ``` + + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + import tencentcloud_iac_pulumi as tencentcloud + + base_backups = tencentcloud.Postgresql.get_base_backups(filters=[tencentcloud.postgresql.GetBaseBackupsFilterArgs( + name="db-instance-id", + values=["postgres-evsqpyap"], + )], + order_by="Size", + order_by_type="asc") + example = tencentcloud.postgresql.CloneDbInstance("example", + db_instance_id="postgres-evsqpyap", + spec_code="pg.it.medium4", + storage=200, + period=1, + auto_renew_flag=0, + vpc_id="vpc-a6zec4mf", + subnet_id="subnet-b8hintyy", + instance_charge_type="POSTPAID_BY_HOUR", + security_group_ids=["sg-8stavs03"], + project_id=0, + backup_set_id=base_backups.base_backup_sets[0].id, + db_node_sets=[ + tencentcloud.postgresql.CloneDbInstanceDbNodeSetArgs( + role="Primary", + zone="ap-guangzhou-6", + ), + tencentcloud.postgresql.CloneDbInstanceDbNodeSetArgs( + role="Standby", + zone="ap-guangzhou-6", + ), + ], + tag_lists=[tencentcloud.postgresql.CloneDbInstanceTagListArgs( + tag_key="createBy", + tag_value="terraform", + )]) + ``` + + + ### Clone db instance from CDC + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.postgresql.CloneDbInstance("example", + auto_renew_flag=0, + db_instance_id="postgres-evsqpyap", + db_node_sets=[ + tencentcloud.postgresql.CloneDbInstanceDbNodeSetArgs( + dedicated_cluster_id="cluster-262n63e8", + role="Primary", + zone="ap-guangzhou-6", + ), + tencentcloud.postgresql.CloneDbInstanceDbNodeSetArgs( + dedicated_cluster_id="cluster-262n63e8", + role="Standby", + zone="ap-guangzhou-6", + ), + ], + instance_charge_type="POSTPAID_BY_HOUR", + period=1, + project_id=0, + recovery_target_time="2024-10-12 18:17:00", + security_group_ids=["sg-8stavs03"], + spec_code="pg.it.medium4", + storage=200, + subnet_id="subnet-b8hintyy", + tag_lists=[tencentcloud.postgresql.CloneDbInstanceTagListArgs( + tag_key="createBy", + tag_value="terraform", + )], + vpc_id="vpc-a6zec4mf") + ``` + + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[int] activity_id: Campaign ID. + :param pulumi.Input[int] auto_renew_flag: Renewal Flag: + :param pulumi.Input[str] backup_set_id: Basic backup set ID. + :param pulumi.Input[str] db_instance_id: ID of the original instance to be cloned. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CloneDbInstanceDbNodeSetArgs']]]] db_node_sets: Deployment information of the instance node, which will display the information of each AZ when the instance node is deployed across multiple AZs. + The information of AZ can be obtained from the `Zone` field in the return value of the [DescribeZones](https://intl.cloud.tencent.com/document/api/409/16769?from_cn_redirect=1) API. + :param pulumi.Input[str] instance_charge_type: Instance billing type, which currently supports: + + - PREPAID: Prepaid, i.e., monthly subscription + - POSTPAID_BY_HOUR: Pay-as-you-go, i.e., pay by consumption + + Default value: PREPAID. + :param pulumi.Input[str] name: Name of the newly purchased instance, which can contain up to 60 letters, digits, or symbols (-_). If this parameter is not specified, "Unnamed" will be displayed by default. + :param pulumi.Input[int] period: Purchase duration, in months. + - Prepaid: Supports `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, and `36`. + - Pay-as-you-go: Only supports `1`. + :param pulumi.Input[int] project_id: Project ID. + :param pulumi.Input[str] recovery_target_time: Restoration point in time. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: Security group of the instance, which can be obtained from the `sgld` field in the return value of the [DescribeSecurityGroups](https://intl.cloud.tencent.com/document/api/215/15808?from_cn_redirect=1) API. If this parameter is not specified, the default security group will be bound. + :param pulumi.Input[str] spec_code: Purchasable code, which can be obtained from the `SpecCode` field in the return value of the [DescribeClasses](https://intl.cloud.tencent.com/document/api/409/89019?from_cn_redirect=1) API. + :param pulumi.Input[int] storage: Instance storage capacity in GB. + :param pulumi.Input[str] subnet_id: VPC subnet ID in the format of `subnet-xxxxxxxx`, which can be obtained in the console or from the `unSubnetId` field in the return value of the [DescribeSubnets](https://intl.cloud.tencent.com/document/api/215/15784?from_cn_redirect=1) API. + :param pulumi.Input[str] sync_mode: Primary-standby sync mode, which supports: + Semi-sync: Semi-sync + Async: Asynchronous + Default value for the primary instance: Semi-sync + Default value for the read-only instance: Async. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CloneDbInstanceTagListArgs']]]] tag_lists: The information of tags to be bound with the instance, which is left empty by default. This parameter can be obtained from the `Tags` field in the return value of the [DescribeTags](https://intl.cloud.tencent.com/document/api/651/35316?from_cn_redirect=1) API. + :param pulumi.Input[str] vpc_id: VPC ID in the format of `vpc-xxxxxxx`, which can be obtained in the console or from the `unVpcId` field in the return value of the [DescribeVpcEx](https://intl.cloud.tencent.com/document/api/215/1372?from_cn_redirect=1) API. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: CloneDbInstanceArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a postgresql clone db instance + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.postgresql.CloneDbInstance("example", + auto_renew_flag=0, + db_instance_id="postgres-evsqpyap", + db_node_sets=[ + tencentcloud.postgresql.CloneDbInstanceDbNodeSetArgs( + role="Primary", + zone="ap-guangzhou-6", + ), + tencentcloud.postgresql.CloneDbInstanceDbNodeSetArgs( + role="Standby", + zone="ap-guangzhou-6", + ), + ], + instance_charge_type="POSTPAID_BY_HOUR", + period=1, + project_id=0, + recovery_target_time="2024-10-12 18:17:00", + security_group_ids=["sg-8stavs03"], + spec_code="pg.it.medium4", + storage=200, + subnet_id="subnet-b8hintyy", + tag_lists=[tencentcloud.postgresql.CloneDbInstanceTagListArgs( + tag_key="createBy", + tag_value="terraform", + )], + vpc_id="vpc-a6zec4mf") + ``` + + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + import tencentcloud_iac_pulumi as tencentcloud + + base_backups = tencentcloud.Postgresql.get_base_backups(filters=[tencentcloud.postgresql.GetBaseBackupsFilterArgs( + name="db-instance-id", + values=["postgres-evsqpyap"], + )], + order_by="Size", + order_by_type="asc") + example = tencentcloud.postgresql.CloneDbInstance("example", + db_instance_id="postgres-evsqpyap", + spec_code="pg.it.medium4", + storage=200, + period=1, + auto_renew_flag=0, + vpc_id="vpc-a6zec4mf", + subnet_id="subnet-b8hintyy", + instance_charge_type="POSTPAID_BY_HOUR", + security_group_ids=["sg-8stavs03"], + project_id=0, + backup_set_id=base_backups.base_backup_sets[0].id, + db_node_sets=[ + tencentcloud.postgresql.CloneDbInstanceDbNodeSetArgs( + role="Primary", + zone="ap-guangzhou-6", + ), + tencentcloud.postgresql.CloneDbInstanceDbNodeSetArgs( + role="Standby", + zone="ap-guangzhou-6", + ), + ], + tag_lists=[tencentcloud.postgresql.CloneDbInstanceTagListArgs( + tag_key="createBy", + tag_value="terraform", + )]) + ``` + + + ### Clone db instance from CDC + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.postgresql.CloneDbInstance("example", + auto_renew_flag=0, + db_instance_id="postgres-evsqpyap", + db_node_sets=[ + tencentcloud.postgresql.CloneDbInstanceDbNodeSetArgs( + dedicated_cluster_id="cluster-262n63e8", + role="Primary", + zone="ap-guangzhou-6", + ), + tencentcloud.postgresql.CloneDbInstanceDbNodeSetArgs( + dedicated_cluster_id="cluster-262n63e8", + role="Standby", + zone="ap-guangzhou-6", + ), + ], + instance_charge_type="POSTPAID_BY_HOUR", + period=1, + project_id=0, + recovery_target_time="2024-10-12 18:17:00", + security_group_ids=["sg-8stavs03"], + spec_code="pg.it.medium4", + storage=200, + subnet_id="subnet-b8hintyy", + tag_lists=[tencentcloud.postgresql.CloneDbInstanceTagListArgs( + tag_key="createBy", + tag_value="terraform", + )], + vpc_id="vpc-a6zec4mf") + ``` + + + :param str resource_name: The name of the resource. + :param CloneDbInstanceArgs 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(CloneDbInstanceArgs, 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, + activity_id: Optional[pulumi.Input[int]] = None, + auto_renew_flag: Optional[pulumi.Input[int]] = None, + backup_set_id: Optional[pulumi.Input[str]] = None, + db_instance_id: Optional[pulumi.Input[str]] = None, + db_node_sets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CloneDbInstanceDbNodeSetArgs']]]]] = None, + instance_charge_type: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + period: Optional[pulumi.Input[int]] = None, + project_id: Optional[pulumi.Input[int]] = None, + recovery_target_time: Optional[pulumi.Input[str]] = None, + security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + spec_code: Optional[pulumi.Input[str]] = None, + storage: Optional[pulumi.Input[int]] = None, + subnet_id: Optional[pulumi.Input[str]] = None, + sync_mode: Optional[pulumi.Input[str]] = None, + tag_lists: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CloneDbInstanceTagListArgs']]]]] = None, + vpc_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__ = CloneDbInstanceArgs.__new__(CloneDbInstanceArgs) + + __props__.__dict__["activity_id"] = activity_id + if auto_renew_flag is None and not opts.urn: + raise TypeError("Missing required property 'auto_renew_flag'") + __props__.__dict__["auto_renew_flag"] = auto_renew_flag + __props__.__dict__["backup_set_id"] = backup_set_id + 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__["db_node_sets"] = db_node_sets + __props__.__dict__["instance_charge_type"] = instance_charge_type + __props__.__dict__["name"] = name + if period is None and not opts.urn: + raise TypeError("Missing required property 'period'") + __props__.__dict__["period"] = period + __props__.__dict__["project_id"] = project_id + __props__.__dict__["recovery_target_time"] = recovery_target_time + __props__.__dict__["security_group_ids"] = security_group_ids + if spec_code is None and not opts.urn: + raise TypeError("Missing required property 'spec_code'") + __props__.__dict__["spec_code"] = spec_code + if storage is None and not opts.urn: + raise TypeError("Missing required property 'storage'") + __props__.__dict__["storage"] = storage + if subnet_id is None and not opts.urn: + raise TypeError("Missing required property 'subnet_id'") + __props__.__dict__["subnet_id"] = subnet_id + __props__.__dict__["sync_mode"] = sync_mode + __props__.__dict__["tag_lists"] = tag_lists + if vpc_id is None and not opts.urn: + raise TypeError("Missing required property 'vpc_id'") + __props__.__dict__["vpc_id"] = vpc_id + super(CloneDbInstance, __self__).__init__( + 'tencentcloud:Postgresql/cloneDbInstance:CloneDbInstance', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + activity_id: Optional[pulumi.Input[int]] = None, + auto_renew_flag: Optional[pulumi.Input[int]] = None, + backup_set_id: Optional[pulumi.Input[str]] = None, + db_instance_id: Optional[pulumi.Input[str]] = None, + db_node_sets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CloneDbInstanceDbNodeSetArgs']]]]] = None, + instance_charge_type: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + period: Optional[pulumi.Input[int]] = None, + project_id: Optional[pulumi.Input[int]] = None, + recovery_target_time: Optional[pulumi.Input[str]] = None, + security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + spec_code: Optional[pulumi.Input[str]] = None, + storage: Optional[pulumi.Input[int]] = None, + subnet_id: Optional[pulumi.Input[str]] = None, + sync_mode: Optional[pulumi.Input[str]] = None, + tag_lists: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CloneDbInstanceTagListArgs']]]]] = None, + vpc_id: Optional[pulumi.Input[str]] = None) -> 'CloneDbInstance': + """ + Get an existing CloneDbInstance 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] activity_id: Campaign ID. + :param pulumi.Input[int] auto_renew_flag: Renewal Flag: + :param pulumi.Input[str] backup_set_id: Basic backup set ID. + :param pulumi.Input[str] db_instance_id: ID of the original instance to be cloned. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CloneDbInstanceDbNodeSetArgs']]]] db_node_sets: Deployment information of the instance node, which will display the information of each AZ when the instance node is deployed across multiple AZs. + The information of AZ can be obtained from the `Zone` field in the return value of the [DescribeZones](https://intl.cloud.tencent.com/document/api/409/16769?from_cn_redirect=1) API. + :param pulumi.Input[str] instance_charge_type: Instance billing type, which currently supports: + + - PREPAID: Prepaid, i.e., monthly subscription + - POSTPAID_BY_HOUR: Pay-as-you-go, i.e., pay by consumption + + Default value: PREPAID. + :param pulumi.Input[str] name: Name of the newly purchased instance, which can contain up to 60 letters, digits, or symbols (-_). If this parameter is not specified, "Unnamed" will be displayed by default. + :param pulumi.Input[int] period: Purchase duration, in months. + - Prepaid: Supports `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, and `36`. + - Pay-as-you-go: Only supports `1`. + :param pulumi.Input[int] project_id: Project ID. + :param pulumi.Input[str] recovery_target_time: Restoration point in time. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: Security group of the instance, which can be obtained from the `sgld` field in the return value of the [DescribeSecurityGroups](https://intl.cloud.tencent.com/document/api/215/15808?from_cn_redirect=1) API. If this parameter is not specified, the default security group will be bound. + :param pulumi.Input[str] spec_code: Purchasable code, which can be obtained from the `SpecCode` field in the return value of the [DescribeClasses](https://intl.cloud.tencent.com/document/api/409/89019?from_cn_redirect=1) API. + :param pulumi.Input[int] storage: Instance storage capacity in GB. + :param pulumi.Input[str] subnet_id: VPC subnet ID in the format of `subnet-xxxxxxxx`, which can be obtained in the console or from the `unSubnetId` field in the return value of the [DescribeSubnets](https://intl.cloud.tencent.com/document/api/215/15784?from_cn_redirect=1) API. + :param pulumi.Input[str] sync_mode: Primary-standby sync mode, which supports: + Semi-sync: Semi-sync + Async: Asynchronous + Default value for the primary instance: Semi-sync + Default value for the read-only instance: Async. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CloneDbInstanceTagListArgs']]]] tag_lists: The information of tags to be bound with the instance, which is left empty by default. This parameter can be obtained from the `Tags` field in the return value of the [DescribeTags](https://intl.cloud.tencent.com/document/api/651/35316?from_cn_redirect=1) API. + :param pulumi.Input[str] vpc_id: VPC ID in the format of `vpc-xxxxxxx`, which can be obtained in the console or from the `unVpcId` field in the return value of the [DescribeVpcEx](https://intl.cloud.tencent.com/document/api/215/1372?from_cn_redirect=1) API. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _CloneDbInstanceState.__new__(_CloneDbInstanceState) + + __props__.__dict__["activity_id"] = activity_id + __props__.__dict__["auto_renew_flag"] = auto_renew_flag + __props__.__dict__["backup_set_id"] = backup_set_id + __props__.__dict__["db_instance_id"] = db_instance_id + __props__.__dict__["db_node_sets"] = db_node_sets + __props__.__dict__["instance_charge_type"] = instance_charge_type + __props__.__dict__["name"] = name + __props__.__dict__["period"] = period + __props__.__dict__["project_id"] = project_id + __props__.__dict__["recovery_target_time"] = recovery_target_time + __props__.__dict__["security_group_ids"] = security_group_ids + __props__.__dict__["spec_code"] = spec_code + __props__.__dict__["storage"] = storage + __props__.__dict__["subnet_id"] = subnet_id + __props__.__dict__["sync_mode"] = sync_mode + __props__.__dict__["tag_lists"] = tag_lists + __props__.__dict__["vpc_id"] = vpc_id + return CloneDbInstance(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="activityId") + def activity_id(self) -> pulumi.Output[Optional[int]]: + """ + Campaign ID. + """ + return pulumi.get(self, "activity_id") + + @property + @pulumi.getter(name="autoRenewFlag") + def auto_renew_flag(self) -> pulumi.Output[int]: + """ + Renewal Flag: + """ + return pulumi.get(self, "auto_renew_flag") + + @property + @pulumi.getter(name="backupSetId") + def backup_set_id(self) -> pulumi.Output[Optional[str]]: + """ + Basic backup set ID. + """ + return pulumi.get(self, "backup_set_id") + + @property + @pulumi.getter(name="dbInstanceId") + def db_instance_id(self) -> pulumi.Output[str]: + """ + ID of the original instance to be cloned. + """ + return pulumi.get(self, "db_instance_id") + + @property + @pulumi.getter(name="dbNodeSets") + def db_node_sets(self) -> pulumi.Output[Optional[Sequence['outputs.CloneDbInstanceDbNodeSet']]]: + """ + Deployment information of the instance node, which will display the information of each AZ when the instance node is deployed across multiple AZs. + The information of AZ can be obtained from the `Zone` field in the return value of the [DescribeZones](https://intl.cloud.tencent.com/document/api/409/16769?from_cn_redirect=1) API. + """ + return pulumi.get(self, "db_node_sets") + + @property + @pulumi.getter(name="instanceChargeType") + def instance_charge_type(self) -> pulumi.Output[Optional[str]]: + """ + Instance billing type, which currently supports: + + - PREPAID: Prepaid, i.e., monthly subscription + - POSTPAID_BY_HOUR: Pay-as-you-go, i.e., pay by consumption + + Default value: PREPAID. + """ + return pulumi.get(self, "instance_charge_type") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the newly purchased instance, which can contain up to 60 letters, digits, or symbols (-_). If this parameter is not specified, "Unnamed" will be displayed by default. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def period(self) -> pulumi.Output[int]: + """ + Purchase duration, in months. + - Prepaid: Supports `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, and `36`. + - Pay-as-you-go: Only supports `1`. + """ + return pulumi.get(self, "period") + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[Optional[int]]: + """ + Project ID. + """ + return pulumi.get(self, "project_id") + + @property + @pulumi.getter(name="recoveryTargetTime") + def recovery_target_time(self) -> pulumi.Output[Optional[str]]: + """ + Restoration point in time. + """ + return pulumi.get(self, "recovery_target_time") + + @property + @pulumi.getter(name="securityGroupIds") + def security_group_ids(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + Security group of the instance, which can be obtained from the `sgld` field in the return value of the [DescribeSecurityGroups](https://intl.cloud.tencent.com/document/api/215/15808?from_cn_redirect=1) API. If this parameter is not specified, the default security group will be bound. + """ + return pulumi.get(self, "security_group_ids") + + @property + @pulumi.getter(name="specCode") + def spec_code(self) -> pulumi.Output[str]: + """ + Purchasable code, which can be obtained from the `SpecCode` field in the return value of the [DescribeClasses](https://intl.cloud.tencent.com/document/api/409/89019?from_cn_redirect=1) API. + """ + return pulumi.get(self, "spec_code") + + @property + @pulumi.getter + def storage(self) -> pulumi.Output[int]: + """ + Instance storage capacity in GB. + """ + return pulumi.get(self, "storage") + + @property + @pulumi.getter(name="subnetId") + def subnet_id(self) -> pulumi.Output[str]: + """ + VPC subnet ID in the format of `subnet-xxxxxxxx`, which can be obtained in the console or from the `unSubnetId` field in the return value of the [DescribeSubnets](https://intl.cloud.tencent.com/document/api/215/15784?from_cn_redirect=1) API. + """ + return pulumi.get(self, "subnet_id") + + @property + @pulumi.getter(name="syncMode") + def sync_mode(self) -> pulumi.Output[Optional[str]]: + """ + Primary-standby sync mode, which supports: + Semi-sync: Semi-sync + Async: Asynchronous + Default value for the primary instance: Semi-sync + Default value for the read-only instance: Async. + """ + return pulumi.get(self, "sync_mode") + + @property + @pulumi.getter(name="tagLists") + def tag_lists(self) -> pulumi.Output[Optional[Sequence['outputs.CloneDbInstanceTagList']]]: + """ + The information of tags to be bound with the instance, which is left empty by default. This parameter can be obtained from the `Tags` field in the return value of the [DescribeTags](https://intl.cloud.tencent.com/document/api/651/35316?from_cn_redirect=1) API. + """ + return pulumi.get(self, "tag_lists") + + @property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> pulumi.Output[str]: + """ + VPC ID in the format of `vpc-xxxxxxx`, which can be obtained in the console or from the `unVpcId` field in the return value of the [DescribeVpcEx](https://intl.cloud.tencent.com/document/api/215/1372?from_cn_redirect=1) API. + """ + return pulumi.get(self, "vpc_id") + 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..648b7b09f 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, @@ -1131,10 +1164,13 @@ def __init__(__self__, Use this resource to create postgresql instance. > **Note:** To update the charge type, please update the `charge_type` and specify the `period` for the charging period. It only supports updating from `POSTPAID_BY_HOUR` to `PREPAID`, and the `period` field only valid in that upgrading case. - **Note:** If no values are set for the two parameters: `db_major_version` and `engine_version`, then `engine_version` is set to `10.4` by default. Suggest using parameter `db_major_version` to create an instance + + > **Note:** If no values are set for the two parameters: `db_major_version` and `engine_version`, then `engine_version` is set to `10.4` by default. Suggest using parameter `db_major_version` to create an instance ## Example Usage + ### Create a postgresql instance + ```python import pulumi @@ -1173,7 +1209,48 @@ def __init__(__self__, ``` - ### Create a multi available zone bucket + ### Create a postgresql instance with delete protection + + + ```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, + delete_protection=True, + tags={ + "test": "tf", + }) + ``` + + + ### Create a multi available zone postgresql instance ```python @@ -1224,7 +1301,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 +1393,7 @@ def __init__(__self__, ``` - ### upgrade kernel version + ### Upgrade kernel version ```python @@ -1328,6 +1455,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. @@ -1358,10 +1486,13 @@ def __init__(__self__, Use this resource to create postgresql instance. > **Note:** To update the charge type, please update the `charge_type` and specify the `period` for the charging period. It only supports updating from `POSTPAID_BY_HOUR` to `PREPAID`, and the `period` field only valid in that upgrading case. - **Note:** If no values are set for the two parameters: `db_major_version` and `engine_version`, then `engine_version` is set to `10.4` by default. Suggest using parameter `db_major_version` to create an instance + + > **Note:** If no values are set for the two parameters: `db_major_version` and `engine_version`, then `engine_version` is set to `10.4` by default. Suggest using parameter `db_major_version` to create an instance ## Example Usage + ### Create a postgresql instance + ```python import pulumi @@ -1400,7 +1531,48 @@ def __init__(__self__, ``` - ### Create a multi available zone bucket + ### Create a postgresql instance with delete protection + + + ```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, + delete_protection=True, + tags={ + "test": "tf", + }) + ``` + + + ### Create a multi available zone postgresql instance ```python @@ -1451,7 +1623,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 +1715,7 @@ def __init__(__self__, ``` - ### upgrade kernel version + ### Upgrade kernel version ```python @@ -1568,6 +1790,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 +1832,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 +1892,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 +1936,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 +1978,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 @@ -1804,7 +2031,7 @@ def availability_zone(self) -> pulumi.Output[str]: @property @pulumi.getter(name="backupPlan") - def backup_plan(self) -> pulumi.Output[Optional['outputs.InstanceBackupPlan']]: + def backup_plan(self) -> pulumi.Output['outputs.InstanceBackupPlan']: """ Specify DB backup plan. """ @@ -1877,6 +2104,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..fea2bc1db 100644 --- a/sdk/python/tencentcloud_iac_pulumi/postgresql/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/postgresql/outputs.py @@ -11,15 +11,25 @@ from . import outputs __all__ = [ + 'AccountPrivilegesOperationModifyPrivilegeSet', + 'AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege', + 'AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject', + 'CloneDbInstanceDbNodeSet', + 'CloneDbInstanceTagList', 'InstanceBackupPlan', 'InstanceDbNodeSet', 'ParameterTemplateModifyParamEntrySet', 'ReadonlyGroupNetInfoList', + 'GetAccountPrivilegesDatabaseObjectSetResult', + 'GetAccountPrivilegesPrivilegeSetResult', + 'GetAccountPrivilegesPrivilegeSetObjectResult', 'GetBackupDownloadUrlsBackupDownloadRestrictionResult', 'GetBaseBackupsBaseBackupSetResult', 'GetBaseBackupsFilterResult', 'GetDbInstanceClassesClassInfoSetResult', 'GetDbInstanceVersionsVersionSetResult', + 'GetDedicatedClustersDedicatedClusterSetResult', + 'GetDedicatedClustersFilterResult', 'GetDefaultParametersParamInfoSetResult', 'GetDefaultParametersParamInfoSetSpecRelationSetResult', 'GetDefaultParametersParamInfoSetVersionRelationSetResult', @@ -43,6 +53,318 @@ '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 CloneDbInstanceDbNodeSet(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 CloneDbInstanceDbNodeSet. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CloneDbInstanceDbNodeSet.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CloneDbInstanceDbNodeSet.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + role: str, + zone: str, + dedicated_cluster_id: Optional[str] = None): + """ + :param str role: Node type. Valid values: + `Primary`; + `Standby`. + :param str zone: AZ where the node resides, such as ap-guangzhou-1. + :param str dedicated_cluster_id: Dedicated cluster ID. + """ + pulumi.set(__self__, "role", role) + pulumi.set(__self__, "zone", zone) + if dedicated_cluster_id is not None: + pulumi.set(__self__, "dedicated_cluster_id", dedicated_cluster_id) + + @property + @pulumi.getter + def role(self) -> str: + """ + Node type. Valid values: + `Primary`; + `Standby`. + """ + return pulumi.get(self, "role") + + @property + @pulumi.getter + def zone(self) -> str: + """ + AZ where the node resides, such as ap-guangzhou-1. + """ + 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") + + +@pulumi.output_type +class CloneDbInstanceTagList(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 CloneDbInstanceTagList. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CloneDbInstanceTagList.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CloneDbInstanceTagList.__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 InstanceBackupPlan(dict): @staticmethod @@ -123,14 +445,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 +485,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 +579,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 +1107,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/__init__.py b/sdk/python/tencentcloud_iac_pulumi/privatedns/__init__.py index b34d90260..3abeab1d9 100644 --- a/sdk/python/tencentcloud_iac_pulumi/privatedns/__init__.py +++ b/sdk/python/tencentcloud_iac_pulumi/privatedns/__init__.py @@ -5,6 +5,10 @@ from .. import _utilities import typing # Export this package's modules as members: +from .end_point import * +from .forward_rule import * +from .get_end_points import * +from .get_forward_rules import * from .get_private_zone_list import * from .get_records import * from .record import * diff --git a/sdk/python/tencentcloud_iac_pulumi/privatedns/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/privatedns/_inputs.py index bd28a8e14..fa1e33110 100644 --- a/sdk/python/tencentcloud_iac_pulumi/privatedns/_inputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/privatedns/_inputs.py @@ -15,6 +15,8 @@ 'ZoneVpcAttachmentAccountVpcSetArgs', 'ZoneVpcAttachmentVpcSetArgs', 'ZoneVpcSetArgs', + 'GetEndPointsFilterArgs', + 'GetForwardRulesFilterArgs', 'GetPrivateZoneListFilterArgs', 'GetRecordsFilterArgs', ] @@ -249,6 +251,80 @@ def uniq_vpc_id(self, value: pulumi.Input[str]): pulumi.set(self, "uniq_vpc_id", value) +@pulumi.input_type +class GetEndPointsFilterArgs: + def __init__(__self__, *, + name: str, + values: Sequence[str]): + """ + :param str name: Parameter name. + :param Sequence[str] values: Array of parameter values. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def name(self) -> str: + """ + Parameter 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]: + """ + Array of parameter values. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Sequence[str]): + pulumi.set(self, "values", value) + + +@pulumi.input_type +class GetForwardRulesFilterArgs: + def __init__(__self__, *, + name: str, + values: Sequence[str]): + """ + :param str name: Parameter name. + :param Sequence[str] values: Array of parameter values. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def name(self) -> str: + """ + Parameter 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]: + """ + Array of parameter values. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Sequence[str]): + pulumi.set(self, "values", value) + + @pulumi.input_type class GetPrivateZoneListFilterArgs: def __init__(__self__, *, diff --git a/sdk/python/tencentcloud_iac_pulumi/privatedns/end_point.py b/sdk/python/tencentcloud_iac_pulumi/privatedns/end_point.py new file mode 100644 index 000000000..64f261d51 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/privatedns/end_point.py @@ -0,0 +1,363 @@ +# 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__ = ['EndPointArgs', 'EndPoint'] + +@pulumi.input_type +class EndPointArgs: + def __init__(__self__, *, + end_point_name: pulumi.Input[str], + end_point_region: pulumi.Input[str], + end_point_service_id: pulumi.Input[str], + ip_num: Optional[pulumi.Input[int]] = None): + """ + The set of arguments for constructing a EndPoint resource. + :param pulumi.Input[str] end_point_name: Endpoint name. + :param pulumi.Input[str] end_point_region: Endpoint region, which should be consistent with the region of the endpoint service. + :param pulumi.Input[str] end_point_service_id: Endpoint service ID (namely, VPC endpoint service ID). + :param pulumi.Input[int] ip_num: Number of endpoint IP addresses. + """ + pulumi.set(__self__, "end_point_name", end_point_name) + pulumi.set(__self__, "end_point_region", end_point_region) + pulumi.set(__self__, "end_point_service_id", end_point_service_id) + if ip_num is not None: + pulumi.set(__self__, "ip_num", ip_num) + + @property + @pulumi.getter(name="endPointName") + def end_point_name(self) -> pulumi.Input[str]: + """ + Endpoint name. + """ + return pulumi.get(self, "end_point_name") + + @end_point_name.setter + def end_point_name(self, value: pulumi.Input[str]): + pulumi.set(self, "end_point_name", value) + + @property + @pulumi.getter(name="endPointRegion") + def end_point_region(self) -> pulumi.Input[str]: + """ + Endpoint region, which should be consistent with the region of the endpoint service. + """ + return pulumi.get(self, "end_point_region") + + @end_point_region.setter + def end_point_region(self, value: pulumi.Input[str]): + pulumi.set(self, "end_point_region", value) + + @property + @pulumi.getter(name="endPointServiceId") + def end_point_service_id(self) -> pulumi.Input[str]: + """ + Endpoint service ID (namely, VPC endpoint service ID). + """ + return pulumi.get(self, "end_point_service_id") + + @end_point_service_id.setter + def end_point_service_id(self, value: pulumi.Input[str]): + pulumi.set(self, "end_point_service_id", value) + + @property + @pulumi.getter(name="ipNum") + def ip_num(self) -> Optional[pulumi.Input[int]]: + """ + Number of endpoint IP addresses. + """ + return pulumi.get(self, "ip_num") + + @ip_num.setter + def ip_num(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ip_num", value) + + +@pulumi.input_type +class _EndPointState: + def __init__(__self__, *, + end_point_name: Optional[pulumi.Input[str]] = None, + end_point_region: Optional[pulumi.Input[str]] = None, + end_point_service_id: Optional[pulumi.Input[str]] = None, + end_point_vip_sets: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + ip_num: Optional[pulumi.Input[int]] = None): + """ + Input properties used for looking up and filtering EndPoint resources. + :param pulumi.Input[str] end_point_name: Endpoint name. + :param pulumi.Input[str] end_point_region: Endpoint region, which should be consistent with the region of the endpoint service. + :param pulumi.Input[str] end_point_service_id: Endpoint service ID (namely, VPC endpoint service ID). + :param pulumi.Input[Sequence[pulumi.Input[str]]] end_point_vip_sets: Vip list of endpoint. + :param pulumi.Input[int] ip_num: Number of endpoint IP addresses. + """ + if end_point_name is not None: + pulumi.set(__self__, "end_point_name", end_point_name) + if end_point_region is not None: + pulumi.set(__self__, "end_point_region", end_point_region) + if end_point_service_id is not None: + pulumi.set(__self__, "end_point_service_id", end_point_service_id) + if end_point_vip_sets is not None: + pulumi.set(__self__, "end_point_vip_sets", end_point_vip_sets) + if ip_num is not None: + pulumi.set(__self__, "ip_num", ip_num) + + @property + @pulumi.getter(name="endPointName") + def end_point_name(self) -> Optional[pulumi.Input[str]]: + """ + Endpoint name. + """ + return pulumi.get(self, "end_point_name") + + @end_point_name.setter + def end_point_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "end_point_name", value) + + @property + @pulumi.getter(name="endPointRegion") + def end_point_region(self) -> Optional[pulumi.Input[str]]: + """ + Endpoint region, which should be consistent with the region of the endpoint service. + """ + return pulumi.get(self, "end_point_region") + + @end_point_region.setter + def end_point_region(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "end_point_region", value) + + @property + @pulumi.getter(name="endPointServiceId") + def end_point_service_id(self) -> Optional[pulumi.Input[str]]: + """ + Endpoint service ID (namely, VPC endpoint service ID). + """ + return pulumi.get(self, "end_point_service_id") + + @end_point_service_id.setter + def end_point_service_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "end_point_service_id", value) + + @property + @pulumi.getter(name="endPointVipSets") + def end_point_vip_sets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Vip list of endpoint. + """ + return pulumi.get(self, "end_point_vip_sets") + + @end_point_vip_sets.setter + def end_point_vip_sets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "end_point_vip_sets", value) + + @property + @pulumi.getter(name="ipNum") + def ip_num(self) -> Optional[pulumi.Input[int]]: + """ + Number of endpoint IP addresses. + """ + return pulumi.get(self, "ip_num") + + @ip_num.setter + def ip_num(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ip_num", value) + + +class EndPoint(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + end_point_name: Optional[pulumi.Input[str]] = None, + end_point_region: Optional[pulumi.Input[str]] = None, + end_point_service_id: Optional[pulumi.Input[str]] = None, + ip_num: Optional[pulumi.Input[int]] = None, + __props__=None): + """ + Provides a resource to create a privatedns end point + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.private_dns.EndPoint("example", + end_point_name="tf-example", + end_point_region="ap-guangzhou", + end_point_service_id="vpcsvc-61wcwmar", + ip_num=1) + ``` + + + ## Import + + private dns end point can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:PrivateDns/endPoint:EndPoint example eid-77a246c867 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] end_point_name: Endpoint name. + :param pulumi.Input[str] end_point_region: Endpoint region, which should be consistent with the region of the endpoint service. + :param pulumi.Input[str] end_point_service_id: Endpoint service ID (namely, VPC endpoint service ID). + :param pulumi.Input[int] ip_num: Number of endpoint IP addresses. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: EndPointArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a privatedns end point + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.private_dns.EndPoint("example", + end_point_name="tf-example", + end_point_region="ap-guangzhou", + end_point_service_id="vpcsvc-61wcwmar", + ip_num=1) + ``` + + + ## Import + + private dns end point can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:PrivateDns/endPoint:EndPoint example eid-77a246c867 + ``` + + :param str resource_name: The name of the resource. + :param EndPointArgs 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(EndPointArgs, 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, + end_point_name: Optional[pulumi.Input[str]] = None, + end_point_region: Optional[pulumi.Input[str]] = None, + end_point_service_id: Optional[pulumi.Input[str]] = None, + ip_num: 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__ = EndPointArgs.__new__(EndPointArgs) + + if end_point_name is None and not opts.urn: + raise TypeError("Missing required property 'end_point_name'") + __props__.__dict__["end_point_name"] = end_point_name + if end_point_region is None and not opts.urn: + raise TypeError("Missing required property 'end_point_region'") + __props__.__dict__["end_point_region"] = end_point_region + if end_point_service_id is None and not opts.urn: + raise TypeError("Missing required property 'end_point_service_id'") + __props__.__dict__["end_point_service_id"] = end_point_service_id + __props__.__dict__["ip_num"] = ip_num + __props__.__dict__["end_point_vip_sets"] = None + super(EndPoint, __self__).__init__( + 'tencentcloud:PrivateDns/endPoint:EndPoint', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + end_point_name: Optional[pulumi.Input[str]] = None, + end_point_region: Optional[pulumi.Input[str]] = None, + end_point_service_id: Optional[pulumi.Input[str]] = None, + end_point_vip_sets: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + ip_num: Optional[pulumi.Input[int]] = None) -> 'EndPoint': + """ + Get an existing EndPoint 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] end_point_name: Endpoint name. + :param pulumi.Input[str] end_point_region: Endpoint region, which should be consistent with the region of the endpoint service. + :param pulumi.Input[str] end_point_service_id: Endpoint service ID (namely, VPC endpoint service ID). + :param pulumi.Input[Sequence[pulumi.Input[str]]] end_point_vip_sets: Vip list of endpoint. + :param pulumi.Input[int] ip_num: Number of endpoint IP addresses. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _EndPointState.__new__(_EndPointState) + + __props__.__dict__["end_point_name"] = end_point_name + __props__.__dict__["end_point_region"] = end_point_region + __props__.__dict__["end_point_service_id"] = end_point_service_id + __props__.__dict__["end_point_vip_sets"] = end_point_vip_sets + __props__.__dict__["ip_num"] = ip_num + return EndPoint(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="endPointName") + def end_point_name(self) -> pulumi.Output[str]: + """ + Endpoint name. + """ + return pulumi.get(self, "end_point_name") + + @property + @pulumi.getter(name="endPointRegion") + def end_point_region(self) -> pulumi.Output[str]: + """ + Endpoint region, which should be consistent with the region of the endpoint service. + """ + return pulumi.get(self, "end_point_region") + + @property + @pulumi.getter(name="endPointServiceId") + def end_point_service_id(self) -> pulumi.Output[str]: + """ + Endpoint service ID (namely, VPC endpoint service ID). + """ + return pulumi.get(self, "end_point_service_id") + + @property + @pulumi.getter(name="endPointVipSets") + def end_point_vip_sets(self) -> pulumi.Output[Sequence[str]]: + """ + Vip list of endpoint. + """ + return pulumi.get(self, "end_point_vip_sets") + + @property + @pulumi.getter(name="ipNum") + def ip_num(self) -> pulumi.Output[int]: + """ + Number of endpoint IP addresses. + """ + return pulumi.get(self, "ip_num") + diff --git a/sdk/python/tencentcloud_iac_pulumi/privatedns/forward_rule.py b/sdk/python/tencentcloud_iac_pulumi/privatedns/forward_rule.py new file mode 100644 index 000000000..008b00ea1 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/privatedns/forward_rule.py @@ -0,0 +1,346 @@ +# 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__ = ['ForwardRuleArgs', 'ForwardRule'] + +@pulumi.input_type +class ForwardRuleArgs: + def __init__(__self__, *, + end_point_id: pulumi.Input[str], + rule_name: pulumi.Input[str], + rule_type: pulumi.Input[str], + zone_id: pulumi.Input[str]): + """ + The set of arguments for constructing a ForwardRule resource. + :param pulumi.Input[str] end_point_id: Endpoint ID. + :param pulumi.Input[str] rule_name: Forwarding rule name. + :param pulumi.Input[str] rule_type: Forwarding rule type. DOWN: From cloud to off-cloud; UP: From off-cloud to cloud. + :param pulumi.Input[str] zone_id: Private domain ID, which can be viewed on the private domain list page. + """ + pulumi.set(__self__, "end_point_id", end_point_id) + pulumi.set(__self__, "rule_name", rule_name) + pulumi.set(__self__, "rule_type", rule_type) + pulumi.set(__self__, "zone_id", zone_id) + + @property + @pulumi.getter(name="endPointId") + def end_point_id(self) -> pulumi.Input[str]: + """ + Endpoint ID. + """ + return pulumi.get(self, "end_point_id") + + @end_point_id.setter + def end_point_id(self, value: pulumi.Input[str]): + pulumi.set(self, "end_point_id", value) + + @property + @pulumi.getter(name="ruleName") + def rule_name(self) -> pulumi.Input[str]: + """ + Forwarding rule name. + """ + return pulumi.get(self, "rule_name") + + @rule_name.setter + def rule_name(self, value: pulumi.Input[str]): + pulumi.set(self, "rule_name", value) + + @property + @pulumi.getter(name="ruleType") + def rule_type(self) -> pulumi.Input[str]: + """ + Forwarding rule type. DOWN: From cloud to off-cloud; UP: From off-cloud to cloud. + """ + return pulumi.get(self, "rule_type") + + @rule_type.setter + def rule_type(self, value: pulumi.Input[str]): + pulumi.set(self, "rule_type", value) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Input[str]: + """ + Private domain ID, which can be viewed on the private domain list page. + """ + 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 _ForwardRuleState: + def __init__(__self__, *, + end_point_id: Optional[pulumi.Input[str]] = None, + rule_name: Optional[pulumi.Input[str]] = None, + rule_type: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering ForwardRule resources. + :param pulumi.Input[str] end_point_id: Endpoint ID. + :param pulumi.Input[str] rule_name: Forwarding rule name. + :param pulumi.Input[str] rule_type: Forwarding rule type. DOWN: From cloud to off-cloud; UP: From off-cloud to cloud. + :param pulumi.Input[str] zone_id: Private domain ID, which can be viewed on the private domain list page. + """ + if end_point_id is not None: + pulumi.set(__self__, "end_point_id", end_point_id) + if rule_name is not None: + pulumi.set(__self__, "rule_name", rule_name) + if rule_type is not None: + pulumi.set(__self__, "rule_type", rule_type) + if zone_id is not None: + pulumi.set(__self__, "zone_id", zone_id) + + @property + @pulumi.getter(name="endPointId") + def end_point_id(self) -> Optional[pulumi.Input[str]]: + """ + Endpoint ID. + """ + return pulumi.get(self, "end_point_id") + + @end_point_id.setter + def end_point_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "end_point_id", value) + + @property + @pulumi.getter(name="ruleName") + def rule_name(self) -> Optional[pulumi.Input[str]]: + """ + Forwarding rule name. + """ + return pulumi.get(self, "rule_name") + + @rule_name.setter + def rule_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "rule_name", value) + + @property + @pulumi.getter(name="ruleType") + def rule_type(self) -> Optional[pulumi.Input[str]]: + """ + Forwarding rule type. DOWN: From cloud to off-cloud; UP: From off-cloud to cloud. + """ + return pulumi.get(self, "rule_type") + + @rule_type.setter + def rule_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "rule_type", value) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> Optional[pulumi.Input[str]]: + """ + Private domain ID, which can be viewed on the private domain list page. + """ + 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 ForwardRule(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + end_point_id: Optional[pulumi.Input[str]] = None, + rule_name: Optional[pulumi.Input[str]] = None, + rule_type: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to create a privatedns forward rule + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example_end_point = tencentcloud.private_dns.EndPoint("exampleEndPoint", + end_point_name="tf-example", + end_point_service_id="vpcsvc-61wcwmar", + end_point_region="ap-guangzhou", + ip_num=1) + example_forward_rule = tencentcloud.private_dns.ForwardRule("exampleForwardRule", + rule_name="tf-example", + rule_type="DOWN", + zone_id="zone-cmmbvaq8", + end_point_id=example_end_point.id) + ``` + + + ## Import + + private dns forward rule can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:PrivateDns/forwardRule:ForwardRule example fid-dbc2c0a97c + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] end_point_id: Endpoint ID. + :param pulumi.Input[str] rule_name: Forwarding rule name. + :param pulumi.Input[str] rule_type: Forwarding rule type. DOWN: From cloud to off-cloud; UP: From off-cloud to cloud. + :param pulumi.Input[str] zone_id: Private domain ID, which can be viewed on the private domain list page. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ForwardRuleArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a privatedns forward rule + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example_end_point = tencentcloud.private_dns.EndPoint("exampleEndPoint", + end_point_name="tf-example", + end_point_service_id="vpcsvc-61wcwmar", + end_point_region="ap-guangzhou", + ip_num=1) + example_forward_rule = tencentcloud.private_dns.ForwardRule("exampleForwardRule", + rule_name="tf-example", + rule_type="DOWN", + zone_id="zone-cmmbvaq8", + end_point_id=example_end_point.id) + ``` + + + ## Import + + private dns forward rule can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:PrivateDns/forwardRule:ForwardRule example fid-dbc2c0a97c + ``` + + :param str resource_name: The name of the resource. + :param ForwardRuleArgs 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(ForwardRuleArgs, 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, + end_point_id: Optional[pulumi.Input[str]] = None, + rule_name: Optional[pulumi.Input[str]] = None, + rule_type: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = ForwardRuleArgs.__new__(ForwardRuleArgs) + + if end_point_id is None and not opts.urn: + raise TypeError("Missing required property 'end_point_id'") + __props__.__dict__["end_point_id"] = end_point_id + if rule_name is None and not opts.urn: + raise TypeError("Missing required property 'rule_name'") + __props__.__dict__["rule_name"] = rule_name + if rule_type is None and not opts.urn: + raise TypeError("Missing required property 'rule_type'") + __props__.__dict__["rule_type"] = rule_type + if zone_id is None and not opts.urn: + raise TypeError("Missing required property 'zone_id'") + __props__.__dict__["zone_id"] = zone_id + super(ForwardRule, __self__).__init__( + 'tencentcloud:PrivateDns/forwardRule:ForwardRule', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + end_point_id: Optional[pulumi.Input[str]] = None, + rule_name: Optional[pulumi.Input[str]] = None, + rule_type: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None) -> 'ForwardRule': + """ + Get an existing ForwardRule 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] end_point_id: Endpoint ID. + :param pulumi.Input[str] rule_name: Forwarding rule name. + :param pulumi.Input[str] rule_type: Forwarding rule type. DOWN: From cloud to off-cloud; UP: From off-cloud to cloud. + :param pulumi.Input[str] zone_id: Private domain ID, which can be viewed on the private domain list page. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ForwardRuleState.__new__(_ForwardRuleState) + + __props__.__dict__["end_point_id"] = end_point_id + __props__.__dict__["rule_name"] = rule_name + __props__.__dict__["rule_type"] = rule_type + __props__.__dict__["zone_id"] = zone_id + return ForwardRule(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="endPointId") + def end_point_id(self) -> pulumi.Output[str]: + """ + Endpoint ID. + """ + return pulumi.get(self, "end_point_id") + + @property + @pulumi.getter(name="ruleName") + def rule_name(self) -> pulumi.Output[str]: + """ + Forwarding rule name. + """ + return pulumi.get(self, "rule_name") + + @property + @pulumi.getter(name="ruleType") + def rule_type(self) -> pulumi.Output[str]: + """ + Forwarding rule type. DOWN: From cloud to off-cloud; UP: From off-cloud to cloud. + """ + return pulumi.get(self, "rule_type") + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Output[str]: + """ + Private domain ID, which can be viewed on the private domain list page. + """ + return pulumi.get(self, "zone_id") + diff --git a/sdk/python/tencentcloud_iac_pulumi/privatedns/get_end_points.py b/sdk/python/tencentcloud_iac_pulumi/privatedns/get_end_points.py new file mode 100644 index 000000000..431b683c6 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/privatedns/get_end_points.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__ = [ + 'GetEndPointsResult', + 'AwaitableGetEndPointsResult', + 'get_end_points', + 'get_end_points_output', +] + +@pulumi.output_type +class GetEndPointsResult: + """ + A collection of values returned by getEndPoints. + """ + def __init__(__self__, end_point_sets=None, filters=None, id=None, result_output_file=None): + if end_point_sets and not isinstance(end_point_sets, list): + raise TypeError("Expected argument 'end_point_sets' to be a list") + pulumi.set(__self__, "end_point_sets", end_point_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="endPointSets") + def end_point_sets(self) -> Sequence['outputs.GetEndPointsEndPointSetResult']: + """ + Endpoint list. + Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "end_point_sets") + + @property + @pulumi.getter + def filters(self) -> Optional[Sequence['outputs.GetEndPointsFilterResult']]: + 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 AwaitableGetEndPointsResult(GetEndPointsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetEndPointsResult( + end_point_sets=self.end_point_sets, + filters=self.filters, + id=self.id, + result_output_file=self.result_output_file) + + +def get_end_points(filters: Optional[Sequence[pulumi.InputType['GetEndPointsFilterArgs']]] = None, + result_output_file: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetEndPointsResult: + """ + Use this data source to query detailed information of private dns dns end points + + ## Example Usage + + ### Query all private dns end points + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + example = tencentcloud.PrivateDns.get_end_points() + ``` + + + ### Query all private dns end points by filters + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + example = tencentcloud.PrivateDns.get_end_points(filters=[ + tencentcloud.private_dns.GetEndPointsFilterArgs( + name="EndPointName", + values=["tf-example"], + ), + tencentcloud.private_dns.GetEndPointsFilterArgs( + name="EndPointId", + values=["eid-72dc11b8f3"], + ), + tencentcloud.private_dns.GetEndPointsFilterArgs( + name="EndPointServiceId", + values=["vpcsvc-61wcwmar"], + ), + tencentcloud.private_dns.GetEndPointsFilterArgs( + name="EndPointVip", + values=["172.10.10.1"], + ), + ]) + ``` + + + + :param Sequence[pulumi.InputType['GetEndPointsFilterArgs']] filters: Filter parameters. Valid values: EndPointName, EndPointId, EndPointServiceId, and EndPointVip. + :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:PrivateDns/getEndPoints:getEndPoints', __args__, opts=opts, typ=GetEndPointsResult).value + + return AwaitableGetEndPointsResult( + end_point_sets=pulumi.get(__ret__, 'end_point_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_end_points) +def get_end_points_output(filters: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetEndPointsFilterArgs']]]]] = None, + result_output_file: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetEndPointsResult]: + """ + Use this data source to query detailed information of private dns dns end points + + ## Example Usage + + ### Query all private dns end points + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + example = tencentcloud.PrivateDns.get_end_points() + ``` + + + ### Query all private dns end points by filters + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + example = tencentcloud.PrivateDns.get_end_points(filters=[ + tencentcloud.private_dns.GetEndPointsFilterArgs( + name="EndPointName", + values=["tf-example"], + ), + tencentcloud.private_dns.GetEndPointsFilterArgs( + name="EndPointId", + values=["eid-72dc11b8f3"], + ), + tencentcloud.private_dns.GetEndPointsFilterArgs( + name="EndPointServiceId", + values=["vpcsvc-61wcwmar"], + ), + tencentcloud.private_dns.GetEndPointsFilterArgs( + name="EndPointVip", + values=["172.10.10.1"], + ), + ]) + ``` + + + + :param Sequence[pulumi.InputType['GetEndPointsFilterArgs']] filters: Filter parameters. Valid values: EndPointName, EndPointId, EndPointServiceId, and EndPointVip. + :param str result_output_file: Used to save results. + """ + ... diff --git a/sdk/python/tencentcloud_iac_pulumi/privatedns/get_forward_rules.py b/sdk/python/tencentcloud_iac_pulumi/privatedns/get_forward_rules.py new file mode 100644 index 000000000..914be20ea --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/privatedns/get_forward_rules.py @@ -0,0 +1,219 @@ +# 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__ = [ + 'GetForwardRulesResult', + 'AwaitableGetForwardRulesResult', + 'get_forward_rules', + 'get_forward_rules_output', +] + +@pulumi.output_type +class GetForwardRulesResult: + """ + A collection of values returned by getForwardRules. + """ + def __init__(__self__, filters=None, forward_rule_sets=None, id=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 forward_rule_sets and not isinstance(forward_rule_sets, list): + raise TypeError("Expected argument 'forward_rule_sets' to be a list") + pulumi.set(__self__, "forward_rule_sets", forward_rule_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 + def filters(self) -> Optional[Sequence['outputs.GetForwardRulesFilterResult']]: + return pulumi.get(self, "filters") + + @property + @pulumi.getter(name="forwardRuleSets") + def forward_rule_sets(self) -> Sequence['outputs.GetForwardRulesForwardRuleSetResult']: + """ + Private domain list. + """ + return pulumi.get(self, "forward_rule_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 AwaitableGetForwardRulesResult(GetForwardRulesResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetForwardRulesResult( + filters=self.filters, + forward_rule_sets=self.forward_rule_sets, + id=self.id, + result_output_file=self.result_output_file) + + +def get_forward_rules(filters: Optional[Sequence[pulumi.InputType['GetForwardRulesFilterArgs']]] = None, + result_output_file: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetForwardRulesResult: + """ + Use this data source to query detailed information of private dns forward rules + + ## Example Usage + + ### Query all private dns forward rules + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + example = tencentcloud.PrivateDns.get_forward_rules() + ``` + + + ### Query all private dns forward rules by filters + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + example = tencentcloud.PrivateDns.get_forward_rules(filters=[ + tencentcloud.private_dns.GetForwardRulesFilterArgs( + name="RuleId", + values=["eid-e9d5880672"], + ), + tencentcloud.private_dns.GetForwardRulesFilterArgs( + name="RuleName", + values=["tf-example"], + ), + tencentcloud.private_dns.GetForwardRulesFilterArgs( + name="RuleName", + values=["tf-example"], + ), + tencentcloud.private_dns.GetForwardRulesFilterArgs( + name="RuleType", + values=["DOWN"], + ), + tencentcloud.private_dns.GetForwardRulesFilterArgs( + name="ZoneId", + values=["zone-04jlawty"], + ), + tencentcloud.private_dns.GetForwardRulesFilterArgs( + name="EndPointId", + values=["eid-e9d5880672"], + ), + tencentcloud.private_dns.GetForwardRulesFilterArgs( + name="EndPointName", + values=["tf-example"], + ), + ]) + ``` + + + + :param Sequence[pulumi.InputType['GetForwardRulesFilterArgs']] filters: Filter parameters. + :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:PrivateDns/getForwardRules:getForwardRules', __args__, opts=opts, typ=GetForwardRulesResult).value + + return AwaitableGetForwardRulesResult( + filters=pulumi.get(__ret__, 'filters'), + forward_rule_sets=pulumi.get(__ret__, 'forward_rule_sets'), + id=pulumi.get(__ret__, 'id'), + result_output_file=pulumi.get(__ret__, 'result_output_file')) + + +@_utilities.lift_output_func(get_forward_rules) +def get_forward_rules_output(filters: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetForwardRulesFilterArgs']]]]] = None, + result_output_file: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetForwardRulesResult]: + """ + Use this data source to query detailed information of private dns forward rules + + ## Example Usage + + ### Query all private dns forward rules + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + example = tencentcloud.PrivateDns.get_forward_rules() + ``` + + + ### Query all private dns forward rules by filters + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + example = tencentcloud.PrivateDns.get_forward_rules(filters=[ + tencentcloud.private_dns.GetForwardRulesFilterArgs( + name="RuleId", + values=["eid-e9d5880672"], + ), + tencentcloud.private_dns.GetForwardRulesFilterArgs( + name="RuleName", + values=["tf-example"], + ), + tencentcloud.private_dns.GetForwardRulesFilterArgs( + name="RuleName", + values=["tf-example"], + ), + tencentcloud.private_dns.GetForwardRulesFilterArgs( + name="RuleType", + values=["DOWN"], + ), + tencentcloud.private_dns.GetForwardRulesFilterArgs( + name="ZoneId", + values=["zone-04jlawty"], + ), + tencentcloud.private_dns.GetForwardRulesFilterArgs( + name="EndPointId", + values=["eid-e9d5880672"], + ), + tencentcloud.private_dns.GetForwardRulesFilterArgs( + name="EndPointName", + values=["tf-example"], + ), + ]) + ``` + + + + :param Sequence[pulumi.InputType['GetForwardRulesFilterArgs']] filters: Filter parameters. + :param str result_output_file: Used to save results. + """ + ... diff --git a/sdk/python/tencentcloud_iac_pulumi/privatedns/outputs.py b/sdk/python/tencentcloud_iac_pulumi/privatedns/outputs.py index 894d4ee72..04572bd31 100644 --- a/sdk/python/tencentcloud_iac_pulumi/privatedns/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/privatedns/outputs.py @@ -16,6 +16,13 @@ 'ZoneVpcAttachmentAccountVpcSet', 'ZoneVpcAttachmentVpcSet', 'ZoneVpcSet', + 'GetEndPointsEndPointSetResult', + 'GetEndPointsEndPointSetTagResult', + 'GetEndPointsFilterResult', + 'GetForwardRulesFilterResult', + 'GetForwardRulesForwardRuleSetResult', + 'GetForwardRulesForwardRuleSetTagResult', + 'GetForwardRulesForwardRuleSetVpcSetResult', 'GetPrivateZoneListFilterResult', 'GetPrivateZoneListPrivateZoneSetResult', 'GetPrivateZoneListPrivateZoneSetAccountVpcSetResult', @@ -293,6 +300,371 @@ def uniq_vpc_id(self) -> str: return pulumi.get(self, "uniq_vpc_id") +@pulumi.output_type +class GetEndPointsEndPointSetResult(dict): + def __init__(__self__, *, + end_point_id: str, + end_point_name: str, + end_point_service_id: str, + end_point_vip_sets: Sequence[str], + region_code: str, + tags: Sequence['outputs.GetEndPointsEndPointSetTagResult']): + """ + :param str end_point_id: Endpoint ID. + :param str end_point_name: Endpoint name. + :param str end_point_service_id: Endpoint service ID. + :param Sequence[str] end_point_vip_sets: VIP list of the endpoint. + :param str region_code: ap-guangzhou + Note: This field may return null, indicating that no valid values can be obtained. + :param Sequence['GetEndPointsEndPointSetTagArgs'] tags: Tag key-value pair collection. + Note: This field may return null, indicating that no valid values can be obtained. + """ + pulumi.set(__self__, "end_point_id", end_point_id) + pulumi.set(__self__, "end_point_name", end_point_name) + pulumi.set(__self__, "end_point_service_id", end_point_service_id) + pulumi.set(__self__, "end_point_vip_sets", end_point_vip_sets) + pulumi.set(__self__, "region_code", region_code) + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="endPointId") + def end_point_id(self) -> str: + """ + Endpoint ID. + """ + return pulumi.get(self, "end_point_id") + + @property + @pulumi.getter(name="endPointName") + def end_point_name(self) -> str: + """ + Endpoint name. + """ + return pulumi.get(self, "end_point_name") + + @property + @pulumi.getter(name="endPointServiceId") + def end_point_service_id(self) -> str: + """ + Endpoint service ID. + """ + return pulumi.get(self, "end_point_service_id") + + @property + @pulumi.getter(name="endPointVipSets") + def end_point_vip_sets(self) -> Sequence[str]: + """ + VIP list of the endpoint. + """ + return pulumi.get(self, "end_point_vip_sets") + + @property + @pulumi.getter(name="regionCode") + def region_code(self) -> str: + """ + ap-guangzhou + Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "region_code") + + @property + @pulumi.getter + def tags(self) -> Sequence['outputs.GetEndPointsEndPointSetTagResult']: + """ + Tag key-value pair collection. + Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "tags") + + +@pulumi.output_type +class GetEndPointsEndPointSetTagResult(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 GetEndPointsFilterResult(dict): + def __init__(__self__, *, + name: str, + values: Sequence[str]): + """ + :param str name: Parameter name. + :param Sequence[str] values: Array of parameter values. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def name(self) -> str: + """ + Parameter name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + Array of parameter values. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class GetForwardRulesFilterResult(dict): + def __init__(__self__, *, + name: str, + values: Sequence[str]): + """ + :param str name: Parameter name. + :param Sequence[str] values: Array of parameter values. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def name(self) -> str: + """ + Parameter name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + Array of parameter values. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class GetForwardRulesForwardRuleSetResult(dict): + def __init__(__self__, *, + created_at: str, + domain: str, + end_point_id: str, + end_point_name: str, + forward_addresses: Sequence[str], + rule_id: str, + rule_name: str, + rule_type: str, + tags: Sequence['outputs.GetForwardRulesForwardRuleSetTagResult'], + updated_at: str, + vpc_sets: Sequence['outputs.GetForwardRulesForwardRuleSetVpcSetResult'], + zone_id: str): + """ + :param str created_at: Creation time. + :param str domain: Private domain name. + :param str end_point_id: Endpoint ID. + :param str end_point_name: Endpoint name. + :param Sequence[str] forward_addresses: Forwarding address. + :param str rule_id: Rule ID. + :param str rule_name: Forwarding rule name. + :param str rule_type: Forwarding rule type. DOWN: From cloud to off-cloud; UP: From off-cloud to cloud. + :param Sequence['GetForwardRulesForwardRuleSetTagArgs'] tags: Tag. + Note: This field may return null, indicating that no valid values can be obtained. + :param str updated_at: Update time. + :param Sequence['GetForwardRulesForwardRuleSetVpcSetArgs'] vpc_sets: List of VPCs bound to the private domain. + Note: This field may return null, indicating that no valid values can be obtained. + :param str zone_id: ID of the bound private domain. + """ + pulumi.set(__self__, "created_at", created_at) + pulumi.set(__self__, "domain", domain) + pulumi.set(__self__, "end_point_id", end_point_id) + pulumi.set(__self__, "end_point_name", end_point_name) + pulumi.set(__self__, "forward_addresses", forward_addresses) + pulumi.set(__self__, "rule_id", rule_id) + pulumi.set(__self__, "rule_name", rule_name) + pulumi.set(__self__, "rule_type", rule_type) + pulumi.set(__self__, "tags", tags) + pulumi.set(__self__, "updated_at", updated_at) + pulumi.set(__self__, "vpc_sets", vpc_sets) + pulumi.set(__self__, "zone_id", zone_id) + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> str: + """ + Creation time. + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter + def domain(self) -> str: + """ + Private domain name. + """ + return pulumi.get(self, "domain") + + @property + @pulumi.getter(name="endPointId") + def end_point_id(self) -> str: + """ + Endpoint ID. + """ + return pulumi.get(self, "end_point_id") + + @property + @pulumi.getter(name="endPointName") + def end_point_name(self) -> str: + """ + Endpoint name. + """ + return pulumi.get(self, "end_point_name") + + @property + @pulumi.getter(name="forwardAddresses") + def forward_addresses(self) -> Sequence[str]: + """ + Forwarding address. + """ + return pulumi.get(self, "forward_addresses") + + @property + @pulumi.getter(name="ruleId") + def rule_id(self) -> str: + """ + Rule ID. + """ + return pulumi.get(self, "rule_id") + + @property + @pulumi.getter(name="ruleName") + def rule_name(self) -> str: + """ + Forwarding rule name. + """ + return pulumi.get(self, "rule_name") + + @property + @pulumi.getter(name="ruleType") + def rule_type(self) -> str: + """ + Forwarding rule type. DOWN: From cloud to off-cloud; UP: From off-cloud to cloud. + """ + return pulumi.get(self, "rule_type") + + @property + @pulumi.getter + def tags(self) -> Sequence['outputs.GetForwardRulesForwardRuleSetTagResult']: + """ + Tag. + Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="updatedAt") + def updated_at(self) -> str: + """ + Update time. + """ + return pulumi.get(self, "updated_at") + + @property + @pulumi.getter(name="vpcSets") + def vpc_sets(self) -> Sequence['outputs.GetForwardRulesForwardRuleSetVpcSetResult']: + """ + List of VPCs bound to the private domain. + Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "vpc_sets") + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> str: + """ + ID of the bound private domain. + """ + return pulumi.get(self, "zone_id") + + +@pulumi.output_type +class GetForwardRulesForwardRuleSetTagResult(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 GetForwardRulesForwardRuleSetVpcSetResult(dict): + def __init__(__self__, *, + region: str, + uniq_vpc_id: str): + """ + :param str region: VPC region: ap-guangzhou, ap-shanghai. + :param str uniq_vpc_id: VpcId: vpc-xadsafsdasd. + """ + pulumi.set(__self__, "region", region) + pulumi.set(__self__, "uniq_vpc_id", uniq_vpc_id) + + @property + @pulumi.getter + def region(self) -> str: + """ + VPC region: ap-guangzhou, ap-shanghai. + """ + return pulumi.get(self, "region") + + @property + @pulumi.getter(name="uniqVpcId") + def uniq_vpc_id(self) -> str: + """ + VpcId: vpc-xadsafsdasd. + """ + return pulumi.get(self, "uniq_vpc_id") + + @pulumi.output_type class GetPrivateZoneListFilterResult(dict): def __init__(__self__, *, 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/privatedns/zone.py b/sdk/python/tencentcloud_iac_pulumi/privatedns/zone.py index 9a7f3858e..854f95cba 100644 --- a/sdk/python/tencentcloud_iac_pulumi/privatedns/zone.py +++ b/sdk/python/tencentcloud_iac_pulumi/privatedns/zone.py @@ -313,6 +313,8 @@ def __init__(__self__, """ Provide a resource to create a Private Dns Zone. + > **NOTE:** If you want to unbind all VPCs bound to the current private dns zone, simply clearing the declaration will not take effect; you need to set the `region` and `uniq_vpc_id` in `vpc_set` to an empty string. + ## Example Usage ### Create a basic Private Dns Zone @@ -394,6 +396,8 @@ def __init__(__self__, """ Provide a resource to create a Private Dns Zone. + > **NOTE:** If you want to unbind all VPCs bound to the current private dns zone, simply clearing the declaration will not take effect; you need to set the `region` and `uniq_vpc_id` in `vpc_set` to an empty string. + ## Example Usage ### Create a basic Private Dns Zone 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..bd975d7fe 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, @@ -48,7 +50,7 @@ def __init__(__self__, *, :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. :param pulumi.Input[int] auto_renew_flag: Auto-renew flag. 0 - default state (manual renewal); 1 - automatic renewal; 2 - explicit no automatic renewal. :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[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[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. :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[str] name: Instance name. :param pulumi.Input[bool] no_auth: Indicates whether the redis instance support no-auth access. NOTE: Only available in private cloud environment. @@ -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: @@ -177,7 +185,7 @@ def charge_type(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="forceDelete") def force_delete(self) -> Optional[pulumi.Input[bool]]: """ - 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. + 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. """ return pulumi.get(self, "force_delete") @@ -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,7 +514,8 @@ 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[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] 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. :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. :param pulumi.Input[str] name: Instance name. @@ -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,11 +659,23 @@ 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]]: """ - 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. + 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. """ return pulumi.get(self, "force_delete") @@ -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. @@ -1000,7 +1114,7 @@ def __init__(__self__, :param pulumi.Input[int] auto_renew_flag: Auto-renew flag. 0 - default state (manual renewal); 1 - automatic renewal; 2 - explicit no automatic renewal. :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[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[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. :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. :param pulumi.Input[str] name: Instance name. @@ -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,7 +1365,8 @@ 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[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] 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. :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. :param pulumi.Input[str] name: Instance name. @@ -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,11 +1464,19 @@ 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]]: """ - 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. + 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. """ return pulumi.get(self, "force_delete") @@ -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/reserve/__init__.py b/sdk/python/tencentcloud_iac_pulumi/reserve/__init__.py new file mode 100644 index 000000000..2844c582b --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/reserve/__init__.py @@ -0,0 +1,8 @@ +# 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 .ip_address import * diff --git a/sdk/python/tencentcloud_iac_pulumi/reserve/ip_address.py b/sdk/python/tencentcloud_iac_pulumi/reserve/ip_address.py new file mode 100644 index 000000000..39128c8e6 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/reserve/ip_address.py @@ -0,0 +1,519 @@ +# 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__ = ['IpAddressArgs', 'IpAddress'] + +@pulumi.input_type +class IpAddressArgs: + def __init__(__self__, *, + vpc_id: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + ip_address: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + subnet_id: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, Any]]] = None): + """ + The set of arguments for constructing a IpAddress resource. + :param pulumi.Input[str] vpc_id: VPC unique ID. + :param pulumi.Input[str] description: The IP description is retained on the intranet. + :param pulumi.Input[str] ip_address: Specify the reserved IP address of the intranet for which the IP application is requested. + :param pulumi.Input[str] name: The IP name is reserved for the intranet. + :param pulumi.Input[str] subnet_id: Subnet ID. + :param pulumi.Input[Mapping[str, Any]] tags: Tags. + """ + pulumi.set(__self__, "vpc_id", vpc_id) + if description is not None: + pulumi.set(__self__, "description", description) + if ip_address is not None: + pulumi.set(__self__, "ip_address", ip_address) + if name is not None: + pulumi.set(__self__, "name", name) + if subnet_id is not None: + pulumi.set(__self__, "subnet_id", subnet_id) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> pulumi.Input[str]: + """ + VPC unique ID. + """ + 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 + def description(self) -> Optional[pulumi.Input[str]]: + """ + The IP description is retained on the intranet. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="ipAddress") + def ip_address(self) -> Optional[pulumi.Input[str]]: + """ + Specify the reserved IP address of the intranet for which the IP application is requested. + """ + return pulumi.get(self, "ip_address") + + @ip_address.setter + def ip_address(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ip_address", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The IP name is reserved for the intranet. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="subnetId") + def subnet_id(self) -> Optional[pulumi.Input[str]]: + """ + Subnet ID. + """ + 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 + def tags(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: + """ + Tags. + """ + 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 _IpAddressState: + def __init__(__self__, *, + created_time: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + ip_address: Optional[pulumi.Input[str]] = None, + ip_type: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + reserve_ip_id: Optional[pulumi.Input[str]] = None, + resource_id: Optional[pulumi.Input[str]] = None, + state: Optional[pulumi.Input[str]] = None, + subnet_id: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, + vpc_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering IpAddress resources. + :param pulumi.Input[str] created_time: Created time. + :param pulumi.Input[str] description: The IP description is retained on the intranet. + :param pulumi.Input[str] ip_address: Specify the reserved IP address of the intranet for which the IP application is requested. + :param pulumi.Input[int] ip_type: Ip type for product application. + :param pulumi.Input[str] name: The IP name is reserved for the intranet. + :param pulumi.Input[str] reserve_ip_id: Reserve ip ID. + :param pulumi.Input[str] resource_id: The intranet retains the resource instance ID bound to the IPs. + :param pulumi.Input[str] state: Binding status. + :param pulumi.Input[str] subnet_id: Subnet ID. + :param pulumi.Input[Mapping[str, Any]] tags: Tags. + :param pulumi.Input[str] vpc_id: VPC unique ID. + """ + if created_time is not None: + pulumi.set(__self__, "created_time", created_time) + if description is not None: + pulumi.set(__self__, "description", description) + if ip_address is not None: + pulumi.set(__self__, "ip_address", ip_address) + if ip_type is not None: + pulumi.set(__self__, "ip_type", ip_type) + if name is not None: + pulumi.set(__self__, "name", name) + if reserve_ip_id is not None: + pulumi.set(__self__, "reserve_ip_id", reserve_ip_id) + if resource_id is not None: + pulumi.set(__self__, "resource_id", resource_id) + if state is not None: + pulumi.set(__self__, "state", state) + if subnet_id is not None: + pulumi.set(__self__, "subnet_id", subnet_id) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if vpc_id is not None: + pulumi.set(__self__, "vpc_id", vpc_id) + + @property + @pulumi.getter(name="createdTime") + def created_time(self) -> Optional[pulumi.Input[str]]: + """ + Created time. + """ + return pulumi.get(self, "created_time") + + @created_time.setter + def created_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "created_time", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + The IP description is retained on the intranet. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="ipAddress") + def ip_address(self) -> Optional[pulumi.Input[str]]: + """ + Specify the reserved IP address of the intranet for which the IP application is requested. + """ + return pulumi.get(self, "ip_address") + + @ip_address.setter + def ip_address(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ip_address", value) + + @property + @pulumi.getter(name="ipType") + def ip_type(self) -> Optional[pulumi.Input[int]]: + """ + Ip type for product application. + """ + return pulumi.get(self, "ip_type") + + @ip_type.setter + def ip_type(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ip_type", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The IP name is reserved for the intranet. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="reserveIpId") + def reserve_ip_id(self) -> Optional[pulumi.Input[str]]: + """ + Reserve ip ID. + """ + return pulumi.get(self, "reserve_ip_id") + + @reserve_ip_id.setter + def reserve_ip_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "reserve_ip_id", value) + + @property + @pulumi.getter(name="resourceId") + def resource_id(self) -> Optional[pulumi.Input[str]]: + """ + The intranet retains the resource instance ID bound to the IPs. + """ + 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 + def state(self) -> Optional[pulumi.Input[str]]: + """ + Binding status. + """ + return pulumi.get(self, "state") + + @state.setter + def state(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "state", value) + + @property + @pulumi.getter(name="subnetId") + def subnet_id(self) -> Optional[pulumi.Input[str]]: + """ + Subnet ID. + """ + 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 + def tags(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: + """ + Tags. + """ + 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="vpcId") + def vpc_id(self) -> Optional[pulumi.Input[str]]: + """ + VPC unique ID. + """ + return pulumi.get(self, "vpc_id") + + @vpc_id.setter + def vpc_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "vpc_id", value) + + +class IpAddress(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + ip_address: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + subnet_id: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, + vpc_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Create a IpAddress 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[str] description: The IP description is retained on the intranet. + :param pulumi.Input[str] ip_address: Specify the reserved IP address of the intranet for which the IP application is requested. + :param pulumi.Input[str] name: The IP name is reserved for the intranet. + :param pulumi.Input[str] subnet_id: Subnet ID. + :param pulumi.Input[Mapping[str, Any]] tags: Tags. + :param pulumi.Input[str] vpc_id: VPC unique ID. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: IpAddressArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Create a IpAddress resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param IpAddressArgs 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(IpAddressArgs, 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, + ip_address: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + subnet_id: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, + vpc_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__ = IpAddressArgs.__new__(IpAddressArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["ip_address"] = ip_address + __props__.__dict__["name"] = name + __props__.__dict__["subnet_id"] = subnet_id + __props__.__dict__["tags"] = tags + if vpc_id is None and not opts.urn: + raise TypeError("Missing required property 'vpc_id'") + __props__.__dict__["vpc_id"] = vpc_id + __props__.__dict__["created_time"] = None + __props__.__dict__["ip_type"] = None + __props__.__dict__["reserve_ip_id"] = None + __props__.__dict__["resource_id"] = None + __props__.__dict__["state"] = None + super(IpAddress, __self__).__init__( + 'tencentcloud:Reserve/ipAddress:IpAddress', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + created_time: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + ip_address: Optional[pulumi.Input[str]] = None, + ip_type: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + reserve_ip_id: Optional[pulumi.Input[str]] = None, + resource_id: Optional[pulumi.Input[str]] = None, + state: Optional[pulumi.Input[str]] = None, + subnet_id: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, + vpc_id: Optional[pulumi.Input[str]] = None) -> 'IpAddress': + """ + Get an existing IpAddress 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] created_time: Created time. + :param pulumi.Input[str] description: The IP description is retained on the intranet. + :param pulumi.Input[str] ip_address: Specify the reserved IP address of the intranet for which the IP application is requested. + :param pulumi.Input[int] ip_type: Ip type for product application. + :param pulumi.Input[str] name: The IP name is reserved for the intranet. + :param pulumi.Input[str] reserve_ip_id: Reserve ip ID. + :param pulumi.Input[str] resource_id: The intranet retains the resource instance ID bound to the IPs. + :param pulumi.Input[str] state: Binding status. + :param pulumi.Input[str] subnet_id: Subnet ID. + :param pulumi.Input[Mapping[str, Any]] tags: Tags. + :param pulumi.Input[str] vpc_id: VPC unique ID. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _IpAddressState.__new__(_IpAddressState) + + __props__.__dict__["created_time"] = created_time + __props__.__dict__["description"] = description + __props__.__dict__["ip_address"] = ip_address + __props__.__dict__["ip_type"] = ip_type + __props__.__dict__["name"] = name + __props__.__dict__["reserve_ip_id"] = reserve_ip_id + __props__.__dict__["resource_id"] = resource_id + __props__.__dict__["state"] = state + __props__.__dict__["subnet_id"] = subnet_id + __props__.__dict__["tags"] = tags + __props__.__dict__["vpc_id"] = vpc_id + return IpAddress(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="createdTime") + def created_time(self) -> pulumi.Output[str]: + """ + Created time. + """ + return pulumi.get(self, "created_time") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + The IP description is retained on the intranet. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="ipAddress") + def ip_address(self) -> pulumi.Output[str]: + """ + Specify the reserved IP address of the intranet for which the IP application is requested. + """ + return pulumi.get(self, "ip_address") + + @property + @pulumi.getter(name="ipType") + def ip_type(self) -> pulumi.Output[int]: + """ + Ip type for product application. + """ + return pulumi.get(self, "ip_type") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The IP name is reserved for the intranet. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="reserveIpId") + def reserve_ip_id(self) -> pulumi.Output[str]: + """ + Reserve ip ID. + """ + return pulumi.get(self, "reserve_ip_id") + + @property + @pulumi.getter(name="resourceId") + def resource_id(self) -> pulumi.Output[str]: + """ + The intranet retains the resource instance ID bound to the IPs. + """ + return pulumi.get(self, "resource_id") + + @property + @pulumi.getter + def state(self) -> pulumi.Output[str]: + """ + Binding status. + """ + return pulumi.get(self, "state") + + @property + @pulumi.getter(name="subnetId") + def subnet_id(self) -> pulumi.Output[Optional[str]]: + """ + Subnet ID. + """ + return pulumi.get(self, "subnet_id") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, Any]]]: + """ + Tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> pulumi.Output[str]: + """ + VPC unique ID. + """ + return pulumi.get(self, "vpc_id") + 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/scf/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/scf/_inputs.py index 251d91c69..b614e7a49 100644 --- a/sdk/python/tencentcloud_iac_pulumi/scf/_inputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/scf/_inputs.py @@ -591,7 +591,7 @@ def __init__(__self__, *, """ :param pulumi.Input[str] name: Name of the SCF function trigger, if `type` is `ckafka`, the format of name must be `-`; if `type` is `cos`, the name is cos bucket id, other In any case, it can be combined arbitrarily. It can only contain English letters, numbers, connectors and underscores. The maximum length is 100. :param pulumi.Input[str] trigger_desc: TriggerDesc of the SCF function trigger, parameter format of `timer` is linux cron expression; parameter of `cos` type is json string `{"bucketUrl":".cos..myqcloud.com","event":"cos:ObjectCreated:*","filter":{"Prefix":"","Suffix":""}}`, where `bucketUrl` is cos bucket (optional), `event` is the cos event trigger, `Prefix` is the corresponding file prefix filter condition, `Suffix` is the suffix filter condition, if not need filter condition can not pass; `cmq` type does not pass this parameter; `ckafka` type parameter format is json string `{"maxMsgNum":"1","offset":"latest"}`; `apigw` type parameter format is json string `{"api":{"authRequired":"FALSE","requestConfig":{"method":"ANY"},"isIntegratedResponse":"FALSE"},"service":{"serviceId":"service-dqzh68sg"},"release":{"environmentName":"test"}}`. - :param pulumi.Input[str] type: Type of the SCF function trigger, support `cos`, `cmq`, `timer`, `ckafka`, `apigw`. + :param pulumi.Input[str] type: Type of the SCF function trigger, support `cos`, `cls`, `timer`, `ckafka`, `http`, `apigw`, `cmq`. :param pulumi.Input[str] cos_region: Region of cos bucket. if `type` is `cos`, `cos_region` is required. """ pulumi.set(__self__, "name", name) @@ -628,7 +628,7 @@ def trigger_desc(self, value: pulumi.Input[str]): @pulumi.getter def type(self) -> pulumi.Input[str]: """ - Type of the SCF function trigger, support `cos`, `cmq`, `timer`, `ckafka`, `apigw`. + Type of the SCF function trigger, support `cos`, `cls`, `timer`, `ckafka`, `http`, `apigw`, `cmq`. """ return pulumi.get(self, "type") @@ -666,7 +666,7 @@ def __init__(__self__, *, :param pulumi.Input[str] modify_time: Modify time of SCF function trigger. :param pulumi.Input[str] name: Name of the SCF function. Name supports 26 English letters, numbers, connectors, and underscores, it should start with a letter. The last character cannot be `-` or `_`. Available length is 2-60. :param pulumi.Input[str] trigger_desc: TriggerDesc of the SCF function trigger, parameter format of `timer` is linux cron expression; parameter of `cos` type is json string `{"bucketUrl":".cos..myqcloud.com","event":"cos:ObjectCreated:*","filter":{"Prefix":"","Suffix":""}}`, where `bucketUrl` is cos bucket (optional), `event` is the cos event trigger, `Prefix` is the corresponding file prefix filter condition, `Suffix` is the suffix filter condition, if not need filter condition can not pass; `cmq` type does not pass this parameter; `ckafka` type parameter format is json string `{"maxMsgNum":"1","offset":"latest"}`; `apigw` type parameter format is json string `{"api":{"authRequired":"FALSE","requestConfig":{"method":"ANY"},"isIntegratedResponse":"FALSE"},"service":{"serviceId":"service-dqzh68sg"},"release":{"environmentName":"test"}}`. - :param pulumi.Input[str] type: Type of the SCF function trigger, support `cos`, `cmq`, `timer`, `ckafka`, `apigw`. + :param pulumi.Input[str] type: Type of the SCF function trigger, support `cos`, `cls`, `timer`, `ckafka`, `http`, `apigw`, `cmq`. """ if create_time is not None: pulumi.set(__self__, "create_time", create_time) @@ -759,7 +759,7 @@ def trigger_desc(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def type(self) -> Optional[pulumi.Input[str]]: """ - Type of the SCF function trigger, support `cos`, `cmq`, `timer`, `ckafka`, `apigw`. + Type of the SCF function trigger, support `cos`, `cls`, `timer`, `ckafka`, `http`, `apigw`, `cmq`. """ return pulumi.get(self, "type") diff --git a/sdk/python/tencentcloud_iac_pulumi/scf/function.py b/sdk/python/tencentcloud_iac_pulumi/scf/function.py index 57365552d..d37339688 100644 --- a/sdk/python/tencentcloud_iac_pulumi/scf/function.py +++ b/sdk/python/tencentcloud_iac_pulumi/scf/function.py @@ -1285,26 +1285,38 @@ def __init__(__self__, ```python import pulumi + import json import tencentcloud_iac_pulumi as tencentcloud foo = tencentcloud.scf.Function("foo", - enable_public_net=True, handler="first.do_it_first", runtime="Python3.6", + enable_public_net=True, + zip_file="/scf/first.zip", triggers=[ tencentcloud.scf.FunctionTriggerArgs( name="tf-test-fn-trigger", - trigger_desc="*/5 * * * * * *", type="timer", + trigger_desc="*/5 * * * * * *", ), tencentcloud.scf.FunctionTriggerArgs( - cos_region="ap-guangzhou", name="scf-bucket-1308919341.cos.ap-guangzhou.myqcloud.com", - trigger_desc="{\\"event\\":\\"cos:ObjectCreated:Put\\",\\"filter\\":{\\"Prefix\\":\\"\\",\\"Suffix\\":\\"\\"}}", + cos_region="ap-guangzhou", type="cos", + trigger_desc="{\\"event\\":\\"cos:ObjectCreated:Put\\",\\"filter\\":{\\"Prefix\\":\\"\\",\\"Suffix\\":\\"\\"}}", ), - ], - zip_file="/scf/first.zip") + tencentcloud.scf.FunctionTriggerArgs( + name="tf-test-fn-trigger", + type="http", + trigger_desc=json.dumps({ + "AuthType": "NONE", + "NetConfig": { + "EnableIntranet": True, + "EnableExtranet": False, + }, + }), + ), + ]) ``` @@ -1425,26 +1437,38 @@ def __init__(__self__, ```python import pulumi + import json import tencentcloud_iac_pulumi as tencentcloud foo = tencentcloud.scf.Function("foo", - enable_public_net=True, handler="first.do_it_first", runtime="Python3.6", + enable_public_net=True, + zip_file="/scf/first.zip", triggers=[ tencentcloud.scf.FunctionTriggerArgs( name="tf-test-fn-trigger", - trigger_desc="*/5 * * * * * *", type="timer", + trigger_desc="*/5 * * * * * *", ), tencentcloud.scf.FunctionTriggerArgs( - cos_region="ap-guangzhou", name="scf-bucket-1308919341.cos.ap-guangzhou.myqcloud.com", - trigger_desc="{\\"event\\":\\"cos:ObjectCreated:Put\\",\\"filter\\":{\\"Prefix\\":\\"\\",\\"Suffix\\":\\"\\"}}", + cos_region="ap-guangzhou", type="cos", + trigger_desc="{\\"event\\":\\"cos:ObjectCreated:Put\\",\\"filter\\":{\\"Prefix\\":\\"\\",\\"Suffix\\":\\"\\"}}", ), - ], - zip_file="/scf/first.zip") + tencentcloud.scf.FunctionTriggerArgs( + name="tf-test-fn-trigger", + type="http", + trigger_desc=json.dumps({ + "AuthType": "NONE", + "NetConfig": { + "EnableIntranet": True, + "EnableExtranet": False, + }, + }), + ), + ]) ``` diff --git a/sdk/python/tencentcloud_iac_pulumi/scf/outputs.py b/sdk/python/tencentcloud_iac_pulumi/scf/outputs.py index 39972c0a8..32dff2df6 100644 --- a/sdk/python/tencentcloud_iac_pulumi/scf/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/scf/outputs.py @@ -658,7 +658,7 @@ def __init__(__self__, *, """ :param str name: Name of the SCF function trigger, if `type` is `ckafka`, the format of name must be `-`; if `type` is `cos`, the name is cos bucket id, other In any case, it can be combined arbitrarily. It can only contain English letters, numbers, connectors and underscores. The maximum length is 100. :param str trigger_desc: TriggerDesc of the SCF function trigger, parameter format of `timer` is linux cron expression; parameter of `cos` type is json string `{"bucketUrl":".cos..myqcloud.com","event":"cos:ObjectCreated:*","filter":{"Prefix":"","Suffix":""}}`, where `bucketUrl` is cos bucket (optional), `event` is the cos event trigger, `Prefix` is the corresponding file prefix filter condition, `Suffix` is the suffix filter condition, if not need filter condition can not pass; `cmq` type does not pass this parameter; `ckafka` type parameter format is json string `{"maxMsgNum":"1","offset":"latest"}`; `apigw` type parameter format is json string `{"api":{"authRequired":"FALSE","requestConfig":{"method":"ANY"},"isIntegratedResponse":"FALSE"},"service":{"serviceId":"service-dqzh68sg"},"release":{"environmentName":"test"}}`. - :param str type: Type of the SCF function trigger, support `cos`, `cmq`, `timer`, `ckafka`, `apigw`. + :param str type: Type of the SCF function trigger, support `cos`, `cls`, `timer`, `ckafka`, `http`, `apigw`, `cmq`. :param str cos_region: Region of cos bucket. if `type` is `cos`, `cos_region` is required. """ pulumi.set(__self__, "name", name) @@ -687,7 +687,7 @@ def trigger_desc(self) -> str: @pulumi.getter def type(self) -> str: """ - Type of the SCF function trigger, support `cos`, `cmq`, `timer`, `ckafka`, `apigw`. + Type of the SCF function trigger, support `cos`, `cls`, `timer`, `ckafka`, `http`, `apigw`, `cmq`. """ return pulumi.get(self, "type") @@ -740,7 +740,7 @@ def __init__(__self__, *, :param str modify_time: Modify time of SCF function trigger. :param str name: Name of the SCF function. Name supports 26 English letters, numbers, connectors, and underscores, it should start with a letter. The last character cannot be `-` or `_`. Available length is 2-60. :param str trigger_desc: TriggerDesc of the SCF function trigger, parameter format of `timer` is linux cron expression; parameter of `cos` type is json string `{"bucketUrl":".cos..myqcloud.com","event":"cos:ObjectCreated:*","filter":{"Prefix":"","Suffix":""}}`, where `bucketUrl` is cos bucket (optional), `event` is the cos event trigger, `Prefix` is the corresponding file prefix filter condition, `Suffix` is the suffix filter condition, if not need filter condition can not pass; `cmq` type does not pass this parameter; `ckafka` type parameter format is json string `{"maxMsgNum":"1","offset":"latest"}`; `apigw` type parameter format is json string `{"api":{"authRequired":"FALSE","requestConfig":{"method":"ANY"},"isIntegratedResponse":"FALSE"},"service":{"serviceId":"service-dqzh68sg"},"release":{"environmentName":"test"}}`. - :param str type: Type of the SCF function trigger, support `cos`, `cmq`, `timer`, `ckafka`, `apigw`. + :param str type: Type of the SCF function trigger, support `cos`, `cls`, `timer`, `ckafka`, `http`, `apigw`, `cmq`. """ if create_time is not None: pulumi.set(__self__, "create_time", create_time) @@ -809,7 +809,7 @@ def trigger_desc(self) -> Optional[str]: @pulumi.getter def type(self) -> Optional[str]: """ - Type of the SCF function trigger, support `cos`, `cmq`, `timer`, `ckafka`, `apigw`. + Type of the SCF function trigger, support `cos`, `cls`, `timer`, `ckafka`, `http`, `apigw`, `cmq`. """ return pulumi.get(self, "type") diff --git a/sdk/python/tencentcloud_iac_pulumi/security/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/security/_inputs.py index c0536cb3f..1a7fe658d 100644 --- a/sdk/python/tencentcloud_iac_pulumi/security/_inputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/security/_inputs.py @@ -31,17 +31,17 @@ def __init__(__self__, *, source_security_id: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[str] action: Rule policy of security group. Valid values: `ACCEPT` and `DROP`. - :param pulumi.Input[str] address_template_group: Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. - :param pulumi.Input[str] address_template_id: Specify Address template ID like `ipm-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. - :param pulumi.Input[str] cidr_block: An IP address network or CIDR segment. NOTE: `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` are exclusive and cannot be set in the same time. + :param pulumi.Input[str] address_template_group: Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. + :param pulumi.Input[str] address_template_id: Specify Address template ID like `ipm-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. + :param pulumi.Input[str] cidr_block: An IP address network or CIDR segment. NOTE: `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` are exclusive and cannot be set in the same time; One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. :param pulumi.Input[str] description: Description of the security group rule. - :param pulumi.Input[str] ipv6_cidr_block: An IPV6 address network or CIDR segment, and conflict with `source_security_id` and `address_template_*`. + :param pulumi.Input[str] ipv6_cidr_block: An IPV6 address network or CIDR segment, and conflict with `source_security_id` and `address_template_*`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. :param pulumi.Input[int] policy_index: The security group rule index number, whose value dynamically changes with changes in security group rules. :param pulumi.Input[str] port: Range of the port. The available value can be one, multiple or one segment. E.g. `80`, `80,90` and `80-90`. Default to all ports, and conflicts with `service_template_*`. - :param pulumi.Input[str] protocol: Type of IP protocol. Valid values: `TCP`, `UDP` and `ICMP`. Default to all types protocol, and conflicts with `service_template_*`. + :param pulumi.Input[str] protocol: Type of IP protocol. Valid values: `TCP`, `UDP`, `ICMP`, `ICMPv6` and `ALL`. Default to all types protocol, and conflicts with `service_template_*`. :param pulumi.Input[str] service_template_group: Specify Group ID of Protocol template ID like `ppmg-xxxxxxxx`, conflict with `cidr_block` and `port`. :param pulumi.Input[str] service_template_id: Specify Protocol template ID like `ppm-xxxxxxxx`, conflict with `cidr_block` and `port`. - :param pulumi.Input[str] source_security_id: ID of the nested security group, and conflicts with `cidr_block` and `address_template_*`. + :param pulumi.Input[str] source_security_id: ID of the nested security group, and conflicts with `cidr_block` and `address_template_*`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. """ pulumi.set(__self__, "action", action) if address_template_group is not None: @@ -83,7 +83,7 @@ def action(self, value: pulumi.Input[str]): @pulumi.getter(name="addressTemplateGroup") def address_template_group(self) -> Optional[pulumi.Input[str]]: """ - Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. + Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. """ return pulumi.get(self, "address_template_group") @@ -95,7 +95,7 @@ def address_template_group(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="addressTemplateId") def address_template_id(self) -> Optional[pulumi.Input[str]]: """ - Specify Address template ID like `ipm-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. + Specify Address template ID like `ipm-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. """ return pulumi.get(self, "address_template_id") @@ -107,7 +107,7 @@ def address_template_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="cidrBlock") def cidr_block(self) -> Optional[pulumi.Input[str]]: """ - An IP address network or CIDR segment. NOTE: `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` are exclusive and cannot be set in the same time. + An IP address network or CIDR segment. NOTE: `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` are exclusive and cannot be set in the same time; One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. """ return pulumi.get(self, "cidr_block") @@ -131,7 +131,7 @@ def description(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="ipv6CidrBlock") def ipv6_cidr_block(self) -> Optional[pulumi.Input[str]]: """ - An IPV6 address network or CIDR segment, and conflict with `source_security_id` and `address_template_*`. + An IPV6 address network or CIDR segment, and conflict with `source_security_id` and `address_template_*`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. """ return pulumi.get(self, "ipv6_cidr_block") @@ -167,7 +167,7 @@ def port(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def protocol(self) -> Optional[pulumi.Input[str]]: """ - Type of IP protocol. Valid values: `TCP`, `UDP` and `ICMP`. Default to all types protocol, and conflicts with `service_template_*`. + Type of IP protocol. Valid values: `TCP`, `UDP`, `ICMP`, `ICMPv6` and `ALL`. Default to all types protocol, and conflicts with `service_template_*`. """ return pulumi.get(self, "protocol") @@ -203,7 +203,7 @@ def service_template_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="sourceSecurityId") def source_security_id(self) -> Optional[pulumi.Input[str]]: """ - ID of the nested security group, and conflicts with `cidr_block` and `address_template_*`. + ID of the nested security group, and conflicts with `cidr_block` and `address_template_*`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. """ return pulumi.get(self, "source_security_id") @@ -229,17 +229,17 @@ def __init__(__self__, *, source_security_id: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[str] action: Rule policy of security group. Valid values: `ACCEPT` and `DROP`. - :param pulumi.Input[str] address_template_group: Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. - :param pulumi.Input[str] address_template_id: Specify Address template ID like `ipm-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. - :param pulumi.Input[str] cidr_block: An IP address network or CIDR segment. NOTE: `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` are exclusive and cannot be set in the same time. + :param pulumi.Input[str] address_template_group: Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. + :param pulumi.Input[str] address_template_id: Specify Address template ID like `ipm-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. + :param pulumi.Input[str] cidr_block: An IP address network or CIDR segment. NOTE: `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` are exclusive and cannot be set in the same time; One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. :param pulumi.Input[str] description: Description of the security group rule. - :param pulumi.Input[str] ipv6_cidr_block: An IPV6 address network or CIDR segment, and conflict with `source_security_id` and `address_template_*`. + :param pulumi.Input[str] ipv6_cidr_block: An IPV6 address network or CIDR segment, and conflict with `source_security_id` and `address_template_*`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. :param pulumi.Input[int] policy_index: The security group rule index number, whose value dynamically changes with changes in security group rules. :param pulumi.Input[str] port: Range of the port. The available value can be one, multiple or one segment. E.g. `80`, `80,90` and `80-90`. Default to all ports, and conflicts with `service_template_*`. - :param pulumi.Input[str] protocol: Type of IP protocol. Valid values: `TCP`, `UDP` and `ICMP`. Default to all types protocol, and conflicts with `service_template_*`. + :param pulumi.Input[str] protocol: Type of IP protocol. Valid values: `TCP`, `UDP`, `ICMP`, `ICMPv6` and `ALL`. Default to all types protocol, and conflicts with `service_template_*`. :param pulumi.Input[str] service_template_group: Specify Group ID of Protocol template ID like `ppmg-xxxxxxxx`, conflict with `cidr_block` and `port`. :param pulumi.Input[str] service_template_id: Specify Protocol template ID like `ppm-xxxxxxxx`, conflict with `cidr_block` and `port`. - :param pulumi.Input[str] source_security_id: ID of the nested security group, and conflicts with `cidr_block` and `address_template_*`. + :param pulumi.Input[str] source_security_id: ID of the nested security group, and conflicts with `cidr_block` and `address_template_*`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. """ pulumi.set(__self__, "action", action) if address_template_group is not None: @@ -281,7 +281,7 @@ def action(self, value: pulumi.Input[str]): @pulumi.getter(name="addressTemplateGroup") def address_template_group(self) -> Optional[pulumi.Input[str]]: """ - Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. + Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. """ return pulumi.get(self, "address_template_group") @@ -293,7 +293,7 @@ def address_template_group(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="addressTemplateId") def address_template_id(self) -> Optional[pulumi.Input[str]]: """ - Specify Address template ID like `ipm-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. + Specify Address template ID like `ipm-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. """ return pulumi.get(self, "address_template_id") @@ -305,7 +305,7 @@ def address_template_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="cidrBlock") def cidr_block(self) -> Optional[pulumi.Input[str]]: """ - An IP address network or CIDR segment. NOTE: `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` are exclusive and cannot be set in the same time. + An IP address network or CIDR segment. NOTE: `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` are exclusive and cannot be set in the same time; One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. """ return pulumi.get(self, "cidr_block") @@ -329,7 +329,7 @@ def description(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="ipv6CidrBlock") def ipv6_cidr_block(self) -> Optional[pulumi.Input[str]]: """ - An IPV6 address network or CIDR segment, and conflict with `source_security_id` and `address_template_*`. + An IPV6 address network or CIDR segment, and conflict with `source_security_id` and `address_template_*`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. """ return pulumi.get(self, "ipv6_cidr_block") @@ -365,7 +365,7 @@ def port(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def protocol(self) -> Optional[pulumi.Input[str]]: """ - Type of IP protocol. Valid values: `TCP`, `UDP` and `ICMP`. Default to all types protocol, and conflicts with `service_template_*`. + Type of IP protocol. Valid values: `TCP`, `UDP`, `ICMP`, `ICMPv6` and `ALL`. Default to all types protocol, and conflicts with `service_template_*`. """ return pulumi.get(self, "protocol") @@ -401,7 +401,7 @@ def service_template_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="sourceSecurityId") def source_security_id(self) -> Optional[pulumi.Input[str]]: """ - ID of the nested security group, and conflicts with `cidr_block` and `address_template_*`. + ID of the nested security group, and conflicts with `cidr_block` and `address_template_*`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. """ return pulumi.get(self, "source_security_id") diff --git a/sdk/python/tencentcloud_iac_pulumi/security/outputs.py b/sdk/python/tencentcloud_iac_pulumi/security/outputs.py index 1fa4a0127..6ce8b0e14 100644 --- a/sdk/python/tencentcloud_iac_pulumi/security/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/security/outputs.py @@ -63,17 +63,17 @@ def __init__(__self__, *, source_security_id: Optional[str] = None): """ :param str action: Rule policy of security group. Valid values: `ACCEPT` and `DROP`. - :param str address_template_group: Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. - :param str address_template_id: Specify Address template ID like `ipm-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. - :param str cidr_block: An IP address network or CIDR segment. NOTE: `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` are exclusive and cannot be set in the same time. + :param str address_template_group: Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. + :param str address_template_id: Specify Address template ID like `ipm-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. + :param str cidr_block: An IP address network or CIDR segment. NOTE: `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` are exclusive and cannot be set in the same time; One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. :param str description: Description of the security group rule. - :param str ipv6_cidr_block: An IPV6 address network or CIDR segment, and conflict with `source_security_id` and `address_template_*`. + :param str ipv6_cidr_block: An IPV6 address network or CIDR segment, and conflict with `source_security_id` and `address_template_*`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. :param int policy_index: The security group rule index number, whose value dynamically changes with changes in security group rules. :param str port: Range of the port. The available value can be one, multiple or one segment. E.g. `80`, `80,90` and `80-90`. Default to all ports, and conflicts with `service_template_*`. - :param str protocol: Type of IP protocol. Valid values: `TCP`, `UDP` and `ICMP`. Default to all types protocol, and conflicts with `service_template_*`. + :param str protocol: Type of IP protocol. Valid values: `TCP`, `UDP`, `ICMP`, `ICMPv6` and `ALL`. Default to all types protocol, and conflicts with `service_template_*`. :param str service_template_group: Specify Group ID of Protocol template ID like `ppmg-xxxxxxxx`, conflict with `cidr_block` and `port`. :param str service_template_id: Specify Protocol template ID like `ppm-xxxxxxxx`, conflict with `cidr_block` and `port`. - :param str source_security_id: ID of the nested security group, and conflicts with `cidr_block` and `address_template_*`. + :param str source_security_id: ID of the nested security group, and conflicts with `cidr_block` and `address_template_*`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. """ pulumi.set(__self__, "action", action) if address_template_group is not None: @@ -111,7 +111,7 @@ def action(self) -> str: @pulumi.getter(name="addressTemplateGroup") def address_template_group(self) -> Optional[str]: """ - Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. + Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. """ return pulumi.get(self, "address_template_group") @@ -119,7 +119,7 @@ def address_template_group(self) -> Optional[str]: @pulumi.getter(name="addressTemplateId") def address_template_id(self) -> Optional[str]: """ - Specify Address template ID like `ipm-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. + Specify Address template ID like `ipm-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. """ return pulumi.get(self, "address_template_id") @@ -127,7 +127,7 @@ def address_template_id(self) -> Optional[str]: @pulumi.getter(name="cidrBlock") def cidr_block(self) -> Optional[str]: """ - An IP address network or CIDR segment. NOTE: `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` are exclusive and cannot be set in the same time. + An IP address network or CIDR segment. NOTE: `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` are exclusive and cannot be set in the same time; One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. """ return pulumi.get(self, "cidr_block") @@ -143,7 +143,7 @@ def description(self) -> Optional[str]: @pulumi.getter(name="ipv6CidrBlock") def ipv6_cidr_block(self) -> Optional[str]: """ - An IPV6 address network or CIDR segment, and conflict with `source_security_id` and `address_template_*`. + An IPV6 address network or CIDR segment, and conflict with `source_security_id` and `address_template_*`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. """ return pulumi.get(self, "ipv6_cidr_block") @@ -167,7 +167,7 @@ def port(self) -> Optional[str]: @pulumi.getter def protocol(self) -> Optional[str]: """ - Type of IP protocol. Valid values: `TCP`, `UDP` and `ICMP`. Default to all types protocol, and conflicts with `service_template_*`. + Type of IP protocol. Valid values: `TCP`, `UDP`, `ICMP`, `ICMPv6` and `ALL`. Default to all types protocol, and conflicts with `service_template_*`. """ return pulumi.get(self, "protocol") @@ -191,7 +191,7 @@ def service_template_id(self) -> Optional[str]: @pulumi.getter(name="sourceSecurityId") def source_security_id(self) -> Optional[str]: """ - ID of the nested security group, and conflicts with `cidr_block` and `address_template_*`. + ID of the nested security group, and conflicts with `cidr_block` and `address_template_*`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. """ return pulumi.get(self, "source_security_id") @@ -244,17 +244,17 @@ def __init__(__self__, *, source_security_id: Optional[str] = None): """ :param str action: Rule policy of security group. Valid values: `ACCEPT` and `DROP`. - :param str address_template_group: Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. - :param str address_template_id: Specify Address template ID like `ipm-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. - :param str cidr_block: An IP address network or CIDR segment. NOTE: `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` are exclusive and cannot be set in the same time. + :param str address_template_group: Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. + :param str address_template_id: Specify Address template ID like `ipm-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. + :param str cidr_block: An IP address network or CIDR segment. NOTE: `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` are exclusive and cannot be set in the same time; One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. :param str description: Description of the security group rule. - :param str ipv6_cidr_block: An IPV6 address network or CIDR segment, and conflict with `source_security_id` and `address_template_*`. + :param str ipv6_cidr_block: An IPV6 address network or CIDR segment, and conflict with `source_security_id` and `address_template_*`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. :param int policy_index: The security group rule index number, whose value dynamically changes with changes in security group rules. :param str port: Range of the port. The available value can be one, multiple or one segment. E.g. `80`, `80,90` and `80-90`. Default to all ports, and conflicts with `service_template_*`. - :param str protocol: Type of IP protocol. Valid values: `TCP`, `UDP` and `ICMP`. Default to all types protocol, and conflicts with `service_template_*`. + :param str protocol: Type of IP protocol. Valid values: `TCP`, `UDP`, `ICMP`, `ICMPv6` and `ALL`. Default to all types protocol, and conflicts with `service_template_*`. :param str service_template_group: Specify Group ID of Protocol template ID like `ppmg-xxxxxxxx`, conflict with `cidr_block` and `port`. :param str service_template_id: Specify Protocol template ID like `ppm-xxxxxxxx`, conflict with `cidr_block` and `port`. - :param str source_security_id: ID of the nested security group, and conflicts with `cidr_block` and `address_template_*`. + :param str source_security_id: ID of the nested security group, and conflicts with `cidr_block` and `address_template_*`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. """ pulumi.set(__self__, "action", action) if address_template_group is not None: @@ -292,7 +292,7 @@ def action(self) -> str: @pulumi.getter(name="addressTemplateGroup") def address_template_group(self) -> Optional[str]: """ - Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. + Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. """ return pulumi.get(self, "address_template_group") @@ -300,7 +300,7 @@ def address_template_group(self) -> Optional[str]: @pulumi.getter(name="addressTemplateId") def address_template_id(self) -> Optional[str]: """ - Specify Address template ID like `ipm-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. + Specify Address template ID like `ipm-xxxxxxxx`, conflict with `source_security_id` and `cidr_block`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. """ return pulumi.get(self, "address_template_id") @@ -308,7 +308,7 @@ def address_template_id(self) -> Optional[str]: @pulumi.getter(name="cidrBlock") def cidr_block(self) -> Optional[str]: """ - An IP address network or CIDR segment. NOTE: `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` are exclusive and cannot be set in the same time. + An IP address network or CIDR segment. NOTE: `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` are exclusive and cannot be set in the same time; One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. """ return pulumi.get(self, "cidr_block") @@ -324,7 +324,7 @@ def description(self) -> Optional[str]: @pulumi.getter(name="ipv6CidrBlock") def ipv6_cidr_block(self) -> Optional[str]: """ - An IPV6 address network or CIDR segment, and conflict with `source_security_id` and `address_template_*`. + An IPV6 address network or CIDR segment, and conflict with `source_security_id` and `address_template_*`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. """ return pulumi.get(self, "ipv6_cidr_block") @@ -348,7 +348,7 @@ def port(self) -> Optional[str]: @pulumi.getter def protocol(self) -> Optional[str]: """ - Type of IP protocol. Valid values: `TCP`, `UDP` and `ICMP`. Default to all types protocol, and conflicts with `service_template_*`. + Type of IP protocol. Valid values: `TCP`, `UDP`, `ICMP`, `ICMPv6` and `ALL`. Default to all types protocol, and conflicts with `service_template_*`. """ return pulumi.get(self, "protocol") @@ -372,7 +372,7 @@ def service_template_id(self) -> Optional[str]: @pulumi.getter(name="sourceSecurityId") def source_security_id(self) -> Optional[str]: """ - ID of the nested security group, and conflicts with `cidr_block` and `address_template_*`. + ID of the nested security group, and conflicts with `cidr_block` and `address_template_*`. NOTE: One of `cidr_block`, `ipv6_cidr_block`, `source_security_id` and `address_template_*` must be set. """ return pulumi.get(self, "source_security_id") diff --git a/sdk/python/tencentcloud_iac_pulumi/ses/email_address.py b/sdk/python/tencentcloud_iac_pulumi/ses/email_address.py index 85050c4db..62e332167 100644 --- a/sdk/python/tencentcloud_iac_pulumi/ses/email_address.py +++ b/sdk/python/tencentcloud_iac_pulumi/ses/email_address.py @@ -15,21 +15,25 @@ class EmailAddressArgs: def __init__(__self__, *, email_address: pulumi.Input[str], - email_sender_name: Optional[pulumi.Input[str]] = None): + email_sender_name: Optional[pulumi.Input[str]] = None, + smtp_password: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a EmailAddress resource. - :param pulumi.Input[str] email_address: Your sender address. (You can create up to 10 sender addresses for each domain.). + :param pulumi.Input[str] email_address: Your sender address(You can create up to 10 sender addresses for each domain). :param pulumi.Input[str] email_sender_name: Sender name. + :param pulumi.Input[str] smtp_password: Password for SMTP, Length limit 64. """ pulumi.set(__self__, "email_address", email_address) if email_sender_name is not None: pulumi.set(__self__, "email_sender_name", email_sender_name) + if smtp_password is not None: + pulumi.set(__self__, "smtp_password", smtp_password) @property @pulumi.getter(name="emailAddress") def email_address(self) -> pulumi.Input[str]: """ - Your sender address. (You can create up to 10 sender addresses for each domain.). + Your sender address(You can create up to 10 sender addresses for each domain). """ return pulumi.get(self, "email_address") @@ -49,27 +53,43 @@ def email_sender_name(self) -> Optional[pulumi.Input[str]]: def email_sender_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "email_sender_name", value) + @property + @pulumi.getter(name="smtpPassword") + def smtp_password(self) -> Optional[pulumi.Input[str]]: + """ + Password for SMTP, Length limit 64. + """ + return pulumi.get(self, "smtp_password") + + @smtp_password.setter + def smtp_password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "smtp_password", value) + @pulumi.input_type class _EmailAddressState: def __init__(__self__, *, email_address: Optional[pulumi.Input[str]] = None, - email_sender_name: Optional[pulumi.Input[str]] = None): + email_sender_name: Optional[pulumi.Input[str]] = None, + smtp_password: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering EmailAddress resources. - :param pulumi.Input[str] email_address: Your sender address. (You can create up to 10 sender addresses for each domain.). + :param pulumi.Input[str] email_address: Your sender address(You can create up to 10 sender addresses for each domain). :param pulumi.Input[str] email_sender_name: Sender name. + :param pulumi.Input[str] smtp_password: Password for SMTP, Length limit 64. """ if email_address is not None: pulumi.set(__self__, "email_address", email_address) if email_sender_name is not None: pulumi.set(__self__, "email_sender_name", email_sender_name) + if smtp_password is not None: + pulumi.set(__self__, "smtp_password", smtp_password) @property @pulumi.getter(name="emailAddress") def email_address(self) -> Optional[pulumi.Input[str]]: """ - Your sender address. (You can create up to 10 sender addresses for each domain.). + Your sender address(You can create up to 10 sender addresses for each domain). """ return pulumi.get(self, "email_address") @@ -89,6 +109,18 @@ def email_sender_name(self) -> Optional[pulumi.Input[str]]: def email_sender_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "email_sender_name", value) + @property + @pulumi.getter(name="smtpPassword") + def smtp_password(self) -> Optional[pulumi.Input[str]]: + """ + Password for SMTP, Length limit 64. + """ + return pulumi.get(self, "smtp_password") + + @smtp_password.setter + def smtp_password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "smtp_password", value) + class EmailAddress(pulumi.CustomResource): @overload @@ -97,20 +129,37 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, email_address: Optional[pulumi.Input[str]] = None, email_sender_name: Optional[pulumi.Input[str]] = None, + smtp_password: Optional[pulumi.Input[str]] = None, __props__=None): """ - Provides a resource to create a ses email_address + Provides a resource to create a ses email address ## Example Usage + ### Create ses email address + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.ses.EmailAddress("example", + email_address="demo@iac-terraform.cloud", + email_sender_name="root") + ``` + + + ### Set smtp password + ```python import pulumi import tencentcloud_iac_pulumi as tencentcloud - email_address = tencentcloud.ses.EmailAddress("emailAddress", - email_address="aaa@iac-tf.cloud", - email_sender_name="aaa") + example = tencentcloud.ses.EmailAddress("example", + email_address="demo@iac-terraform.cloud", + email_sender_name="root", + smtp_password="Password@123") ``` @@ -119,13 +168,14 @@ def __init__(__self__, ses email_address can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Ses/emailAddress:EmailAddress email_address aaa@iac-tf.cloud + $ pulumi import tencentcloud:Ses/emailAddress:EmailAddress example demo@iac-terraform.cloud ``` :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] email_address: Your sender address. (You can create up to 10 sender addresses for each domain.). + :param pulumi.Input[str] email_address: Your sender address(You can create up to 10 sender addresses for each domain). :param pulumi.Input[str] email_sender_name: Sender name. + :param pulumi.Input[str] smtp_password: Password for SMTP, Length limit 64. """ ... @overload @@ -134,18 +184,34 @@ def __init__(__self__, args: EmailAddressArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Provides a resource to create a ses email_address + Provides a resource to create a ses email address ## Example Usage + ### Create ses email address + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.ses.EmailAddress("example", + email_address="demo@iac-terraform.cloud", + email_sender_name="root") + ``` + + + ### Set smtp password + ```python import pulumi import tencentcloud_iac_pulumi as tencentcloud - email_address = tencentcloud.ses.EmailAddress("emailAddress", - email_address="aaa@iac-tf.cloud", - email_sender_name="aaa") + example = tencentcloud.ses.EmailAddress("example", + email_address="demo@iac-terraform.cloud", + email_sender_name="root", + smtp_password="Password@123") ``` @@ -154,7 +220,7 @@ def __init__(__self__, ses email_address can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Ses/emailAddress:EmailAddress email_address aaa@iac-tf.cloud + $ pulumi import tencentcloud:Ses/emailAddress:EmailAddress example demo@iac-terraform.cloud ``` :param str resource_name: The name of the resource. @@ -174,6 +240,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, email_address: Optional[pulumi.Input[str]] = None, email_sender_name: Optional[pulumi.Input[str]] = None, + smtp_password: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -187,6 +254,9 @@ def _internal_init(__self__, raise TypeError("Missing required property 'email_address'") __props__.__dict__["email_address"] = email_address __props__.__dict__["email_sender_name"] = email_sender_name + __props__.__dict__["smtp_password"] = None if smtp_password is None else pulumi.Output.secret(smtp_password) + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["smtpPassword"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) super(EmailAddress, __self__).__init__( 'tencentcloud:Ses/emailAddress:EmailAddress', resource_name, @@ -198,7 +268,8 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, email_address: Optional[pulumi.Input[str]] = None, - email_sender_name: Optional[pulumi.Input[str]] = None) -> 'EmailAddress': + email_sender_name: Optional[pulumi.Input[str]] = None, + smtp_password: Optional[pulumi.Input[str]] = None) -> 'EmailAddress': """ Get an existing EmailAddress resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -206,8 +277,9 @@ 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] email_address: Your sender address. (You can create up to 10 sender addresses for each domain.). + :param pulumi.Input[str] email_address: Your sender address(You can create up to 10 sender addresses for each domain). :param pulumi.Input[str] email_sender_name: Sender name. + :param pulumi.Input[str] smtp_password: Password for SMTP, Length limit 64. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -215,13 +287,14 @@ def get(resource_name: str, __props__.__dict__["email_address"] = email_address __props__.__dict__["email_sender_name"] = email_sender_name + __props__.__dict__["smtp_password"] = smtp_password return EmailAddress(resource_name, opts=opts, __props__=__props__) @property @pulumi.getter(name="emailAddress") def email_address(self) -> pulumi.Output[str]: """ - Your sender address. (You can create up to 10 sender addresses for each domain.). + Your sender address(You can create up to 10 sender addresses for each domain). """ return pulumi.get(self, "email_address") @@ -233,3 +306,11 @@ def email_sender_name(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "email_sender_name") + @property + @pulumi.getter(name="smtpPassword") + def smtp_password(self) -> pulumi.Output[Optional[str]]: + """ + Password for SMTP, Length limit 64. + """ + return pulumi.get(self, "smtp_password") + diff --git a/sdk/python/tencentcloud_iac_pulumi/sg/__init__.py b/sdk/python/tencentcloud_iac_pulumi/sg/__init__.py new file mode 100644 index 000000000..6b969127c --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/sg/__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 .rule import * +from ._inputs import * +from . import outputs diff --git a/sdk/python/tencentcloud_iac_pulumi/sg/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/sg/_inputs.py new file mode 100644 index 000000000..24da6f8ff --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/sg/_inputs.py @@ -0,0 +1,176 @@ +# 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__ = [ + 'RuleDataArgs', +] + +@pulumi.input_type +class RuleDataArgs: + def __init__(__self__, *, + description: pulumi.Input[str], + dest_content: pulumi.Input[str], + dest_type: pulumi.Input[str], + rule_action: pulumi.Input[str], + source_content: pulumi.Input[str], + source_type: pulumi.Input[str], + order_index: Optional[pulumi.Input[str]] = None, + port: Optional[pulumi.Input[str]] = None, + protocol: Optional[pulumi.Input[str]] = None, + service_template_id: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] description: Description. + :param pulumi.Input[str] dest_content: Destination example: `net`: IP/CIDR (192.168.0.2); `template`: parameter template (ipm-dyodhpby); `instance`: asset instance (ins-123456); `resourcegroup`: asset group (/all groups/group 1/subgroup 1); `tag`: resource tag ({"Key":"tag key","Value":"tag value"}); `region`: region (ap-gaungzhou). + :param pulumi.Input[str] dest_type: Access destination type. Valid values: net|template|instance|resourcegroup|tag|region. + :param pulumi.Input[str] rule_action: The action that Cloud Firewall performs on the traffic. Valid values: `accept`: allow, `drop`: deny. + :param pulumi.Input[str] source_content: Source example: `net`: IP/CIDR (192.168.0.2); `template`: parameter template (ipm-dyodhpby); `instance`: asset instance (ins-123456); `resourcegroup`: asset group (/all groups/group 1/subgroup 1); `tag`: resource tag ({"Key":"tag key","Value":"tag value"}); `region`: region (ap-gaungzhou). + :param pulumi.Input[str] source_type: Access source type. Valid values: net|template|instance|resourcegroup|tag|region. + :param pulumi.Input[str] order_index: Rule priority. + :param pulumi.Input[str] port: The port to apply access control rules. Valid values: `-1/-1`: all ports, `80`: port 80. + :param pulumi.Input[str] protocol: Protocol. TCP/UDP/ICMP/ANY. + :param pulumi.Input[str] service_template_id: Parameter template ID of port and protocol type; mutually exclusive with Protocol and Port. + """ + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "dest_content", dest_content) + pulumi.set(__self__, "dest_type", dest_type) + pulumi.set(__self__, "rule_action", rule_action) + pulumi.set(__self__, "source_content", source_content) + pulumi.set(__self__, "source_type", source_type) + if order_index is not None: + pulumi.set(__self__, "order_index", order_index) + if port is not None: + pulumi.set(__self__, "port", port) + if protocol is not None: + pulumi.set(__self__, "protocol", protocol) + if service_template_id is not None: + pulumi.set(__self__, "service_template_id", service_template_id) + + @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="destContent") + def dest_content(self) -> pulumi.Input[str]: + """ + Destination example: `net`: IP/CIDR (192.168.0.2); `template`: parameter template (ipm-dyodhpby); `instance`: asset instance (ins-123456); `resourcegroup`: asset group (/all groups/group 1/subgroup 1); `tag`: resource tag ({"Key":"tag key","Value":"tag value"}); `region`: region (ap-gaungzhou). + """ + return pulumi.get(self, "dest_content") + + @dest_content.setter + def dest_content(self, value: pulumi.Input[str]): + pulumi.set(self, "dest_content", value) + + @property + @pulumi.getter(name="destType") + def dest_type(self) -> pulumi.Input[str]: + """ + Access destination type. Valid values: net|template|instance|resourcegroup|tag|region. + """ + return pulumi.get(self, "dest_type") + + @dest_type.setter + def dest_type(self, value: pulumi.Input[str]): + pulumi.set(self, "dest_type", value) + + @property + @pulumi.getter(name="ruleAction") + def rule_action(self) -> pulumi.Input[str]: + """ + The action that Cloud Firewall performs on the traffic. Valid values: `accept`: allow, `drop`: deny. + """ + return pulumi.get(self, "rule_action") + + @rule_action.setter + def rule_action(self, value: pulumi.Input[str]): + pulumi.set(self, "rule_action", value) + + @property + @pulumi.getter(name="sourceContent") + def source_content(self) -> pulumi.Input[str]: + """ + Source example: `net`: IP/CIDR (192.168.0.2); `template`: parameter template (ipm-dyodhpby); `instance`: asset instance (ins-123456); `resourcegroup`: asset group (/all groups/group 1/subgroup 1); `tag`: resource tag ({"Key":"tag key","Value":"tag value"}); `region`: region (ap-gaungzhou). + """ + return pulumi.get(self, "source_content") + + @source_content.setter + def source_content(self, value: pulumi.Input[str]): + pulumi.set(self, "source_content", value) + + @property + @pulumi.getter(name="sourceType") + def source_type(self) -> pulumi.Input[str]: + """ + Access source type. Valid values: net|template|instance|resourcegroup|tag|region. + """ + return pulumi.get(self, "source_type") + + @source_type.setter + def source_type(self, value: pulumi.Input[str]): + pulumi.set(self, "source_type", value) + + @property + @pulumi.getter(name="orderIndex") + def order_index(self) -> Optional[pulumi.Input[str]]: + """ + Rule priority. + """ + return pulumi.get(self, "order_index") + + @order_index.setter + def order_index(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "order_index", value) + + @property + @pulumi.getter + def port(self) -> Optional[pulumi.Input[str]]: + """ + The port to apply access control rules. Valid values: `-1/-1`: all ports, `80`: port 80. + """ + return pulumi.get(self, "port") + + @port.setter + def port(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "port", value) + + @property + @pulumi.getter + def protocol(self) -> Optional[pulumi.Input[str]]: + """ + Protocol. TCP/UDP/ICMP/ANY. + """ + return pulumi.get(self, "protocol") + + @protocol.setter + def protocol(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "protocol", value) + + @property + @pulumi.getter(name="serviceTemplateId") + def service_template_id(self) -> Optional[pulumi.Input[str]]: + """ + Parameter template ID of port and protocol type; mutually exclusive with Protocol and Port. + """ + return pulumi.get(self, "service_template_id") + + @service_template_id.setter + def service_template_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "service_template_id", value) + + diff --git a/sdk/python/tencentcloud_iac_pulumi/sg/outputs.py b/sdk/python/tencentcloud_iac_pulumi/sg/outputs.py new file mode 100644 index 000000000..6c7ccc31a --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/sg/outputs.py @@ -0,0 +1,165 @@ +# 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__ = [ + 'RuleData', +] + +@pulumi.output_type +class RuleData(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "destContent": + suggest = "dest_content" + elif key == "destType": + suggest = "dest_type" + elif key == "ruleAction": + suggest = "rule_action" + elif key == "sourceContent": + suggest = "source_content" + elif key == "sourceType": + suggest = "source_type" + elif key == "orderIndex": + suggest = "order_index" + elif key == "serviceTemplateId": + suggest = "service_template_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RuleData. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RuleData.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RuleData.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + description: str, + dest_content: str, + dest_type: str, + rule_action: str, + source_content: str, + source_type: str, + order_index: Optional[str] = None, + port: Optional[str] = None, + protocol: Optional[str] = None, + service_template_id: Optional[str] = None): + """ + :param str description: Description. + :param str dest_content: Destination example: `net`: IP/CIDR (192.168.0.2); `template`: parameter template (ipm-dyodhpby); `instance`: asset instance (ins-123456); `resourcegroup`: asset group (/all groups/group 1/subgroup 1); `tag`: resource tag ({"Key":"tag key","Value":"tag value"}); `region`: region (ap-gaungzhou). + :param str dest_type: Access destination type. Valid values: net|template|instance|resourcegroup|tag|region. + :param str rule_action: The action that Cloud Firewall performs on the traffic. Valid values: `accept`: allow, `drop`: deny. + :param str source_content: Source example: `net`: IP/CIDR (192.168.0.2); `template`: parameter template (ipm-dyodhpby); `instance`: asset instance (ins-123456); `resourcegroup`: asset group (/all groups/group 1/subgroup 1); `tag`: resource tag ({"Key":"tag key","Value":"tag value"}); `region`: region (ap-gaungzhou). + :param str source_type: Access source type. Valid values: net|template|instance|resourcegroup|tag|region. + :param str order_index: Rule priority. + :param str port: The port to apply access control rules. Valid values: `-1/-1`: all ports, `80`: port 80. + :param str protocol: Protocol. TCP/UDP/ICMP/ANY. + :param str service_template_id: Parameter template ID of port and protocol type; mutually exclusive with Protocol and Port. + """ + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "dest_content", dest_content) + pulumi.set(__self__, "dest_type", dest_type) + pulumi.set(__self__, "rule_action", rule_action) + pulumi.set(__self__, "source_content", source_content) + pulumi.set(__self__, "source_type", source_type) + if order_index is not None: + pulumi.set(__self__, "order_index", order_index) + if port is not None: + pulumi.set(__self__, "port", port) + if protocol is not None: + pulumi.set(__self__, "protocol", protocol) + if service_template_id is not None: + pulumi.set(__self__, "service_template_id", service_template_id) + + @property + @pulumi.getter + def description(self) -> str: + """ + Description. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="destContent") + def dest_content(self) -> str: + """ + Destination example: `net`: IP/CIDR (192.168.0.2); `template`: parameter template (ipm-dyodhpby); `instance`: asset instance (ins-123456); `resourcegroup`: asset group (/all groups/group 1/subgroup 1); `tag`: resource tag ({"Key":"tag key","Value":"tag value"}); `region`: region (ap-gaungzhou). + """ + return pulumi.get(self, "dest_content") + + @property + @pulumi.getter(name="destType") + def dest_type(self) -> str: + """ + Access destination type. Valid values: net|template|instance|resourcegroup|tag|region. + """ + return pulumi.get(self, "dest_type") + + @property + @pulumi.getter(name="ruleAction") + def rule_action(self) -> str: + """ + The action that Cloud Firewall performs on the traffic. Valid values: `accept`: allow, `drop`: deny. + """ + return pulumi.get(self, "rule_action") + + @property + @pulumi.getter(name="sourceContent") + def source_content(self) -> str: + """ + Source example: `net`: IP/CIDR (192.168.0.2); `template`: parameter template (ipm-dyodhpby); `instance`: asset instance (ins-123456); `resourcegroup`: asset group (/all groups/group 1/subgroup 1); `tag`: resource tag ({"Key":"tag key","Value":"tag value"}); `region`: region (ap-gaungzhou). + """ + return pulumi.get(self, "source_content") + + @property + @pulumi.getter(name="sourceType") + def source_type(self) -> str: + """ + Access source type. Valid values: net|template|instance|resourcegroup|tag|region. + """ + return pulumi.get(self, "source_type") + + @property + @pulumi.getter(name="orderIndex") + def order_index(self) -> Optional[str]: + """ + Rule priority. + """ + return pulumi.get(self, "order_index") + + @property + @pulumi.getter + def port(self) -> Optional[str]: + """ + The port to apply access control rules. Valid values: `-1/-1`: all ports, `80`: port 80. + """ + return pulumi.get(self, "port") + + @property + @pulumi.getter + def protocol(self) -> Optional[str]: + """ + Protocol. TCP/UDP/ICMP/ANY. + """ + return pulumi.get(self, "protocol") + + @property + @pulumi.getter(name="serviceTemplateId") + def service_template_id(self) -> Optional[str]: + """ + Parameter template ID of port and protocol type; mutually exclusive with Protocol and Port. + """ + return pulumi.get(self, "service_template_id") + + diff --git a/sdk/python/tencentcloud_iac_pulumi/sg/rule.py b/sdk/python/tencentcloud_iac_pulumi/sg/rule.py new file mode 100644 index 000000000..6b7e264bc --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/sg/rule.py @@ -0,0 +1,257 @@ +# 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__ = ['RuleArgs', 'Rule'] + +@pulumi.input_type +class RuleArgs: + def __init__(__self__, *, + data: pulumi.Input['RuleDataArgs'], + enable: Optional[pulumi.Input[int]] = None): + """ + The set of arguments for constructing a Rule resource. + :param pulumi.Input['RuleDataArgs'] data: Creates rule data. + :param pulumi.Input[int] enable: Rule status. `0` is off, `1` is on. This parameter is not required or is 1 when creating. + """ + pulumi.set(__self__, "data", data) + if enable is not None: + pulumi.set(__self__, "enable", enable) + + @property + @pulumi.getter + def data(self) -> pulumi.Input['RuleDataArgs']: + """ + Creates rule data. + """ + return pulumi.get(self, "data") + + @data.setter + def data(self, value: pulumi.Input['RuleDataArgs']): + pulumi.set(self, "data", value) + + @property + @pulumi.getter + def enable(self) -> Optional[pulumi.Input[int]]: + """ + Rule status. `0` is off, `1` is on. This parameter is not required or is 1 when creating. + """ + return pulumi.get(self, "enable") + + @enable.setter + def enable(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "enable", value) + + +@pulumi.input_type +class _RuleState: + def __init__(__self__, *, + data: Optional[pulumi.Input['RuleDataArgs']] = None, + enable: Optional[pulumi.Input[int]] = None): + """ + Input properties used for looking up and filtering Rule resources. + :param pulumi.Input['RuleDataArgs'] data: Creates rule data. + :param pulumi.Input[int] enable: Rule status. `0` is off, `1` is on. This parameter is not required or is 1 when creating. + """ + if data is not None: + pulumi.set(__self__, "data", data) + if enable is not None: + pulumi.set(__self__, "enable", enable) + + @property + @pulumi.getter + def data(self) -> Optional[pulumi.Input['RuleDataArgs']]: + """ + Creates rule data. + """ + return pulumi.get(self, "data") + + @data.setter + def data(self, value: Optional[pulumi.Input['RuleDataArgs']]): + pulumi.set(self, "data", value) + + @property + @pulumi.getter + def enable(self) -> Optional[pulumi.Input[int]]: + """ + Rule status. `0` is off, `1` is on. This parameter is not required or is 1 when creating. + """ + return pulumi.get(self, "enable") + + @enable.setter + def enable(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "enable", value) + + +class Rule(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + data: Optional[pulumi.Input[pulumi.InputType['RuleDataArgs']]] = None, + enable: Optional[pulumi.Input[int]] = None, + __props__=None): + """ + Provides a resource to create a cfw sg_rule + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + sg_rule = tencentcloud.sg.Rule("sgRule", + data=tencentcloud.sg.RuleDataArgs( + description="1111112", + dest_content="0.0.0.0/0", + dest_type="net", + port="-1/-1", + protocol="ANY", + rule_action="accept", + service_template_id="ppm-l9u5pf1y", + source_content="0.0.0.0/0", + source_type="net", + ), + enable=1) + ``` + + + ## Import + + cfw sg_rule can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Sg/rule:Rule sg_rule rule_id + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[pulumi.InputType['RuleDataArgs']] data: Creates rule data. + :param pulumi.Input[int] enable: Rule status. `0` is off, `1` is on. This parameter is not required or is 1 when creating. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: RuleArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a cfw sg_rule + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + sg_rule = tencentcloud.sg.Rule("sgRule", + data=tencentcloud.sg.RuleDataArgs( + description="1111112", + dest_content="0.0.0.0/0", + dest_type="net", + port="-1/-1", + protocol="ANY", + rule_action="accept", + service_template_id="ppm-l9u5pf1y", + source_content="0.0.0.0/0", + source_type="net", + ), + enable=1) + ``` + + + ## Import + + cfw sg_rule can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Sg/rule:Rule sg_rule rule_id + ``` + + :param str resource_name: The name of the resource. + :param RuleArgs 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(RuleArgs, 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, + data: Optional[pulumi.Input[pulumi.InputType['RuleDataArgs']]] = None, + enable: 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__ = RuleArgs.__new__(RuleArgs) + + if data is None and not opts.urn: + raise TypeError("Missing required property 'data'") + __props__.__dict__["data"] = data + __props__.__dict__["enable"] = enable + super(Rule, __self__).__init__( + 'tencentcloud:Sg/rule:Rule', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + data: Optional[pulumi.Input[pulumi.InputType['RuleDataArgs']]] = None, + enable: Optional[pulumi.Input[int]] = None) -> 'Rule': + """ + Get an existing Rule 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['RuleDataArgs']] data: Creates rule data. + :param pulumi.Input[int] enable: Rule status. `0` is off, `1` is on. This parameter is not required or is 1 when creating. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _RuleState.__new__(_RuleState) + + __props__.__dict__["data"] = data + __props__.__dict__["enable"] = enable + return Rule(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def data(self) -> pulumi.Output['outputs.RuleData']: + """ + Creates rule data. + """ + return pulumi.get(self, "data") + + @property + @pulumi.getter + def enable(self) -> pulumi.Output[int]: + """ + Rule status. `0` is off, `1` is on. This parameter is not required or is 1 when creating. + """ + return pulumi.get(self, "enable") + diff --git a/sdk/python/tencentcloud_iac_pulumi/sqlserver/instance.py b/sdk/python/tencentcloud_iac_pulumi/sqlserver/instance.py index 99878e1ba..88d5781f8 100644 --- a/sdk/python/tencentcloud_iac_pulumi/sqlserver/instance.py +++ b/sdk/python/tencentcloud_iac_pulumi/sqlserver/instance.py @@ -44,7 +44,7 @@ def __init__(__self__, *, :param pulumi.Input[str] availability_zone: Availability zone. :param pulumi.Input[str] charge_type: Pay type of the SQL Server instance. Available values `PREPAID`, `POSTPAID_BY_HOUR`. :param pulumi.Input[str] engine_version: Version of the SQL Server database engine. Allowed values are `2008R2`(SQL Server 2008 Enterprise), `2012SP3`(SQL Server 2012 Enterprise), `2016SP1` (SQL Server 2016 Enterprise), `201602`(SQL Server 2016 Standard) and `2017`(SQL Server 2017 Enterprise). Default is `2008R2`. - :param pulumi.Input[str] ha_type: Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. + :param pulumi.Input[str] ha_type: It has been deprecated from version 1.81.136. Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. :param pulumi.Input[str] maintenance_start_time: Start time of the maintenance in one day, format like `HH:mm`. :param pulumi.Input[int] maintenance_time_span: The timespan of maintenance in one day, unit is hour. :param pulumi.Input[Sequence[pulumi.Input[int]]] maintenance_week_sets: A list of integer indicates weekly maintenance. For example, [2,7] presents do weekly maintenance on every Tuesday and Sunday. @@ -71,6 +71,9 @@ def __init__(__self__, *, pulumi.set(__self__, "charge_type", charge_type) if engine_version is not None: pulumi.set(__self__, "engine_version", engine_version) + if ha_type is not None: + warnings.warn("""It has been deprecated from version 1.81.136.""", DeprecationWarning) + pulumi.log.warn("""ha_type is deprecated: It has been deprecated from version 1.81.136.""") if ha_type is not None: pulumi.set(__self__, "ha_type", ha_type) if maintenance_start_time is not None: @@ -191,8 +194,11 @@ def engine_version(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="haType") def ha_type(self) -> Optional[pulumi.Input[str]]: """ - Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. + It has been deprecated from version 1.81.136. Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. """ + warnings.warn("""It has been deprecated from version 1.81.136.""", DeprecationWarning) + pulumi.log.warn("""ha_type is deprecated: It has been deprecated from version 1.81.136.""") + return pulumi.get(self, "ha_type") @ha_type.setter @@ -396,7 +402,7 @@ def __init__(__self__, *, :param pulumi.Input[str] charge_type: Pay type of the SQL Server instance. Available values `PREPAID`, `POSTPAID_BY_HOUR`. :param pulumi.Input[str] create_time: Create time of the SQL Server instance. :param pulumi.Input[str] engine_version: Version of the SQL Server database engine. Allowed values are `2008R2`(SQL Server 2008 Enterprise), `2012SP3`(SQL Server 2012 Enterprise), `2016SP1` (SQL Server 2016 Enterprise), `201602`(SQL Server 2016 Standard) and `2017`(SQL Server 2017 Enterprise). Default is `2008R2`. - :param pulumi.Input[str] ha_type: Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. + :param pulumi.Input[str] ha_type: It has been deprecated from version 1.81.136. Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. :param pulumi.Input[str] maintenance_start_time: Start time of the maintenance in one day, format like `HH:mm`. :param pulumi.Input[int] maintenance_time_span: The timespan of maintenance in one day, unit is hour. :param pulumi.Input[Sequence[pulumi.Input[int]]] maintenance_week_sets: A list of integer indicates weekly maintenance. For example, [2,7] presents do weekly maintenance on every Tuesday and Sunday. @@ -429,6 +435,9 @@ def __init__(__self__, *, pulumi.set(__self__, "create_time", create_time) if engine_version is not None: pulumi.set(__self__, "engine_version", engine_version) + if ha_type is not None: + warnings.warn("""It has been deprecated from version 1.81.136.""", DeprecationWarning) + pulumi.log.warn("""ha_type is deprecated: It has been deprecated from version 1.81.136.""") if ha_type is not None: pulumi.set(__self__, "ha_type", ha_type) if maintenance_start_time is not None: @@ -549,8 +558,11 @@ def engine_version(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="haType") def ha_type(self) -> Optional[pulumi.Input[str]]: """ - Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. + It has been deprecated from version 1.81.136. Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. """ + warnings.warn("""It has been deprecated from version 1.81.136.""", DeprecationWarning) + pulumi.log.warn("""ha_type is deprecated: It has been deprecated from version 1.81.136.""") + return pulumi.get(self, "ha_type") @ha_type.setter @@ -860,7 +872,7 @@ def __init__(__self__, :param pulumi.Input[str] availability_zone: Availability zone. :param pulumi.Input[str] charge_type: Pay type of the SQL Server instance. Available values `PREPAID`, `POSTPAID_BY_HOUR`. :param pulumi.Input[str] engine_version: Version of the SQL Server database engine. Allowed values are `2008R2`(SQL Server 2008 Enterprise), `2012SP3`(SQL Server 2012 Enterprise), `2016SP1` (SQL Server 2016 Enterprise), `201602`(SQL Server 2016 Standard) and `2017`(SQL Server 2017 Enterprise). Default is `2008R2`. - :param pulumi.Input[str] ha_type: Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. + :param pulumi.Input[str] ha_type: It has been deprecated from version 1.81.136. Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. :param pulumi.Input[str] maintenance_start_time: Start time of the maintenance in one day, format like `HH:mm`. :param pulumi.Input[int] maintenance_time_span: The timespan of maintenance in one day, unit is hour. :param pulumi.Input[Sequence[pulumi.Input[int]]] maintenance_week_sets: A list of integer indicates weekly maintenance. For example, [2,7] presents do weekly maintenance on every Tuesday and Sunday. @@ -1044,7 +1056,7 @@ def get(resource_name: str, :param pulumi.Input[str] charge_type: Pay type of the SQL Server instance. Available values `PREPAID`, `POSTPAID_BY_HOUR`. :param pulumi.Input[str] create_time: Create time of the SQL Server instance. :param pulumi.Input[str] engine_version: Version of the SQL Server database engine. Allowed values are `2008R2`(SQL Server 2008 Enterprise), `2012SP3`(SQL Server 2012 Enterprise), `2016SP1` (SQL Server 2016 Enterprise), `201602`(SQL Server 2016 Standard) and `2017`(SQL Server 2017 Enterprise). Default is `2008R2`. - :param pulumi.Input[str] ha_type: Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. + :param pulumi.Input[str] ha_type: It has been deprecated from version 1.81.136. Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. :param pulumi.Input[str] maintenance_start_time: Start time of the maintenance in one day, format like `HH:mm`. :param pulumi.Input[int] maintenance_time_span: The timespan of maintenance in one day, unit is hour. :param pulumi.Input[Sequence[pulumi.Input[int]]] maintenance_week_sets: A list of integer indicates weekly maintenance. For example, [2,7] presents do weekly maintenance on every Tuesday and Sunday. @@ -1149,8 +1161,11 @@ def engine_version(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="haType") def ha_type(self) -> pulumi.Output[Optional[str]]: """ - Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. + It has been deprecated from version 1.81.136. Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster). Default is `DUAL`. """ + warnings.warn("""It has been deprecated from version 1.81.136.""", DeprecationWarning) + pulumi.log.warn("""ha_type is deprecated: It has been deprecated from version 1.81.136.""") + return pulumi.get(self, "ha_type") @property @@ -1187,7 +1202,7 @@ def memory(self) -> pulumi.Output[int]: @property @pulumi.getter(name="multiZones") - def multi_zones(self) -> pulumi.Output[Optional[bool]]: + def multi_zones(self) -> pulumi.Output[bool]: """ Indicate whether to deploy across availability zones. """ diff --git a/sdk/python/tencentcloud_iac_pulumi/ssl/__init__.py b/sdk/python/tencentcloud_iac_pulumi/ssl/__init__.py index 933a09047..f1f32f6ca 100644 --- a/sdk/python/tencentcloud_iac_pulumi/ssl/__init__.py +++ b/sdk/python/tencentcloud_iac_pulumi/ssl/__init__.py @@ -7,6 +7,7 @@ # Export this package's modules as members: from .certificate import * from .check_certificate_chain_operation import * +from .check_certificate_domain_verification_operation import * from .complete_certificate_operation import * from .deploy_certificate_instance_operation import * from .deploy_certificate_record_retry_operation import * diff --git a/sdk/python/tencentcloud_iac_pulumi/ssl/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/ssl/_inputs.py index 29f502bcb..ecc35e8b6 100644 --- a/sdk/python/tencentcloud_iac_pulumi/ssl/_inputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/ssl/_inputs.py @@ -10,6 +10,7 @@ from .. import _utilities __all__ = [ + 'CheckCertificateDomainVerificationOperationVerificationResultArgs', 'FreeCertificateDvAuthArgs', 'PayCertificateDvAuthArgs', 'PayCertificateInformationArgs', @@ -27,6 +28,141 @@ 'GetDescribeHostWafInstanceListFilterArgs', ] +@pulumi.input_type +class CheckCertificateDomainVerificationOperationVerificationResultArgs: + def __init__(__self__, *, + ca_check: Optional[pulumi.Input[int]] = None, + check_values: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + domain: Optional[pulumi.Input[str]] = None, + frequently: Optional[pulumi.Input[bool]] = None, + issued: Optional[pulumi.Input[bool]] = None, + local_check: Optional[pulumi.Input[int]] = None, + local_check_fail_reason: Optional[pulumi.Input[str]] = None, + verify_type: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[int] ca_check: CA inspection results. + :param pulumi.Input[Sequence[pulumi.Input[str]]] check_values: Detected values. + :param pulumi.Input[str] domain: Domain name. + :param pulumi.Input[bool] frequently: Whether frequent requests. + :param pulumi.Input[bool] issued: Whether issued. + :param pulumi.Input[int] local_check: Local inspection results. + :param pulumi.Input[str] local_check_fail_reason: Check the reason for the failure. + :param pulumi.Input[str] verify_type: Domain Verify Type. + """ + if ca_check is not None: + pulumi.set(__self__, "ca_check", ca_check) + if check_values is not None: + pulumi.set(__self__, "check_values", check_values) + if domain is not None: + pulumi.set(__self__, "domain", domain) + if frequently is not None: + pulumi.set(__self__, "frequently", frequently) + if issued is not None: + pulumi.set(__self__, "issued", issued) + if local_check is not None: + pulumi.set(__self__, "local_check", local_check) + if local_check_fail_reason is not None: + pulumi.set(__self__, "local_check_fail_reason", local_check_fail_reason) + if verify_type is not None: + pulumi.set(__self__, "verify_type", verify_type) + + @property + @pulumi.getter(name="caCheck") + def ca_check(self) -> Optional[pulumi.Input[int]]: + """ + CA inspection results. + """ + return pulumi.get(self, "ca_check") + + @ca_check.setter + def ca_check(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ca_check", value) + + @property + @pulumi.getter(name="checkValues") + def check_values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Detected values. + """ + return pulumi.get(self, "check_values") + + @check_values.setter + def check_values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "check_values", value) + + @property + @pulumi.getter + def domain(self) -> Optional[pulumi.Input[str]]: + """ + Domain name. + """ + return pulumi.get(self, "domain") + + @domain.setter + def domain(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "domain", value) + + @property + @pulumi.getter + def frequently(self) -> Optional[pulumi.Input[bool]]: + """ + Whether frequent requests. + """ + return pulumi.get(self, "frequently") + + @frequently.setter + def frequently(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "frequently", value) + + @property + @pulumi.getter + def issued(self) -> Optional[pulumi.Input[bool]]: + """ + Whether issued. + """ + return pulumi.get(self, "issued") + + @issued.setter + def issued(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "issued", value) + + @property + @pulumi.getter(name="localCheck") + def local_check(self) -> Optional[pulumi.Input[int]]: + """ + Local inspection results. + """ + return pulumi.get(self, "local_check") + + @local_check.setter + def local_check(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "local_check", value) + + @property + @pulumi.getter(name="localCheckFailReason") + def local_check_fail_reason(self) -> Optional[pulumi.Input[str]]: + """ + Check the reason for the failure. + """ + return pulumi.get(self, "local_check_fail_reason") + + @local_check_fail_reason.setter + def local_check_fail_reason(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "local_check_fail_reason", value) + + @property + @pulumi.getter(name="verifyType") + def verify_type(self) -> Optional[pulumi.Input[str]]: + """ + Domain Verify Type. + """ + return pulumi.get(self, "verify_type") + + @verify_type.setter + def verify_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "verify_type", value) + + @pulumi.input_type class FreeCertificateDvAuthArgs: def __init__(__self__, *, diff --git a/sdk/python/tencentcloud_iac_pulumi/ssl/check_certificate_domain_verification_operation.py b/sdk/python/tencentcloud_iac_pulumi/ssl/check_certificate_domain_verification_operation.py new file mode 100644 index 000000000..0da08bc58 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/ssl/check_certificate_domain_verification_operation.py @@ -0,0 +1,228 @@ +# 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__ = ['CheckCertificateDomainVerificationOperationArgs', 'CheckCertificateDomainVerificationOperation'] + +@pulumi.input_type +class CheckCertificateDomainVerificationOperationArgs: + def __init__(__self__, *, + certificate_id: pulumi.Input[str]): + """ + The set of arguments for constructing a CheckCertificateDomainVerificationOperation resource. + :param pulumi.Input[str] certificate_id: The certificate ID. + """ + pulumi.set(__self__, "certificate_id", certificate_id) + + @property + @pulumi.getter(name="certificateId") + def certificate_id(self) -> pulumi.Input[str]: + """ + The certificate ID. + """ + return pulumi.get(self, "certificate_id") + + @certificate_id.setter + def certificate_id(self, value: pulumi.Input[str]): + pulumi.set(self, "certificate_id", value) + + +@pulumi.input_type +class _CheckCertificateDomainVerificationOperationState: + def __init__(__self__, *, + certificate_id: Optional[pulumi.Input[str]] = None, + verification_results: Optional[pulumi.Input[Sequence[pulumi.Input['CheckCertificateDomainVerificationOperationVerificationResultArgs']]]] = None): + """ + Input properties used for looking up and filtering CheckCertificateDomainVerificationOperation resources. + :param pulumi.Input[str] certificate_id: The certificate ID. + :param pulumi.Input[Sequence[pulumi.Input['CheckCertificateDomainVerificationOperationVerificationResultArgs']]] verification_results: Domain name verification results. + """ + if certificate_id is not None: + pulumi.set(__self__, "certificate_id", certificate_id) + if verification_results is not None: + pulumi.set(__self__, "verification_results", verification_results) + + @property + @pulumi.getter(name="certificateId") + def certificate_id(self) -> Optional[pulumi.Input[str]]: + """ + The certificate ID. + """ + return pulumi.get(self, "certificate_id") + + @certificate_id.setter + def certificate_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "certificate_id", value) + + @property + @pulumi.getter(name="verificationResults") + def verification_results(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CheckCertificateDomainVerificationOperationVerificationResultArgs']]]]: + """ + Domain name verification results. + """ + return pulumi.get(self, "verification_results") + + @verification_results.setter + def verification_results(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CheckCertificateDomainVerificationOperationVerificationResultArgs']]]]): + pulumi.set(self, "verification_results", value) + + +class CheckCertificateDomainVerificationOperation(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + certificate_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to create a ssl Check Certificate Domain Verification + + > **NOTE:** You can customize the maximum timeout time by setting parameter `timeouts`, which defaults to 15 minutes. + + ## Example Usage + + ### Check certificate domain + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.ssl.CheckCertificateDomainVerificationOperation("example", certificate_id="6BE701Jx") + ``` + + + ### Check certificate domain and set the maximum timeout period + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.ssl.CheckCertificateDomainVerificationOperation("example", certificate_id="6BE701Jx") + ``` + + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] certificate_id: The certificate ID. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: CheckCertificateDomainVerificationOperationArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a ssl Check Certificate Domain Verification + + > **NOTE:** You can customize the maximum timeout time by setting parameter `timeouts`, which defaults to 15 minutes. + + ## Example Usage + + ### Check certificate domain + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.ssl.CheckCertificateDomainVerificationOperation("example", certificate_id="6BE701Jx") + ``` + + + ### Check certificate domain and set the maximum timeout period + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.ssl.CheckCertificateDomainVerificationOperation("example", certificate_id="6BE701Jx") + ``` + + + :param str resource_name: The name of the resource. + :param CheckCertificateDomainVerificationOperationArgs 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(CheckCertificateDomainVerificationOperationArgs, 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, + certificate_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__ = CheckCertificateDomainVerificationOperationArgs.__new__(CheckCertificateDomainVerificationOperationArgs) + + if certificate_id is None and not opts.urn: + raise TypeError("Missing required property 'certificate_id'") + __props__.__dict__["certificate_id"] = certificate_id + __props__.__dict__["verification_results"] = None + super(CheckCertificateDomainVerificationOperation, __self__).__init__( + 'tencentcloud:Ssl/checkCertificateDomainVerificationOperation:CheckCertificateDomainVerificationOperation', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + certificate_id: Optional[pulumi.Input[str]] = None, + verification_results: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CheckCertificateDomainVerificationOperationVerificationResultArgs']]]]] = None) -> 'CheckCertificateDomainVerificationOperation': + """ + Get an existing CheckCertificateDomainVerificationOperation 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] certificate_id: The certificate ID. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CheckCertificateDomainVerificationOperationVerificationResultArgs']]]] verification_results: Domain name verification results. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _CheckCertificateDomainVerificationOperationState.__new__(_CheckCertificateDomainVerificationOperationState) + + __props__.__dict__["certificate_id"] = certificate_id + __props__.__dict__["verification_results"] = verification_results + return CheckCertificateDomainVerificationOperation(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="certificateId") + def certificate_id(self) -> pulumi.Output[str]: + """ + The certificate ID. + """ + return pulumi.get(self, "certificate_id") + + @property + @pulumi.getter(name="verificationResults") + def verification_results(self) -> pulumi.Output[Sequence['outputs.CheckCertificateDomainVerificationOperationVerificationResult']]: + """ + Domain name verification results. + """ + return pulumi.get(self, "verification_results") + diff --git a/sdk/python/tencentcloud_iac_pulumi/ssl/outputs.py b/sdk/python/tencentcloud_iac_pulumi/ssl/outputs.py index d6effb207..5a4b95e23 100644 --- a/sdk/python/tencentcloud_iac_pulumi/ssl/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/ssl/outputs.py @@ -11,6 +11,7 @@ from . import outputs __all__ = [ + 'CheckCertificateDomainVerificationOperationVerificationResult', 'FreeCertificateDvAuth', 'PayCertificateDvAuth', 'PayCertificateInformation', @@ -62,6 +63,134 @@ 'GetDescribeManagersManagerResult', ] +@pulumi.output_type +class CheckCertificateDomainVerificationOperationVerificationResult(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "caCheck": + suggest = "ca_check" + elif key == "checkValues": + suggest = "check_values" + elif key == "localCheck": + suggest = "local_check" + elif key == "localCheckFailReason": + suggest = "local_check_fail_reason" + elif key == "verifyType": + suggest = "verify_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CheckCertificateDomainVerificationOperationVerificationResult. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CheckCertificateDomainVerificationOperationVerificationResult.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CheckCertificateDomainVerificationOperationVerificationResult.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + ca_check: Optional[int] = None, + check_values: Optional[Sequence[str]] = None, + domain: Optional[str] = None, + frequently: Optional[bool] = None, + issued: Optional[bool] = None, + local_check: Optional[int] = None, + local_check_fail_reason: Optional[str] = None, + verify_type: Optional[str] = None): + """ + :param int ca_check: CA inspection results. + :param Sequence[str] check_values: Detected values. + :param str domain: Domain name. + :param bool frequently: Whether frequent requests. + :param bool issued: Whether issued. + :param int local_check: Local inspection results. + :param str local_check_fail_reason: Check the reason for the failure. + :param str verify_type: Domain Verify Type. + """ + if ca_check is not None: + pulumi.set(__self__, "ca_check", ca_check) + if check_values is not None: + pulumi.set(__self__, "check_values", check_values) + if domain is not None: + pulumi.set(__self__, "domain", domain) + if frequently is not None: + pulumi.set(__self__, "frequently", frequently) + if issued is not None: + pulumi.set(__self__, "issued", issued) + if local_check is not None: + pulumi.set(__self__, "local_check", local_check) + if local_check_fail_reason is not None: + pulumi.set(__self__, "local_check_fail_reason", local_check_fail_reason) + if verify_type is not None: + pulumi.set(__self__, "verify_type", verify_type) + + @property + @pulumi.getter(name="caCheck") + def ca_check(self) -> Optional[int]: + """ + CA inspection results. + """ + return pulumi.get(self, "ca_check") + + @property + @pulumi.getter(name="checkValues") + def check_values(self) -> Optional[Sequence[str]]: + """ + Detected values. + """ + return pulumi.get(self, "check_values") + + @property + @pulumi.getter + def domain(self) -> Optional[str]: + """ + Domain name. + """ + return pulumi.get(self, "domain") + + @property + @pulumi.getter + def frequently(self) -> Optional[bool]: + """ + Whether frequent requests. + """ + return pulumi.get(self, "frequently") + + @property + @pulumi.getter + def issued(self) -> Optional[bool]: + """ + Whether issued. + """ + return pulumi.get(self, "issued") + + @property + @pulumi.getter(name="localCheck") + def local_check(self) -> Optional[int]: + """ + Local inspection results. + """ + return pulumi.get(self, "local_check") + + @property + @pulumi.getter(name="localCheckFailReason") + def local_check_fail_reason(self) -> Optional[str]: + """ + Check the reason for the failure. + """ + return pulumi.get(self, "local_check_fail_reason") + + @property + @pulumi.getter(name="verifyType") + def verify_type(self) -> Optional[str]: + """ + Domain Verify Type. + """ + return pulumi.get(self, "verify_type") + + @pulumi.output_type class FreeCertificateDvAuth(dict): @staticmethod @@ -602,11 +731,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 +749,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 +767,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 +855,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 +903,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/subscribe/__init__.py b/sdk/python/tencentcloud_iac_pulumi/subscribe/__init__.py new file mode 100644 index 000000000..c3985530a --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/subscribe/__init__.py @@ -0,0 +1,8 @@ +# 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 .private_zone_service import * diff --git a/sdk/python/tencentcloud_iac_pulumi/subscribe/private_zone_service.py b/sdk/python/tencentcloud_iac_pulumi/subscribe/private_zone_service.py new file mode 100644 index 000000000..34a5bbb9a --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/subscribe/private_zone_service.py @@ -0,0 +1,149 @@ +# 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__ = ['PrivateZoneServiceArgs', 'PrivateZoneService'] + +@pulumi.input_type +class PrivateZoneServiceArgs: + def __init__(__self__): + """ + The set of arguments for constructing a PrivateZoneService resource. + """ + pass + + +@pulumi.input_type +class _PrivateZoneServiceState: + def __init__(__self__, *, + service_status: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering PrivateZoneService resources. + :param pulumi.Input[str] service_status: Private domain resolution service activation status. + """ + if service_status is not None: + pulumi.set(__self__, "service_status", service_status) + + @property + @pulumi.getter(name="serviceStatus") + def service_status(self) -> Optional[pulumi.Input[str]]: + """ + Private domain resolution service activation status. + """ + return pulumi.get(self, "service_status") + + @service_status.setter + def service_status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "service_status", value) + + +class PrivateZoneService(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + __props__=None): + """ + Provides a resource to create a privatedns subscribe private zone service + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.subscribe.PrivateZoneService("example") + ``` + + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[PrivateZoneServiceArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a privatedns subscribe private zone service + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.subscribe.PrivateZoneService("example") + ``` + + + :param str resource_name: The name of the resource. + :param PrivateZoneServiceArgs 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(PrivateZoneServiceArgs, 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, + __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__ = PrivateZoneServiceArgs.__new__(PrivateZoneServiceArgs) + + __props__.__dict__["service_status"] = None + super(PrivateZoneService, __self__).__init__( + 'tencentcloud:Subscribe/privateZoneService:PrivateZoneService', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + service_status: Optional[pulumi.Input[str]] = None) -> 'PrivateZoneService': + """ + Get an existing PrivateZoneService 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] service_status: Private domain resolution service activation status. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _PrivateZoneServiceState.__new__(_PrivateZoneServiceState) + + __props__.__dict__["service_status"] = service_status + return PrivateZoneService(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="serviceStatus") + def service_status(self) -> pulumi.Output[str]: + """ + Private domain resolution service activation status. + """ + return pulumi.get(self, "service_status") + diff --git a/sdk/python/tencentcloud_iac_pulumi/tcr/tag_retention_rule.py b/sdk/python/tencentcloud_iac_pulumi/tcr/tag_retention_rule.py index 150798344..64a2d47ce 100644 --- a/sdk/python/tencentcloud_iac_pulumi/tcr/tag_retention_rule.py +++ b/sdk/python/tencentcloud_iac_pulumi/tcr/tag_retention_rule.py @@ -217,7 +217,7 @@ def __init__(__self__, ## Example Usage - ### Create a tcr tag retention rule instance + ### Create and enable a tcr tag retention rule instance ```python @@ -246,8 +246,7 @@ def __init__(__self__, key="nDaysSinceLastPush", value=2, ), - cron_setting="daily", - disabled=True) + cron_setting="daily") ``` @@ -270,7 +269,7 @@ def __init__(__self__, ## Example Usage - ### Create a tcr tag retention rule instance + ### Create and enable a tcr tag retention rule instance ```python @@ -299,8 +298,7 @@ def __init__(__self__, key="nDaysSinceLastPush", value=2, ), - cron_setting="daily", - disabled=True) + cron_setting="daily") ``` diff --git a/sdk/python/tencentcloud_iac_pulumi/tcss/__init__.py b/sdk/python/tencentcloud_iac_pulumi/tcss/__init__.py new file mode 100644 index 000000000..9d40e78e8 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/tcss/__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 .image_registry import * +from ._inputs import * +from . import outputs diff --git a/sdk/python/tencentcloud_iac_pulumi/tcss/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/tcss/_inputs.py new file mode 100644 index 000000000..0778f4582 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/tcss/_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__ = [ + 'ImageRegistryConnDetectConfigArgs', +] + +@pulumi.input_type +class ImageRegistryConnDetectConfigArgs: + def __init__(__self__, *, + quuid: Optional[pulumi.Input[str]] = None, + uuid: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] quuid: Host Quuid. + :param pulumi.Input[str] uuid: Host uuid. + """ + if quuid is not None: + pulumi.set(__self__, "quuid", quuid) + if uuid is not None: + pulumi.set(__self__, "uuid", uuid) + + @property + @pulumi.getter + def quuid(self) -> Optional[pulumi.Input[str]]: + """ + Host Quuid. + """ + return pulumi.get(self, "quuid") + + @quuid.setter + def quuid(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "quuid", value) + + @property + @pulumi.getter + def uuid(self) -> Optional[pulumi.Input[str]]: + """ + Host uuid. + """ + return pulumi.get(self, "uuid") + + @uuid.setter + def uuid(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "uuid", value) + + diff --git a/sdk/python/tencentcloud_iac_pulumi/tcss/image_registry.py b/sdk/python/tencentcloud_iac_pulumi/tcss/image_registry.py new file mode 100644 index 000000000..ffd89b07f --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/tcss/image_registry.py @@ -0,0 +1,745 @@ +# 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__ = ['ImageRegistryArgs', 'ImageRegistry'] + +@pulumi.input_type +class ImageRegistryArgs: + def __init__(__self__, *, + net_type: pulumi.Input[str], + password: pulumi.Input[str], + registry_type: pulumi.Input[str], + url: pulumi.Input[str], + username: pulumi.Input[str], + conn_detect_configs: Optional[pulumi.Input[Sequence[pulumi.Input['ImageRegistryConnDetectConfigArgs']]]] = None, + insecure: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + need_scan: Optional[pulumi.Input[bool]] = None, + registry_region: Optional[pulumi.Input[str]] = None, + registry_version: Optional[pulumi.Input[str]] = None, + speed_limit: Optional[pulumi.Input[int]] = None): + """ + The set of arguments for constructing a ImageRegistry resource. + :param pulumi.Input[str] net_type: Network type, which can be `public` (public network). + :param pulumi.Input[str] password: Password. + :param pulumi.Input[str] registry_type: Repository type, which can be `harbor`. Valid values: harbor, quay, jfrog, aws, azure, other-tcr. + :param pulumi.Input[str] url: Repository URL. + :param pulumi.Input[str] username: Username. + :param pulumi.Input[Sequence[pulumi.Input['ImageRegistryConnDetectConfigArgs']]] conn_detect_configs: Connectivity detection configuration. + :param pulumi.Input[int] insecure: Valid values: `0` (secure mode with certificate verification, which is the default value); `1` (unsecure mode that skips certificate verification). + :param pulumi.Input[str] name: Repository name. + :param pulumi.Input[bool] need_scan: Whether to scan the latest image. + :param pulumi.Input[str] registry_region: Region. Default value: `default`. + :param pulumi.Input[str] registry_version: Repository version. + :param pulumi.Input[int] speed_limit: Speed limit. + """ + pulumi.set(__self__, "net_type", net_type) + pulumi.set(__self__, "password", password) + pulumi.set(__self__, "registry_type", registry_type) + pulumi.set(__self__, "url", url) + pulumi.set(__self__, "username", username) + if conn_detect_configs is not None: + pulumi.set(__self__, "conn_detect_configs", conn_detect_configs) + if insecure is not None: + pulumi.set(__self__, "insecure", insecure) + if name is not None: + pulumi.set(__self__, "name", name) + if need_scan is not None: + pulumi.set(__self__, "need_scan", need_scan) + if registry_region is not None: + pulumi.set(__self__, "registry_region", registry_region) + if registry_version is not None: + pulumi.set(__self__, "registry_version", registry_version) + if speed_limit is not None: + pulumi.set(__self__, "speed_limit", speed_limit) + + @property + @pulumi.getter(name="netType") + def net_type(self) -> pulumi.Input[str]: + """ + Network type, which can be `public` (public network). + """ + return pulumi.get(self, "net_type") + + @net_type.setter + def net_type(self, value: pulumi.Input[str]): + pulumi.set(self, "net_type", value) + + @property + @pulumi.getter + def password(self) -> pulumi.Input[str]: + """ + Password. + """ + return pulumi.get(self, "password") + + @password.setter + def password(self, value: pulumi.Input[str]): + pulumi.set(self, "password", value) + + @property + @pulumi.getter(name="registryType") + def registry_type(self) -> pulumi.Input[str]: + """ + Repository type, which can be `harbor`. Valid values: harbor, quay, jfrog, aws, azure, other-tcr. + """ + return pulumi.get(self, "registry_type") + + @registry_type.setter + def registry_type(self, value: pulumi.Input[str]): + pulumi.set(self, "registry_type", value) + + @property + @pulumi.getter + def url(self) -> pulumi.Input[str]: + """ + Repository URL. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: pulumi.Input[str]): + pulumi.set(self, "url", value) + + @property + @pulumi.getter + def username(self) -> pulumi.Input[str]: + """ + Username. + """ + return pulumi.get(self, "username") + + @username.setter + def username(self, value: pulumi.Input[str]): + pulumi.set(self, "username", value) + + @property + @pulumi.getter(name="connDetectConfigs") + def conn_detect_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ImageRegistryConnDetectConfigArgs']]]]: + """ + Connectivity detection configuration. + """ + return pulumi.get(self, "conn_detect_configs") + + @conn_detect_configs.setter + def conn_detect_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ImageRegistryConnDetectConfigArgs']]]]): + pulumi.set(self, "conn_detect_configs", value) + + @property + @pulumi.getter + def insecure(self) -> Optional[pulumi.Input[int]]: + """ + Valid values: `0` (secure mode with certificate verification, which is the default value); `1` (unsecure mode that skips certificate verification). + """ + return pulumi.get(self, "insecure") + + @insecure.setter + def insecure(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "insecure", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Repository 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="needScan") + def need_scan(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to scan the latest image. + """ + return pulumi.get(self, "need_scan") + + @need_scan.setter + def need_scan(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "need_scan", value) + + @property + @pulumi.getter(name="registryRegion") + def registry_region(self) -> Optional[pulumi.Input[str]]: + """ + Region. Default value: `default`. + """ + return pulumi.get(self, "registry_region") + + @registry_region.setter + def registry_region(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "registry_region", value) + + @property + @pulumi.getter(name="registryVersion") + def registry_version(self) -> Optional[pulumi.Input[str]]: + """ + Repository version. + """ + return pulumi.get(self, "registry_version") + + @registry_version.setter + def registry_version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "registry_version", value) + + @property + @pulumi.getter(name="speedLimit") + def speed_limit(self) -> Optional[pulumi.Input[int]]: + """ + Speed limit. + """ + return pulumi.get(self, "speed_limit") + + @speed_limit.setter + def speed_limit(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "speed_limit", value) + + +@pulumi.input_type +class _ImageRegistryState: + def __init__(__self__, *, + conn_detect_configs: Optional[pulumi.Input[Sequence[pulumi.Input['ImageRegistryConnDetectConfigArgs']]]] = None, + insecure: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + need_scan: Optional[pulumi.Input[bool]] = None, + net_type: Optional[pulumi.Input[str]] = None, + password: Optional[pulumi.Input[str]] = None, + registry_region: Optional[pulumi.Input[str]] = None, + registry_type: Optional[pulumi.Input[str]] = None, + registry_version: Optional[pulumi.Input[str]] = None, + speed_limit: Optional[pulumi.Input[int]] = None, + sync_status: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None, + username: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering ImageRegistry resources. + :param pulumi.Input[Sequence[pulumi.Input['ImageRegistryConnDetectConfigArgs']]] conn_detect_configs: Connectivity detection configuration. + :param pulumi.Input[int] insecure: Valid values: `0` (secure mode with certificate verification, which is the default value); `1` (unsecure mode that skips certificate verification). + :param pulumi.Input[str] name: Repository name. + :param pulumi.Input[bool] need_scan: Whether to scan the latest image. + :param pulumi.Input[str] net_type: Network type, which can be `public` (public network). + :param pulumi.Input[str] password: Password. + :param pulumi.Input[str] registry_region: Region. Default value: `default`. + :param pulumi.Input[str] registry_type: Repository type, which can be `harbor`. Valid values: harbor, quay, jfrog, aws, azure, other-tcr. + :param pulumi.Input[str] registry_version: Repository version. + :param pulumi.Input[int] speed_limit: Speed limit. + :param pulumi.Input[str] sync_status: Sync status. + :param pulumi.Input[str] url: Repository URL. + :param pulumi.Input[str] username: Username. + """ + if conn_detect_configs is not None: + pulumi.set(__self__, "conn_detect_configs", conn_detect_configs) + if insecure is not None: + pulumi.set(__self__, "insecure", insecure) + if name is not None: + pulumi.set(__self__, "name", name) + if need_scan is not None: + pulumi.set(__self__, "need_scan", need_scan) + if net_type is not None: + pulumi.set(__self__, "net_type", net_type) + if password is not None: + pulumi.set(__self__, "password", password) + if registry_region is not None: + pulumi.set(__self__, "registry_region", registry_region) + if registry_type is not None: + pulumi.set(__self__, "registry_type", registry_type) + if registry_version is not None: + pulumi.set(__self__, "registry_version", registry_version) + if speed_limit is not None: + pulumi.set(__self__, "speed_limit", speed_limit) + if sync_status is not None: + pulumi.set(__self__, "sync_status", sync_status) + if url is not None: + pulumi.set(__self__, "url", url) + if username is not None: + pulumi.set(__self__, "username", username) + + @property + @pulumi.getter(name="connDetectConfigs") + def conn_detect_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ImageRegistryConnDetectConfigArgs']]]]: + """ + Connectivity detection configuration. + """ + return pulumi.get(self, "conn_detect_configs") + + @conn_detect_configs.setter + def conn_detect_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ImageRegistryConnDetectConfigArgs']]]]): + pulumi.set(self, "conn_detect_configs", value) + + @property + @pulumi.getter + def insecure(self) -> Optional[pulumi.Input[int]]: + """ + Valid values: `0` (secure mode with certificate verification, which is the default value); `1` (unsecure mode that skips certificate verification). + """ + return pulumi.get(self, "insecure") + + @insecure.setter + def insecure(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "insecure", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Repository 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="needScan") + def need_scan(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to scan the latest image. + """ + return pulumi.get(self, "need_scan") + + @need_scan.setter + def need_scan(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "need_scan", value) + + @property + @pulumi.getter(name="netType") + def net_type(self) -> Optional[pulumi.Input[str]]: + """ + Network type, which can be `public` (public network). + """ + return pulumi.get(self, "net_type") + + @net_type.setter + def net_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "net_type", value) + + @property + @pulumi.getter + def password(self) -> Optional[pulumi.Input[str]]: + """ + Password. + """ + return pulumi.get(self, "password") + + @password.setter + def password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "password", value) + + @property + @pulumi.getter(name="registryRegion") + def registry_region(self) -> Optional[pulumi.Input[str]]: + """ + Region. Default value: `default`. + """ + return pulumi.get(self, "registry_region") + + @registry_region.setter + def registry_region(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "registry_region", value) + + @property + @pulumi.getter(name="registryType") + def registry_type(self) -> Optional[pulumi.Input[str]]: + """ + Repository type, which can be `harbor`. Valid values: harbor, quay, jfrog, aws, azure, other-tcr. + """ + return pulumi.get(self, "registry_type") + + @registry_type.setter + def registry_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "registry_type", value) + + @property + @pulumi.getter(name="registryVersion") + def registry_version(self) -> Optional[pulumi.Input[str]]: + """ + Repository version. + """ + return pulumi.get(self, "registry_version") + + @registry_version.setter + def registry_version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "registry_version", value) + + @property + @pulumi.getter(name="speedLimit") + def speed_limit(self) -> Optional[pulumi.Input[int]]: + """ + Speed limit. + """ + return pulumi.get(self, "speed_limit") + + @speed_limit.setter + def speed_limit(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "speed_limit", value) + + @property + @pulumi.getter(name="syncStatus") + def sync_status(self) -> Optional[pulumi.Input[str]]: + """ + Sync status. + """ + return pulumi.get(self, "sync_status") + + @sync_status.setter + def sync_status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "sync_status", value) + + @property + @pulumi.getter + def url(self) -> Optional[pulumi.Input[str]]: + """ + Repository URL. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "url", value) + + @property + @pulumi.getter + def username(self) -> Optional[pulumi.Input[str]]: + """ + Username. + """ + return pulumi.get(self, "username") + + @username.setter + def username(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "username", value) + + +class ImageRegistry(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + conn_detect_configs: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ImageRegistryConnDetectConfigArgs']]]]] = None, + insecure: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + need_scan: Optional[pulumi.Input[bool]] = None, + net_type: Optional[pulumi.Input[str]] = None, + password: Optional[pulumi.Input[str]] = None, + registry_region: Optional[pulumi.Input[str]] = None, + registry_type: Optional[pulumi.Input[str]] = None, + registry_version: Optional[pulumi.Input[str]] = None, + speed_limit: Optional[pulumi.Input[int]] = None, + url: Optional[pulumi.Input[str]] = None, + username: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to create a tcss image registry + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.tcss.ImageRegistry("example", + conn_detect_configs=[tencentcloud.tcss.ImageRegistryConnDetectConfigArgs( + quuid="backend", + uuid="backend", + )], + need_scan=True, + net_type="public", + password="Password@demo", + registry_region="default", + registry_type="harbor", + registry_version="V1", + url="https://example.com", + username="root") + ``` + + + :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['ImageRegistryConnDetectConfigArgs']]]] conn_detect_configs: Connectivity detection configuration. + :param pulumi.Input[int] insecure: Valid values: `0` (secure mode with certificate verification, which is the default value); `1` (unsecure mode that skips certificate verification). + :param pulumi.Input[str] name: Repository name. + :param pulumi.Input[bool] need_scan: Whether to scan the latest image. + :param pulumi.Input[str] net_type: Network type, which can be `public` (public network). + :param pulumi.Input[str] password: Password. + :param pulumi.Input[str] registry_region: Region. Default value: `default`. + :param pulumi.Input[str] registry_type: Repository type, which can be `harbor`. Valid values: harbor, quay, jfrog, aws, azure, other-tcr. + :param pulumi.Input[str] registry_version: Repository version. + :param pulumi.Input[int] speed_limit: Speed limit. + :param pulumi.Input[str] url: Repository URL. + :param pulumi.Input[str] username: Username. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ImageRegistryArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a tcss image registry + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.tcss.ImageRegistry("example", + conn_detect_configs=[tencentcloud.tcss.ImageRegistryConnDetectConfigArgs( + quuid="backend", + uuid="backend", + )], + need_scan=True, + net_type="public", + password="Password@demo", + registry_region="default", + registry_type="harbor", + registry_version="V1", + url="https://example.com", + username="root") + ``` + + + :param str resource_name: The name of the resource. + :param ImageRegistryArgs 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(ImageRegistryArgs, 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, + conn_detect_configs: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ImageRegistryConnDetectConfigArgs']]]]] = None, + insecure: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + need_scan: Optional[pulumi.Input[bool]] = None, + net_type: Optional[pulumi.Input[str]] = None, + password: Optional[pulumi.Input[str]] = None, + registry_region: Optional[pulumi.Input[str]] = None, + registry_type: Optional[pulumi.Input[str]] = None, + registry_version: Optional[pulumi.Input[str]] = None, + speed_limit: Optional[pulumi.Input[int]] = None, + url: Optional[pulumi.Input[str]] = None, + username: 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__ = ImageRegistryArgs.__new__(ImageRegistryArgs) + + __props__.__dict__["conn_detect_configs"] = conn_detect_configs + __props__.__dict__["insecure"] = insecure + __props__.__dict__["name"] = name + __props__.__dict__["need_scan"] = need_scan + if net_type is None and not opts.urn: + raise TypeError("Missing required property 'net_type'") + __props__.__dict__["net_type"] = net_type + 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__["registry_region"] = registry_region + if registry_type is None and not opts.urn: + raise TypeError("Missing required property 'registry_type'") + __props__.__dict__["registry_type"] = registry_type + __props__.__dict__["registry_version"] = registry_version + __props__.__dict__["speed_limit"] = speed_limit + if url is None and not opts.urn: + raise TypeError("Missing required property 'url'") + __props__.__dict__["url"] = url + if username is None and not opts.urn: + raise TypeError("Missing required property 'username'") + __props__.__dict__["username"] = username + __props__.__dict__["sync_status"] = None + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["password"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(ImageRegistry, __self__).__init__( + 'tencentcloud:Tcss/imageRegistry:ImageRegistry', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + conn_detect_configs: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ImageRegistryConnDetectConfigArgs']]]]] = None, + insecure: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + need_scan: Optional[pulumi.Input[bool]] = None, + net_type: Optional[pulumi.Input[str]] = None, + password: Optional[pulumi.Input[str]] = None, + registry_region: Optional[pulumi.Input[str]] = None, + registry_type: Optional[pulumi.Input[str]] = None, + registry_version: Optional[pulumi.Input[str]] = None, + speed_limit: Optional[pulumi.Input[int]] = None, + sync_status: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None, + username: Optional[pulumi.Input[str]] = None) -> 'ImageRegistry': + """ + Get an existing ImageRegistry 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['ImageRegistryConnDetectConfigArgs']]]] conn_detect_configs: Connectivity detection configuration. + :param pulumi.Input[int] insecure: Valid values: `0` (secure mode with certificate verification, which is the default value); `1` (unsecure mode that skips certificate verification). + :param pulumi.Input[str] name: Repository name. + :param pulumi.Input[bool] need_scan: Whether to scan the latest image. + :param pulumi.Input[str] net_type: Network type, which can be `public` (public network). + :param pulumi.Input[str] password: Password. + :param pulumi.Input[str] registry_region: Region. Default value: `default`. + :param pulumi.Input[str] registry_type: Repository type, which can be `harbor`. Valid values: harbor, quay, jfrog, aws, azure, other-tcr. + :param pulumi.Input[str] registry_version: Repository version. + :param pulumi.Input[int] speed_limit: Speed limit. + :param pulumi.Input[str] sync_status: Sync status. + :param pulumi.Input[str] url: Repository URL. + :param pulumi.Input[str] username: Username. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ImageRegistryState.__new__(_ImageRegistryState) + + __props__.__dict__["conn_detect_configs"] = conn_detect_configs + __props__.__dict__["insecure"] = insecure + __props__.__dict__["name"] = name + __props__.__dict__["need_scan"] = need_scan + __props__.__dict__["net_type"] = net_type + __props__.__dict__["password"] = password + __props__.__dict__["registry_region"] = registry_region + __props__.__dict__["registry_type"] = registry_type + __props__.__dict__["registry_version"] = registry_version + __props__.__dict__["speed_limit"] = speed_limit + __props__.__dict__["sync_status"] = sync_status + __props__.__dict__["url"] = url + __props__.__dict__["username"] = username + return ImageRegistry(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="connDetectConfigs") + def conn_detect_configs(self) -> pulumi.Output[Optional[Sequence['outputs.ImageRegistryConnDetectConfig']]]: + """ + Connectivity detection configuration. + """ + return pulumi.get(self, "conn_detect_configs") + + @property + @pulumi.getter + def insecure(self) -> pulumi.Output[Optional[int]]: + """ + Valid values: `0` (secure mode with certificate verification, which is the default value); `1` (unsecure mode that skips certificate verification). + """ + return pulumi.get(self, "insecure") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Repository name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="needScan") + def need_scan(self) -> pulumi.Output[Optional[bool]]: + """ + Whether to scan the latest image. + """ + return pulumi.get(self, "need_scan") + + @property + @pulumi.getter(name="netType") + def net_type(self) -> pulumi.Output[str]: + """ + Network type, which can be `public` (public network). + """ + return pulumi.get(self, "net_type") + + @property + @pulumi.getter + def password(self) -> pulumi.Output[str]: + """ + Password. + """ + return pulumi.get(self, "password") + + @property + @pulumi.getter(name="registryRegion") + def registry_region(self) -> pulumi.Output[Optional[str]]: + """ + Region. Default value: `default`. + """ + return pulumi.get(self, "registry_region") + + @property + @pulumi.getter(name="registryType") + def registry_type(self) -> pulumi.Output[str]: + """ + Repository type, which can be `harbor`. Valid values: harbor, quay, jfrog, aws, azure, other-tcr. + """ + return pulumi.get(self, "registry_type") + + @property + @pulumi.getter(name="registryVersion") + def registry_version(self) -> pulumi.Output[Optional[str]]: + """ + Repository version. + """ + return pulumi.get(self, "registry_version") + + @property + @pulumi.getter(name="speedLimit") + def speed_limit(self) -> pulumi.Output[Optional[int]]: + """ + Speed limit. + """ + return pulumi.get(self, "speed_limit") + + @property + @pulumi.getter(name="syncStatus") + def sync_status(self) -> pulumi.Output[str]: + """ + Sync status. + """ + return pulumi.get(self, "sync_status") + + @property + @pulumi.getter + def url(self) -> pulumi.Output[str]: + """ + Repository URL. + """ + return pulumi.get(self, "url") + + @property + @pulumi.getter + def username(self) -> pulumi.Output[str]: + """ + Username. + """ + return pulumi.get(self, "username") + diff --git a/sdk/python/tencentcloud_iac_pulumi/tcss/outputs.py b/sdk/python/tencentcloud_iac_pulumi/tcss/outputs.py new file mode 100644 index 000000000..65a05a1ad --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/tcss/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__ = [ + 'ImageRegistryConnDetectConfig', +] + +@pulumi.output_type +class ImageRegistryConnDetectConfig(dict): + def __init__(__self__, *, + quuid: Optional[str] = None, + uuid: Optional[str] = None): + """ + :param str quuid: Host Quuid. + :param str uuid: Host uuid. + """ + if quuid is not None: + pulumi.set(__self__, "quuid", quuid) + if uuid is not None: + pulumi.set(__self__, "uuid", uuid) + + @property + @pulumi.getter + def quuid(self) -> Optional[str]: + """ + Host Quuid. + """ + return pulumi.get(self, "quuid") + + @property + @pulumi.getter + def uuid(self) -> Optional[str]: + """ + Host uuid. + """ + return pulumi.get(self, "uuid") + + diff --git a/sdk/python/tencentcloud_iac_pulumi/teo/__init__.py b/sdk/python/tencentcloud_iac_pulumi/teo/__init__.py index d18e0b4c5..fc288269b 100644 --- a/sdk/python/tencentcloud_iac_pulumi/teo/__init__.py +++ b/sdk/python/tencentcloud_iac_pulumi/teo/__init__.py @@ -9,6 +9,10 @@ from .application_proxy import * from .application_proxy_rule import * from .certificate_config import * +from .function import * +from .function_rule import * +from .function_rule_priority import * +from .function_runtime_environment import * from .get_rule_engine_settings import * from .get_zone_available_plans import * from .l4_proxy import * @@ -16,6 +20,7 @@ from .ownership_verify import * from .realtime_log_delivery import * from .rule_engine import * +from .security_ip_group import * from .zone import * from .zone_setting import * from ._inputs import * diff --git a/sdk/python/tencentcloud_iac_pulumi/teo/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/teo/_inputs.py index 0dbafd46d..e0b0758ed 100644 --- a/sdk/python/tencentcloud_iac_pulumi/teo/_inputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/teo/_inputs.py @@ -14,6 +14,9 @@ 'AccelerationDomainOriginInfoPrivateParameterArgs', 'ApplicationProxyIpv6Args', 'CertificateConfigServerCertInfoArgs', + 'FunctionRuleFunctionRuleConditionArgs', + 'FunctionRuleFunctionRuleConditionRuleConditionArgs', + 'FunctionRuntimeEnvironmentEnvironmentVariableArgs', 'L4ProxyDdosProtectionConfigArgs', 'OriginGroupRecordArgs', 'OriginGroupRecordPrivateParameterArgs', @@ -47,6 +50,7 @@ 'RuleEngineRuleSubRuleRuleActionRewriteActionParameterArgs', 'RuleEngineRuleSubRuleRuleOrArgs', 'RuleEngineRuleSubRuleRuleOrAndArgs', + 'SecurityIpGroupIpGroupArgs', 'ZoneOwnershipVerificationArgs', 'ZoneOwnershipVerificationDnsVerificationArgs', 'ZoneSettingCacheArgs', @@ -334,6 +338,183 @@ def type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "type", value) +@pulumi.input_type +class FunctionRuleFunctionRuleConditionArgs: + def __init__(__self__, *, + rule_conditions: pulumi.Input[Sequence[pulumi.Input['FunctionRuleFunctionRuleConditionRuleConditionArgs']]]): + """ + :param pulumi.Input[Sequence[pulumi.Input['FunctionRuleFunctionRuleConditionRuleConditionArgs']]] rule_conditions: For edge function trigger rule conditions, if all items in the list are satisfied, then the condition is considered fulfilled. + """ + pulumi.set(__self__, "rule_conditions", rule_conditions) + + @property + @pulumi.getter(name="ruleConditions") + def rule_conditions(self) -> pulumi.Input[Sequence[pulumi.Input['FunctionRuleFunctionRuleConditionRuleConditionArgs']]]: + """ + For edge function trigger rule conditions, if all items in the list are satisfied, then the condition is considered fulfilled. + """ + return pulumi.get(self, "rule_conditions") + + @rule_conditions.setter + def rule_conditions(self, value: pulumi.Input[Sequence[pulumi.Input['FunctionRuleFunctionRuleConditionRuleConditionArgs']]]): + pulumi.set(self, "rule_conditions", value) + + +@pulumi.input_type +class FunctionRuleFunctionRuleConditionRuleConditionArgs: + def __init__(__self__, *, + operator: pulumi.Input[str], + target: pulumi.Input[str], + ignore_case: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + values: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[str] operator: Operator. Valid values: + :param pulumi.Input[str] target: The match type. Values: + :param pulumi.Input[bool] ignore_case: Whether the parameter value is case insensitive. Default value: false. + :param pulumi.Input[str] name: The parameter name of the match type. This field is required only when `Target=query_string/request_header`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: The parameter value of the match type. It can be an empty string only when `Target=query string/request header` and `Operator=exist/notexist`. + - When `Target=extension`, enter the file extension, such as "jpg" and "txt". + - When `Target=filename`, enter the file name, such as "foo" in "foo.jpg". + - When `Target=all`, it indicates any site request. + - When `Target=host`, enter the host under the current site, such as "www.maxx55.com". + - When `Target=url`, enter the partial URL path under the current site, such as "/example". + - When `Target=full_url`, enter the complete URL under the current site. It must contain the HTTP protocol, host, and path, such as "https://www.maxx55.cn/example". + - When `Target=client_country`, enter the ISO-3166 country/region code. + - When `Target=query_string`, enter the value of the query string, such as "cn" and "1" in "lang=cn&version=1". + - When `Target=request_header`, enter the HTTP request header value, such as "zh-CN,zh;q=0.9" in the "Accept-Language:zh-CN,zh;q=0.9" header. + """ + pulumi.set(__self__, "operator", operator) + pulumi.set(__self__, "target", target) + if ignore_case is not None: + pulumi.set(__self__, "ignore_case", ignore_case) + if name is not None: + pulumi.set(__self__, "name", name) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def operator(self) -> pulumi.Input[str]: + """ + Operator. Valid values: + """ + return pulumi.get(self, "operator") + + @operator.setter + def operator(self, value: pulumi.Input[str]): + pulumi.set(self, "operator", value) + + @property + @pulumi.getter + def target(self) -> pulumi.Input[str]: + """ + The match type. Values: + """ + return pulumi.get(self, "target") + + @target.setter + def target(self, value: pulumi.Input[str]): + pulumi.set(self, "target", value) + + @property + @pulumi.getter(name="ignoreCase") + def ignore_case(self) -> Optional[pulumi.Input[bool]]: + """ + Whether the parameter value is case insensitive. Default value: false. + """ + return pulumi.get(self, "ignore_case") + + @ignore_case.setter + def ignore_case(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "ignore_case", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The parameter name of the match type. This field is required only when `Target=query_string/request_header`. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The parameter value of the match type. It can be an empty string only when `Target=query string/request header` and `Operator=exist/notexist`. + - When `Target=extension`, enter the file extension, such as "jpg" and "txt". + - When `Target=filename`, enter the file name, such as "foo" in "foo.jpg". + - When `Target=all`, it indicates any site request. + - When `Target=host`, enter the host under the current site, such as "www.maxx55.com". + - When `Target=url`, enter the partial URL path under the current site, such as "/example". + - When `Target=full_url`, enter the complete URL under the current site. It must contain the HTTP protocol, host, and path, such as "https://www.maxx55.cn/example". + - When `Target=client_country`, enter the ISO-3166 country/region code. + - When `Target=query_string`, enter the value of the query string, such as "cn" and "1" in "lang=cn&version=1". + - When `Target=request_header`, enter the HTTP request header value, such as "zh-CN,zh;q=0.9" in the "Accept-Language:zh-CN,zh;q=0.9" header. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "values", value) + + +@pulumi.input_type +class FunctionRuntimeEnvironmentEnvironmentVariableArgs: + def __init__(__self__, *, + key: pulumi.Input[str], + type: pulumi.Input[str], + value: pulumi.Input[str]): + """ + :param pulumi.Input[str] key: The name of the variable, which is limited to alphanumeric characters and the special characters `@`, `.`, `-`, and `_`. It can have a maximum of 64 bytes and should not be duplicated. + :param pulumi.Input[str] type: The type of the variable can have the following values: - `string`: Represents a string type. - `json`: Represents a JSON object type. + :param pulumi.Input[str] value: The value of the variable, which is limited to a maximum of 5000 bytes. The default value is empty. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def key(self) -> pulumi.Input[str]: + """ + The name of the variable, which is limited to alphanumeric characters and the special characters `@`, `.`, `-`, and `_`. It can have a maximum of 64 bytes and should not be duplicated. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: pulumi.Input[str]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + """ + The type of the variable can have the following values: - `string`: Represents a string type. - `json`: Represents a JSON object type. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[str]: + """ + The value of the variable, which is limited to a maximum of 5000 bytes. The default value is empty. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[str]): + pulumi.set(self, "value", value) + + @pulumi.input_type class L4ProxyDdosProtectionConfigArgs: def __init__(__self__, *, @@ -2130,6 +2311,59 @@ def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): pulumi.set(self, "values", value) +@pulumi.input_type +class SecurityIpGroupIpGroupArgs: + def __init__(__self__, *, + contents: pulumi.Input[Sequence[pulumi.Input[str]]], + name: pulumi.Input[str], + group_id: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] contents: IP group content. Only supports IP and IP mask. + :param pulumi.Input[str] name: Group name. + :param pulumi.Input[int] group_id: Group ID. + """ + pulumi.set(__self__, "contents", contents) + pulumi.set(__self__, "name", name) + if group_id is not None: + pulumi.set(__self__, "group_id", group_id) + + @property + @pulumi.getter + def contents(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + IP group content. Only supports IP and IP mask. + """ + return pulumi.get(self, "contents") + + @contents.setter + def contents(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "contents", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + Group name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="groupId") + def group_id(self) -> Optional[pulumi.Input[int]]: + """ + Group ID. + """ + return pulumi.get(self, "group_id") + + @group_id.setter + def group_id(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "group_id", value) + + @pulumi.input_type class ZoneOwnershipVerificationArgs: def __init__(__self__, *, 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/teo/function.py b/sdk/python/tencentcloud_iac_pulumi/teo/function.py new file mode 100644 index 000000000..1b14f9b4d --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/teo/function.py @@ -0,0 +1,454 @@ +# 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__ = ['FunctionArgs', 'Function'] + +@pulumi.input_type +class FunctionArgs: + def __init__(__self__, *, + content: pulumi.Input[str], + zone_id: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None, + remark: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a Function resource. + :param pulumi.Input[str] content: Function content, currently only supports JavaScript code, with a maximum size of 5MB. + :param pulumi.Input[str] zone_id: ID of the site. + :param pulumi.Input[str] name: Function name. It can only contain lowercase letters, numbers, hyphens, must start and end with a letter or number, and can have a maximum length of 30 characters. + :param pulumi.Input[str] remark: Function description, maximum support of 60 characters. + """ + pulumi.set(__self__, "content", content) + pulumi.set(__self__, "zone_id", zone_id) + if name is not None: + pulumi.set(__self__, "name", name) + if remark is not None: + pulumi.set(__self__, "remark", remark) + + @property + @pulumi.getter + def content(self) -> pulumi.Input[str]: + """ + Function content, currently only supports JavaScript code, with a maximum size of 5MB. + """ + return pulumi.get(self, "content") + + @content.setter + def content(self, value: pulumi.Input[str]): + pulumi.set(self, "content", value) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Input[str]: + """ + ID of the site. + """ + return pulumi.get(self, "zone_id") + + @zone_id.setter + def zone_id(self, value: pulumi.Input[str]): + pulumi.set(self, "zone_id", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Function name. It can only contain lowercase letters, numbers, hyphens, must start and end with a letter or number, and can have a maximum length of 30 characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def remark(self) -> Optional[pulumi.Input[str]]: + """ + Function description, maximum support of 60 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 _FunctionState: + def __init__(__self__, *, + content: Optional[pulumi.Input[str]] = None, + create_time: Optional[pulumi.Input[str]] = None, + domain: Optional[pulumi.Input[str]] = None, + function_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + remark: Optional[pulumi.Input[str]] = None, + update_time: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering Function resources. + :param pulumi.Input[str] content: Function content, currently only supports JavaScript code, with a maximum size of 5MB. + :param pulumi.Input[str] create_time: Creation time. The time is in Coordinated Universal Time (UTC) and follows the date and time format specified by the ISO 8601 standard. + :param pulumi.Input[str] domain: The default domain name for the function. + :param pulumi.Input[str] function_id: ID of the Function. + :param pulumi.Input[str] name: Function name. It can only contain lowercase letters, numbers, hyphens, must start and end with a letter or number, and can have a maximum length of 30 characters. + :param pulumi.Input[str] remark: Function description, maximum support of 60 characters. + :param pulumi.Input[str] update_time: Modification time. The time is in Coordinated Universal Time (UTC) and follows the date and time format specified by the ISO 8601 standard. + :param pulumi.Input[str] zone_id: ID of the site. + """ + if content is not None: + pulumi.set(__self__, "content", content) + if create_time is not None: + pulumi.set(__self__, "create_time", create_time) + if domain is not None: + pulumi.set(__self__, "domain", domain) + if function_id is not None: + pulumi.set(__self__, "function_id", function_id) + if name is not None: + pulumi.set(__self__, "name", name) + if remark is not None: + pulumi.set(__self__, "remark", remark) + 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 + def content(self) -> Optional[pulumi.Input[str]]: + """ + Function content, currently only supports JavaScript code, with a maximum size of 5MB. + """ + return pulumi.get(self, "content") + + @content.setter + def content(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "content", value) + + @property + @pulumi.getter(name="createTime") + def create_time(self) -> Optional[pulumi.Input[str]]: + """ + Creation time. The time is in Coordinated Universal Time (UTC) and follows the date and time format specified by the ISO 8601 standard. + """ + 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 domain(self) -> Optional[pulumi.Input[str]]: + """ + The default domain name for the function. + """ + return pulumi.get(self, "domain") + + @domain.setter + def domain(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "domain", value) + + @property + @pulumi.getter(name="functionId") + def function_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the Function. + """ + return pulumi.get(self, "function_id") + + @function_id.setter + def function_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "function_id", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Function name. It can only contain lowercase letters, numbers, hyphens, must start and end with a letter or number, and can have a maximum length of 30 characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def remark(self) -> Optional[pulumi.Input[str]]: + """ + Function description, maximum support of 60 characters. + """ + return pulumi.get(self, "remark") + + @remark.setter + def remark(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "remark", value) + + @property + @pulumi.getter(name="updateTime") + def update_time(self) -> Optional[pulumi.Input[str]]: + """ + Modification time. The time is in Coordinated Universal Time (UTC) and follows the date and time format specified by the ISO 8601 standard. + """ + 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]]: + """ + ID of the site. + """ + return pulumi.get(self, "zone_id") + + @zone_id.setter + def zone_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "zone_id", value) + + +class Function(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + content: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + remark: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to create a teo teo_function + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + teo_function = tencentcloud.teo.Function("teoFunction", + content=\"\"\" addEventListener('fetch', e => { + const response = new Response('Hello World!!'); + e.respondWith(response); + }); + + \"\"\", + remark="test", + zone_id="zone-2qtuhspy7cr6") + ``` + + + ## Import + + teo teo_function can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Teo/function:Function teo_function zone_id#function_id + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] content: Function content, currently only supports JavaScript code, with a maximum size of 5MB. + :param pulumi.Input[str] name: Function name. It can only contain lowercase letters, numbers, hyphens, must start and end with a letter or number, and can have a maximum length of 30 characters. + :param pulumi.Input[str] remark: Function description, maximum support of 60 characters. + :param pulumi.Input[str] zone_id: ID of the site. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: FunctionArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a teo teo_function + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + teo_function = tencentcloud.teo.Function("teoFunction", + content=\"\"\" addEventListener('fetch', e => { + const response = new Response('Hello World!!'); + e.respondWith(response); + }); + + \"\"\", + remark="test", + zone_id="zone-2qtuhspy7cr6") + ``` + + + ## Import + + teo teo_function can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Teo/function:Function teo_function zone_id#function_id + ``` + + :param str resource_name: The name of the resource. + :param FunctionArgs 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(FunctionArgs, 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, + content: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + remark: 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__ = FunctionArgs.__new__(FunctionArgs) + + if content is None and not opts.urn: + raise TypeError("Missing required property 'content'") + __props__.__dict__["content"] = content + __props__.__dict__["name"] = name + __props__.__dict__["remark"] = remark + 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__["domain"] = None + __props__.__dict__["function_id"] = None + __props__.__dict__["update_time"] = None + super(Function, __self__).__init__( + 'tencentcloud:Teo/function:Function', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + content: Optional[pulumi.Input[str]] = None, + create_time: Optional[pulumi.Input[str]] = None, + domain: Optional[pulumi.Input[str]] = None, + function_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + remark: Optional[pulumi.Input[str]] = None, + update_time: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None) -> 'Function': + """ + Get an existing Function 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] content: Function content, currently only supports JavaScript code, with a maximum size of 5MB. + :param pulumi.Input[str] create_time: Creation time. The time is in Coordinated Universal Time (UTC) and follows the date and time format specified by the ISO 8601 standard. + :param pulumi.Input[str] domain: The default domain name for the function. + :param pulumi.Input[str] function_id: ID of the Function. + :param pulumi.Input[str] name: Function name. It can only contain lowercase letters, numbers, hyphens, must start and end with a letter or number, and can have a maximum length of 30 characters. + :param pulumi.Input[str] remark: Function description, maximum support of 60 characters. + :param pulumi.Input[str] update_time: Modification time. The time is in Coordinated Universal Time (UTC) and follows the date and time format specified by the ISO 8601 standard. + :param pulumi.Input[str] zone_id: ID of the site. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _FunctionState.__new__(_FunctionState) + + __props__.__dict__["content"] = content + __props__.__dict__["create_time"] = create_time + __props__.__dict__["domain"] = domain + __props__.__dict__["function_id"] = function_id + __props__.__dict__["name"] = name + __props__.__dict__["remark"] = remark + __props__.__dict__["update_time"] = update_time + __props__.__dict__["zone_id"] = zone_id + return Function(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def content(self) -> pulumi.Output[str]: + """ + Function content, currently only supports JavaScript code, with a maximum size of 5MB. + """ + return pulumi.get(self, "content") + + @property + @pulumi.getter(name="createTime") + def create_time(self) -> pulumi.Output[str]: + """ + Creation time. The time is in Coordinated Universal Time (UTC) and follows the date and time format specified by the ISO 8601 standard. + """ + return pulumi.get(self, "create_time") + + @property + @pulumi.getter + def domain(self) -> pulumi.Output[str]: + """ + The default domain name for the function. + """ + return pulumi.get(self, "domain") + + @property + @pulumi.getter(name="functionId") + def function_id(self) -> pulumi.Output[str]: + """ + ID of the Function. + """ + return pulumi.get(self, "function_id") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Function name. It can only contain lowercase letters, numbers, hyphens, must start and end with a letter or number, and can have a maximum length of 30 characters. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def remark(self) -> pulumi.Output[Optional[str]]: + """ + Function description, maximum support of 60 characters. + """ + return pulumi.get(self, "remark") + + @property + @pulumi.getter(name="updateTime") + def update_time(self) -> pulumi.Output[str]: + """ + Modification time. The time is in Coordinated Universal Time (UTC) and follows the date and time format specified by the ISO 8601 standard. + """ + return pulumi.get(self, "update_time") + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Output[str]: + """ + ID of the site. + """ + return pulumi.get(self, "zone_id") + diff --git a/sdk/python/tencentcloud_iac_pulumi/teo/function_rule.py b/sdk/python/tencentcloud_iac_pulumi/teo/function_rule.py new file mode 100644 index 000000000..5c6974709 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/teo/function_rule.py @@ -0,0 +1,495 @@ +# 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__ = ['FunctionRuleArgs', 'FunctionRule'] + +@pulumi.input_type +class FunctionRuleArgs: + def __init__(__self__, *, + function_id: pulumi.Input[str], + function_rule_conditions: pulumi.Input[Sequence[pulumi.Input['FunctionRuleFunctionRuleConditionArgs']]], + zone_id: pulumi.Input[str], + remark: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a FunctionRule resource. + :param pulumi.Input[str] function_id: ID of the Function. + :param pulumi.Input[Sequence[pulumi.Input['FunctionRuleFunctionRuleConditionArgs']]] function_rule_conditions: The list of rule conditions, where the conditions are connected by an "OR" relationship. + :param pulumi.Input[str] zone_id: ID of the site. + :param pulumi.Input[str] remark: Rule description, maximum support of 60 characters. + """ + pulumi.set(__self__, "function_id", function_id) + pulumi.set(__self__, "function_rule_conditions", function_rule_conditions) + pulumi.set(__self__, "zone_id", zone_id) + if remark is not None: + pulumi.set(__self__, "remark", remark) + + @property + @pulumi.getter(name="functionId") + def function_id(self) -> pulumi.Input[str]: + """ + ID of the Function. + """ + return pulumi.get(self, "function_id") + + @function_id.setter + def function_id(self, value: pulumi.Input[str]): + pulumi.set(self, "function_id", value) + + @property + @pulumi.getter(name="functionRuleConditions") + def function_rule_conditions(self) -> pulumi.Input[Sequence[pulumi.Input['FunctionRuleFunctionRuleConditionArgs']]]: + """ + The list of rule conditions, where the conditions are connected by an "OR" relationship. + """ + return pulumi.get(self, "function_rule_conditions") + + @function_rule_conditions.setter + def function_rule_conditions(self, value: pulumi.Input[Sequence[pulumi.Input['FunctionRuleFunctionRuleConditionArgs']]]): + pulumi.set(self, "function_rule_conditions", value) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Input[str]: + """ + ID of the site. + """ + return pulumi.get(self, "zone_id") + + @zone_id.setter + def zone_id(self, value: pulumi.Input[str]): + pulumi.set(self, "zone_id", value) + + @property + @pulumi.getter + def remark(self) -> Optional[pulumi.Input[str]]: + """ + Rule description, maximum support of 60 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 _FunctionRuleState: + def __init__(__self__, *, + function_id: Optional[pulumi.Input[str]] = None, + function_name: Optional[pulumi.Input[str]] = None, + function_rule_conditions: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionRuleFunctionRuleConditionArgs']]]] = None, + priority: Optional[pulumi.Input[int]] = None, + remark: Optional[pulumi.Input[str]] = None, + rule_id: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering FunctionRule resources. + :param pulumi.Input[str] function_id: ID of the Function. + :param pulumi.Input[str] function_name: The name of the function. + :param pulumi.Input[Sequence[pulumi.Input['FunctionRuleFunctionRuleConditionArgs']]] function_rule_conditions: The list of rule conditions, where the conditions are connected by an "OR" relationship. + :param pulumi.Input[int] priority: The priority of the function trigger rule. A higher numerical value indicates a higher priority. + :param pulumi.Input[str] remark: Rule description, maximum support of 60 characters. + :param pulumi.Input[str] rule_id: ID of the Function Rule. + :param pulumi.Input[str] zone_id: ID of the site. + """ + if function_id is not None: + pulumi.set(__self__, "function_id", function_id) + if function_name is not None: + pulumi.set(__self__, "function_name", function_name) + if function_rule_conditions is not None: + pulumi.set(__self__, "function_rule_conditions", function_rule_conditions) + if priority is not None: + pulumi.set(__self__, "priority", priority) + if remark is not None: + pulumi.set(__self__, "remark", remark) + if rule_id is not None: + pulumi.set(__self__, "rule_id", rule_id) + if zone_id is not None: + pulumi.set(__self__, "zone_id", zone_id) + + @property + @pulumi.getter(name="functionId") + def function_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the Function. + """ + return pulumi.get(self, "function_id") + + @function_id.setter + def function_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "function_id", value) + + @property + @pulumi.getter(name="functionName") + def function_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the function. + """ + return pulumi.get(self, "function_name") + + @function_name.setter + def function_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "function_name", value) + + @property + @pulumi.getter(name="functionRuleConditions") + def function_rule_conditions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FunctionRuleFunctionRuleConditionArgs']]]]: + """ + The list of rule conditions, where the conditions are connected by an "OR" relationship. + """ + return pulumi.get(self, "function_rule_conditions") + + @function_rule_conditions.setter + def function_rule_conditions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionRuleFunctionRuleConditionArgs']]]]): + pulumi.set(self, "function_rule_conditions", value) + + @property + @pulumi.getter + def priority(self) -> Optional[pulumi.Input[int]]: + """ + The priority of the function trigger rule. A higher numerical value indicates a higher priority. + """ + return pulumi.get(self, "priority") + + @priority.setter + def priority(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "priority", value) + + @property + @pulumi.getter + def remark(self) -> Optional[pulumi.Input[str]]: + """ + Rule description, maximum support of 60 characters. + """ + return pulumi.get(self, "remark") + + @remark.setter + def remark(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "remark", value) + + @property + @pulumi.getter(name="ruleId") + def rule_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the Function Rule. + """ + return pulumi.get(self, "rule_id") + + @rule_id.setter + def rule_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "rule_id", value) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the site. + """ + return pulumi.get(self, "zone_id") + + @zone_id.setter + def zone_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "zone_id", value) + + +class FunctionRule(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + function_id: Optional[pulumi.Input[str]] = None, + function_rule_conditions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FunctionRuleFunctionRuleConditionArgs']]]]] = None, + remark: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to create a teo teo_function_rule + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + teo_function_rule = tencentcloud.teo.FunctionRule("teoFunctionRule", + function_id="ef-txx7fnua", + remark="aaa", + zone_id="zone-2qtuhspy7cr6", + function_rule_conditions=[ + tencentcloud.teo.FunctionRuleFunctionRuleConditionArgs( + rule_conditions=[ + tencentcloud.teo.FunctionRuleFunctionRuleConditionRuleConditionArgs( + ignore_case=False, + name=None, + operator="equal", + target="host", + values=["aaa.makn.cn"], + ), + tencentcloud.teo.FunctionRuleFunctionRuleConditionRuleConditionArgs( + ignore_case=False, + name=None, + operator="equal", + target="extension", + values=[".txt"], + ), + ], + ), + tencentcloud.teo.FunctionRuleFunctionRuleConditionArgs( + rule_conditions=[ + tencentcloud.teo.FunctionRuleFunctionRuleConditionRuleConditionArgs( + ignore_case=False, + name=None, + operator="notequal", + target="host", + values=["aaa.makn.cn"], + ), + tencentcloud.teo.FunctionRuleFunctionRuleConditionRuleConditionArgs( + ignore_case=False, + name=None, + operator="equal", + target="extension", + values=[".png"], + ), + ], + ), + ]) + ``` + + + ## Import + + teo teo_function_rule can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Teo/functionRule:FunctionRule teo_function_rule zone_id#function_id#rule_id + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] function_id: ID of the Function. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FunctionRuleFunctionRuleConditionArgs']]]] function_rule_conditions: The list of rule conditions, where the conditions are connected by an "OR" relationship. + :param pulumi.Input[str] remark: Rule description, maximum support of 60 characters. + :param pulumi.Input[str] zone_id: ID of the site. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: FunctionRuleArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a teo teo_function_rule + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + teo_function_rule = tencentcloud.teo.FunctionRule("teoFunctionRule", + function_id="ef-txx7fnua", + remark="aaa", + zone_id="zone-2qtuhspy7cr6", + function_rule_conditions=[ + tencentcloud.teo.FunctionRuleFunctionRuleConditionArgs( + rule_conditions=[ + tencentcloud.teo.FunctionRuleFunctionRuleConditionRuleConditionArgs( + ignore_case=False, + name=None, + operator="equal", + target="host", + values=["aaa.makn.cn"], + ), + tencentcloud.teo.FunctionRuleFunctionRuleConditionRuleConditionArgs( + ignore_case=False, + name=None, + operator="equal", + target="extension", + values=[".txt"], + ), + ], + ), + tencentcloud.teo.FunctionRuleFunctionRuleConditionArgs( + rule_conditions=[ + tencentcloud.teo.FunctionRuleFunctionRuleConditionRuleConditionArgs( + ignore_case=False, + name=None, + operator="notequal", + target="host", + values=["aaa.makn.cn"], + ), + tencentcloud.teo.FunctionRuleFunctionRuleConditionRuleConditionArgs( + ignore_case=False, + name=None, + operator="equal", + target="extension", + values=[".png"], + ), + ], + ), + ]) + ``` + + + ## Import + + teo teo_function_rule can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Teo/functionRule:FunctionRule teo_function_rule zone_id#function_id#rule_id + ``` + + :param str resource_name: The name of the resource. + :param FunctionRuleArgs 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(FunctionRuleArgs, 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, + function_id: Optional[pulumi.Input[str]] = None, + function_rule_conditions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FunctionRuleFunctionRuleConditionArgs']]]]] = None, + remark: 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__ = FunctionRuleArgs.__new__(FunctionRuleArgs) + + if function_id is None and not opts.urn: + raise TypeError("Missing required property 'function_id'") + __props__.__dict__["function_id"] = function_id + if function_rule_conditions is None and not opts.urn: + raise TypeError("Missing required property 'function_rule_conditions'") + __props__.__dict__["function_rule_conditions"] = function_rule_conditions + __props__.__dict__["remark"] = remark + if zone_id is None and not opts.urn: + raise TypeError("Missing required property 'zone_id'") + __props__.__dict__["zone_id"] = zone_id + __props__.__dict__["function_name"] = None + __props__.__dict__["priority"] = None + __props__.__dict__["rule_id"] = None + super(FunctionRule, __self__).__init__( + 'tencentcloud:Teo/functionRule:FunctionRule', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + function_id: Optional[pulumi.Input[str]] = None, + function_name: Optional[pulumi.Input[str]] = None, + function_rule_conditions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FunctionRuleFunctionRuleConditionArgs']]]]] = None, + priority: Optional[pulumi.Input[int]] = None, + remark: Optional[pulumi.Input[str]] = None, + rule_id: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None) -> 'FunctionRule': + """ + Get an existing FunctionRule 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] function_id: ID of the Function. + :param pulumi.Input[str] function_name: The name of the function. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FunctionRuleFunctionRuleConditionArgs']]]] function_rule_conditions: The list of rule conditions, where the conditions are connected by an "OR" relationship. + :param pulumi.Input[int] priority: The priority of the function trigger rule. A higher numerical value indicates a higher priority. + :param pulumi.Input[str] remark: Rule description, maximum support of 60 characters. + :param pulumi.Input[str] rule_id: ID of the Function Rule. + :param pulumi.Input[str] zone_id: ID of the site. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _FunctionRuleState.__new__(_FunctionRuleState) + + __props__.__dict__["function_id"] = function_id + __props__.__dict__["function_name"] = function_name + __props__.__dict__["function_rule_conditions"] = function_rule_conditions + __props__.__dict__["priority"] = priority + __props__.__dict__["remark"] = remark + __props__.__dict__["rule_id"] = rule_id + __props__.__dict__["zone_id"] = zone_id + return FunctionRule(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="functionId") + def function_id(self) -> pulumi.Output[str]: + """ + ID of the Function. + """ + return pulumi.get(self, "function_id") + + @property + @pulumi.getter(name="functionName") + def function_name(self) -> pulumi.Output[str]: + """ + The name of the function. + """ + return pulumi.get(self, "function_name") + + @property + @pulumi.getter(name="functionRuleConditions") + def function_rule_conditions(self) -> pulumi.Output[Sequence['outputs.FunctionRuleFunctionRuleCondition']]: + """ + The list of rule conditions, where the conditions are connected by an "OR" relationship. + """ + return pulumi.get(self, "function_rule_conditions") + + @property + @pulumi.getter + def priority(self) -> pulumi.Output[int]: + """ + The priority of the function trigger rule. A higher numerical value indicates a higher priority. + """ + return pulumi.get(self, "priority") + + @property + @pulumi.getter + def remark(self) -> pulumi.Output[Optional[str]]: + """ + Rule description, maximum support of 60 characters. + """ + return pulumi.get(self, "remark") + + @property + @pulumi.getter(name="ruleId") + def rule_id(self) -> pulumi.Output[str]: + """ + ID of the Function Rule. + """ + return pulumi.get(self, "rule_id") + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Output[str]: + """ + ID of the site. + """ + return pulumi.get(self, "zone_id") + diff --git a/sdk/python/tencentcloud_iac_pulumi/teo/function_rule_priority.py b/sdk/python/tencentcloud_iac_pulumi/teo/function_rule_priority.py new file mode 100644 index 000000000..177d1efc5 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/teo/function_rule_priority.py @@ -0,0 +1,292 @@ +# 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__ = ['FunctionRulePriorityArgs', 'FunctionRulePriority'] + +@pulumi.input_type +class FunctionRulePriorityArgs: + def __init__(__self__, *, + function_id: pulumi.Input[str], + rule_ids: pulumi.Input[Sequence[pulumi.Input[str]]], + zone_id: pulumi.Input[str]): + """ + The set of arguments for constructing a FunctionRulePriority resource. + :param pulumi.Input[str] function_id: ID of the Function. + :param pulumi.Input[Sequence[pulumi.Input[str]]] rule_ids: he list of rule IDs. It is required to include all rule IDs after adjusting their priorities. The execution order of multiple rules follows a top-down sequence. If not specified, the original priority order will be maintained. + :param pulumi.Input[str] zone_id: ID of the site. + """ + pulumi.set(__self__, "function_id", function_id) + pulumi.set(__self__, "rule_ids", rule_ids) + pulumi.set(__self__, "zone_id", zone_id) + + @property + @pulumi.getter(name="functionId") + def function_id(self) -> pulumi.Input[str]: + """ + ID of the Function. + """ + return pulumi.get(self, "function_id") + + @function_id.setter + def function_id(self, value: pulumi.Input[str]): + pulumi.set(self, "function_id", value) + + @property + @pulumi.getter(name="ruleIds") + def rule_ids(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + he list of rule IDs. It is required to include all rule IDs after adjusting their priorities. The execution order of multiple rules follows a top-down sequence. If not specified, the original priority order will be maintained. + """ + return pulumi.get(self, "rule_ids") + + @rule_ids.setter + def rule_ids(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "rule_ids", value) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Input[str]: + """ + ID of the site. + """ + return pulumi.get(self, "zone_id") + + @zone_id.setter + def zone_id(self, value: pulumi.Input[str]): + pulumi.set(self, "zone_id", value) + + +@pulumi.input_type +class _FunctionRulePriorityState: + def __init__(__self__, *, + function_id: Optional[pulumi.Input[str]] = None, + rule_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + zone_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering FunctionRulePriority resources. + :param pulumi.Input[str] function_id: ID of the Function. + :param pulumi.Input[Sequence[pulumi.Input[str]]] rule_ids: he list of rule IDs. It is required to include all rule IDs after adjusting their priorities. The execution order of multiple rules follows a top-down sequence. If not specified, the original priority order will be maintained. + :param pulumi.Input[str] zone_id: ID of the site. + """ + if function_id is not None: + pulumi.set(__self__, "function_id", function_id) + if rule_ids is not None: + pulumi.set(__self__, "rule_ids", rule_ids) + if zone_id is not None: + pulumi.set(__self__, "zone_id", zone_id) + + @property + @pulumi.getter(name="functionId") + def function_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the Function. + """ + return pulumi.get(self, "function_id") + + @function_id.setter + def function_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "function_id", value) + + @property + @pulumi.getter(name="ruleIds") + def rule_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + he list of rule IDs. It is required to include all rule IDs after adjusting their priorities. The execution order of multiple rules follows a top-down sequence. If not specified, the original priority order will be maintained. + """ + return pulumi.get(self, "rule_ids") + + @rule_ids.setter + def rule_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "rule_ids", value) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the site. + """ + return pulumi.get(self, "zone_id") + + @zone_id.setter + def zone_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "zone_id", value) + + +class FunctionRulePriority(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + function_id: Optional[pulumi.Input[str]] = None, + rule_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + zone_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to create a teo teo_function_rule_priority + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + teo_function_rule_priority = tencentcloud.teo.FunctionRulePriority("teoFunctionRulePriority", + function_id="ef-txx7fnua", + rule_ids=[ + "rule-equpbht3", + "rule-ax28n3g6", + ], + zone_id="zone-2qtuhspy7cr6") + ``` + + + ## Import + + teo teo_function_rule_priority can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Teo/functionRulePriority:FunctionRulePriority teo_function_rule_priority zone_id#function_id + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] function_id: ID of the Function. + :param pulumi.Input[Sequence[pulumi.Input[str]]] rule_ids: he list of rule IDs. It is required to include all rule IDs after adjusting their priorities. The execution order of multiple rules follows a top-down sequence. If not specified, the original priority order will be maintained. + :param pulumi.Input[str] zone_id: ID of the site. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: FunctionRulePriorityArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a teo teo_function_rule_priority + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + teo_function_rule_priority = tencentcloud.teo.FunctionRulePriority("teoFunctionRulePriority", + function_id="ef-txx7fnua", + rule_ids=[ + "rule-equpbht3", + "rule-ax28n3g6", + ], + zone_id="zone-2qtuhspy7cr6") + ``` + + + ## Import + + teo teo_function_rule_priority can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Teo/functionRulePriority:FunctionRulePriority teo_function_rule_priority zone_id#function_id + ``` + + :param str resource_name: The name of the resource. + :param FunctionRulePriorityArgs 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(FunctionRulePriorityArgs, 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, + function_id: Optional[pulumi.Input[str]] = None, + rule_ids: Optional[pulumi.Input[Sequence[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__ = FunctionRulePriorityArgs.__new__(FunctionRulePriorityArgs) + + if function_id is None and not opts.urn: + raise TypeError("Missing required property 'function_id'") + __props__.__dict__["function_id"] = function_id + if rule_ids is None and not opts.urn: + raise TypeError("Missing required property 'rule_ids'") + __props__.__dict__["rule_ids"] = rule_ids + if zone_id is None and not opts.urn: + raise TypeError("Missing required property 'zone_id'") + __props__.__dict__["zone_id"] = zone_id + super(FunctionRulePriority, __self__).__init__( + 'tencentcloud:Teo/functionRulePriority:FunctionRulePriority', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + function_id: Optional[pulumi.Input[str]] = None, + rule_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + zone_id: Optional[pulumi.Input[str]] = None) -> 'FunctionRulePriority': + """ + Get an existing FunctionRulePriority 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] function_id: ID of the Function. + :param pulumi.Input[Sequence[pulumi.Input[str]]] rule_ids: he list of rule IDs. It is required to include all rule IDs after adjusting their priorities. The execution order of multiple rules follows a top-down sequence. If not specified, the original priority order will be maintained. + :param pulumi.Input[str] zone_id: ID of the site. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _FunctionRulePriorityState.__new__(_FunctionRulePriorityState) + + __props__.__dict__["function_id"] = function_id + __props__.__dict__["rule_ids"] = rule_ids + __props__.__dict__["zone_id"] = zone_id + return FunctionRulePriority(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="functionId") + def function_id(self) -> pulumi.Output[str]: + """ + ID of the Function. + """ + return pulumi.get(self, "function_id") + + @property + @pulumi.getter(name="ruleIds") + def rule_ids(self) -> pulumi.Output[Sequence[str]]: + """ + he list of rule IDs. It is required to include all rule IDs after adjusting their priorities. The execution order of multiple rules follows a top-down sequence. If not specified, the original priority order will be maintained. + """ + return pulumi.get(self, "rule_ids") + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Output[str]: + """ + ID of the site. + """ + return pulumi.get(self, "zone_id") + diff --git a/sdk/python/tencentcloud_iac_pulumi/teo/function_runtime_environment.py b/sdk/python/tencentcloud_iac_pulumi/teo/function_runtime_environment.py new file mode 100644 index 000000000..ae5d46971 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/teo/function_runtime_environment.py @@ -0,0 +1,310 @@ +# 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__ = ['FunctionRuntimeEnvironmentArgs', 'FunctionRuntimeEnvironment'] + +@pulumi.input_type +class FunctionRuntimeEnvironmentArgs: + def __init__(__self__, *, + environment_variables: pulumi.Input[Sequence[pulumi.Input['FunctionRuntimeEnvironmentEnvironmentVariableArgs']]], + function_id: pulumi.Input[str], + zone_id: pulumi.Input[str]): + """ + The set of arguments for constructing a FunctionRuntimeEnvironment resource. + :param pulumi.Input[Sequence[pulumi.Input['FunctionRuntimeEnvironmentEnvironmentVariableArgs']]] environment_variables: The environment variable list. + :param pulumi.Input[str] function_id: ID of the Function. + :param pulumi.Input[str] zone_id: ID of the site. + """ + pulumi.set(__self__, "environment_variables", environment_variables) + pulumi.set(__self__, "function_id", function_id) + pulumi.set(__self__, "zone_id", zone_id) + + @property + @pulumi.getter(name="environmentVariables") + def environment_variables(self) -> pulumi.Input[Sequence[pulumi.Input['FunctionRuntimeEnvironmentEnvironmentVariableArgs']]]: + """ + The environment variable list. + """ + return pulumi.get(self, "environment_variables") + + @environment_variables.setter + def environment_variables(self, value: pulumi.Input[Sequence[pulumi.Input['FunctionRuntimeEnvironmentEnvironmentVariableArgs']]]): + pulumi.set(self, "environment_variables", value) + + @property + @pulumi.getter(name="functionId") + def function_id(self) -> pulumi.Input[str]: + """ + ID of the Function. + """ + return pulumi.get(self, "function_id") + + @function_id.setter + def function_id(self, value: pulumi.Input[str]): + pulumi.set(self, "function_id", value) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Input[str]: + """ + ID of the site. + """ + return pulumi.get(self, "zone_id") + + @zone_id.setter + def zone_id(self, value: pulumi.Input[str]): + pulumi.set(self, "zone_id", value) + + +@pulumi.input_type +class _FunctionRuntimeEnvironmentState: + def __init__(__self__, *, + environment_variables: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionRuntimeEnvironmentEnvironmentVariableArgs']]]] = None, + function_id: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering FunctionRuntimeEnvironment resources. + :param pulumi.Input[Sequence[pulumi.Input['FunctionRuntimeEnvironmentEnvironmentVariableArgs']]] environment_variables: The environment variable list. + :param pulumi.Input[str] function_id: ID of the Function. + :param pulumi.Input[str] zone_id: ID of the site. + """ + if environment_variables is not None: + pulumi.set(__self__, "environment_variables", environment_variables) + if function_id is not None: + pulumi.set(__self__, "function_id", function_id) + if zone_id is not None: + pulumi.set(__self__, "zone_id", zone_id) + + @property + @pulumi.getter(name="environmentVariables") + def environment_variables(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FunctionRuntimeEnvironmentEnvironmentVariableArgs']]]]: + """ + The environment variable list. + """ + return pulumi.get(self, "environment_variables") + + @environment_variables.setter + def environment_variables(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FunctionRuntimeEnvironmentEnvironmentVariableArgs']]]]): + pulumi.set(self, "environment_variables", value) + + @property + @pulumi.getter(name="functionId") + def function_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the Function. + """ + return pulumi.get(self, "function_id") + + @function_id.setter + def function_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "function_id", value) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the site. + """ + return pulumi.get(self, "zone_id") + + @zone_id.setter + def zone_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "zone_id", value) + + +class FunctionRuntimeEnvironment(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + environment_variables: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FunctionRuntimeEnvironmentEnvironmentVariableArgs']]]]] = None, + function_id: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to create a teo teo_function_runtime_environment + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + teo_function_runtime_environment = tencentcloud.teo.FunctionRuntimeEnvironment("teoFunctionRuntimeEnvironment", + environment_variables=[ + tencentcloud.teo.FunctionRuntimeEnvironmentEnvironmentVariableArgs( + key="test-a", + type="string", + value="AAA", + ), + tencentcloud.teo.FunctionRuntimeEnvironmentEnvironmentVariableArgs( + key="test-b", + type="string", + value="BBB", + ), + ], + function_id="ef-txx7fnua", + zone_id="zone-2qtuhspy7cr6") + ``` + + + ## Import + + teo teo_function_runtime_environment can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Teo/functionRuntimeEnvironment:FunctionRuntimeEnvironment teo_function_runtime_environment zone_id#function_id + ``` + + :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['FunctionRuntimeEnvironmentEnvironmentVariableArgs']]]] environment_variables: The environment variable list. + :param pulumi.Input[str] function_id: ID of the Function. + :param pulumi.Input[str] zone_id: ID of the site. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: FunctionRuntimeEnvironmentArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a teo teo_function_runtime_environment + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + teo_function_runtime_environment = tencentcloud.teo.FunctionRuntimeEnvironment("teoFunctionRuntimeEnvironment", + environment_variables=[ + tencentcloud.teo.FunctionRuntimeEnvironmentEnvironmentVariableArgs( + key="test-a", + type="string", + value="AAA", + ), + tencentcloud.teo.FunctionRuntimeEnvironmentEnvironmentVariableArgs( + key="test-b", + type="string", + value="BBB", + ), + ], + function_id="ef-txx7fnua", + zone_id="zone-2qtuhspy7cr6") + ``` + + + ## Import + + teo teo_function_runtime_environment can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Teo/functionRuntimeEnvironment:FunctionRuntimeEnvironment teo_function_runtime_environment zone_id#function_id + ``` + + :param str resource_name: The name of the resource. + :param FunctionRuntimeEnvironmentArgs 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(FunctionRuntimeEnvironmentArgs, 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, + environment_variables: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FunctionRuntimeEnvironmentEnvironmentVariableArgs']]]]] = None, + function_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__ = FunctionRuntimeEnvironmentArgs.__new__(FunctionRuntimeEnvironmentArgs) + + if environment_variables is None and not opts.urn: + raise TypeError("Missing required property 'environment_variables'") + __props__.__dict__["environment_variables"] = environment_variables + if function_id is None and not opts.urn: + raise TypeError("Missing required property 'function_id'") + __props__.__dict__["function_id"] = function_id + if zone_id is None and not opts.urn: + raise TypeError("Missing required property 'zone_id'") + __props__.__dict__["zone_id"] = zone_id + super(FunctionRuntimeEnvironment, __self__).__init__( + 'tencentcloud:Teo/functionRuntimeEnvironment:FunctionRuntimeEnvironment', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + environment_variables: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FunctionRuntimeEnvironmentEnvironmentVariableArgs']]]]] = None, + function_id: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None) -> 'FunctionRuntimeEnvironment': + """ + Get an existing FunctionRuntimeEnvironment 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['FunctionRuntimeEnvironmentEnvironmentVariableArgs']]]] environment_variables: The environment variable list. + :param pulumi.Input[str] function_id: ID of the Function. + :param pulumi.Input[str] zone_id: ID of the site. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _FunctionRuntimeEnvironmentState.__new__(_FunctionRuntimeEnvironmentState) + + __props__.__dict__["environment_variables"] = environment_variables + __props__.__dict__["function_id"] = function_id + __props__.__dict__["zone_id"] = zone_id + return FunctionRuntimeEnvironment(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="environmentVariables") + def environment_variables(self) -> pulumi.Output[Sequence['outputs.FunctionRuntimeEnvironmentEnvironmentVariable']]: + """ + The environment variable list. + """ + return pulumi.get(self, "environment_variables") + + @property + @pulumi.getter(name="functionId") + def function_id(self) -> pulumi.Output[str]: + """ + ID of the Function. + """ + return pulumi.get(self, "function_id") + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Output[str]: + """ + ID of the site. + """ + return pulumi.get(self, "zone_id") + diff --git a/sdk/python/tencentcloud_iac_pulumi/teo/outputs.py b/sdk/python/tencentcloud_iac_pulumi/teo/outputs.py index 49144e2ec..f2356a54e 100644 --- a/sdk/python/tencentcloud_iac_pulumi/teo/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/teo/outputs.py @@ -15,6 +15,9 @@ 'AccelerationDomainOriginInfoPrivateParameter', 'ApplicationProxyIpv6', 'CertificateConfigServerCertInfo', + 'FunctionRuleFunctionRuleCondition', + 'FunctionRuleFunctionRuleConditionRuleCondition', + 'FunctionRuntimeEnvironmentEnvironmentVariable', 'L4ProxyDdosProtectionConfig', 'OriginGroupRecord', 'OriginGroupRecordPrivateParameter', @@ -48,6 +51,7 @@ 'RuleEngineRuleSubRuleRuleActionRewriteActionParameter', 'RuleEngineRuleSubRuleRuleOr', 'RuleEngineRuleSubRuleRuleOrAnd', + 'SecurityIpGroupIpGroup', 'ZoneOwnershipVerification', 'ZoneOwnershipVerificationDnsVerification', 'ZoneSettingCache', @@ -329,6 +333,181 @@ def type(self) -> Optional[str]: return pulumi.get(self, "type") +@pulumi.output_type +class FunctionRuleFunctionRuleCondition(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "ruleConditions": + suggest = "rule_conditions" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in FunctionRuleFunctionRuleCondition. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + FunctionRuleFunctionRuleCondition.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + FunctionRuleFunctionRuleCondition.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + rule_conditions: Sequence['outputs.FunctionRuleFunctionRuleConditionRuleCondition']): + """ + :param Sequence['FunctionRuleFunctionRuleConditionRuleConditionArgs'] rule_conditions: For edge function trigger rule conditions, if all items in the list are satisfied, then the condition is considered fulfilled. + """ + pulumi.set(__self__, "rule_conditions", rule_conditions) + + @property + @pulumi.getter(name="ruleConditions") + def rule_conditions(self) -> Sequence['outputs.FunctionRuleFunctionRuleConditionRuleCondition']: + """ + For edge function trigger rule conditions, if all items in the list are satisfied, then the condition is considered fulfilled. + """ + return pulumi.get(self, "rule_conditions") + + +@pulumi.output_type +class FunctionRuleFunctionRuleConditionRuleCondition(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "ignoreCase": + suggest = "ignore_case" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in FunctionRuleFunctionRuleConditionRuleCondition. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + FunctionRuleFunctionRuleConditionRuleCondition.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + FunctionRuleFunctionRuleConditionRuleCondition.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + operator: str, + target: str, + ignore_case: Optional[bool] = None, + name: Optional[str] = None, + values: Optional[Sequence[str]] = None): + """ + :param str operator: Operator. Valid values: + :param str target: The match type. Values: + :param bool ignore_case: Whether the parameter value is case insensitive. Default value: false. + :param str name: The parameter name of the match type. This field is required only when `Target=query_string/request_header`. + :param Sequence[str] values: The parameter value of the match type. It can be an empty string only when `Target=query string/request header` and `Operator=exist/notexist`. + - When `Target=extension`, enter the file extension, such as "jpg" and "txt". + - When `Target=filename`, enter the file name, such as "foo" in "foo.jpg". + - When `Target=all`, it indicates any site request. + - When `Target=host`, enter the host under the current site, such as "www.maxx55.com". + - When `Target=url`, enter the partial URL path under the current site, such as "/example". + - When `Target=full_url`, enter the complete URL under the current site. It must contain the HTTP protocol, host, and path, such as "https://www.maxx55.cn/example". + - When `Target=client_country`, enter the ISO-3166 country/region code. + - When `Target=query_string`, enter the value of the query string, such as "cn" and "1" in "lang=cn&version=1". + - When `Target=request_header`, enter the HTTP request header value, such as "zh-CN,zh;q=0.9" in the "Accept-Language:zh-CN,zh;q=0.9" header. + """ + pulumi.set(__self__, "operator", operator) + pulumi.set(__self__, "target", target) + if ignore_case is not None: + pulumi.set(__self__, "ignore_case", ignore_case) + if name is not None: + pulumi.set(__self__, "name", name) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def operator(self) -> str: + """ + Operator. Valid values: + """ + return pulumi.get(self, "operator") + + @property + @pulumi.getter + def target(self) -> str: + """ + The match type. Values: + """ + return pulumi.get(self, "target") + + @property + @pulumi.getter(name="ignoreCase") + def ignore_case(self) -> Optional[bool]: + """ + Whether the parameter value is case insensitive. Default value: false. + """ + return pulumi.get(self, "ignore_case") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The parameter name of the match type. This field is required only when `Target=query_string/request_header`. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def values(self) -> Optional[Sequence[str]]: + """ + The parameter value of the match type. It can be an empty string only when `Target=query string/request header` and `Operator=exist/notexist`. + - When `Target=extension`, enter the file extension, such as "jpg" and "txt". + - When `Target=filename`, enter the file name, such as "foo" in "foo.jpg". + - When `Target=all`, it indicates any site request. + - When `Target=host`, enter the host under the current site, such as "www.maxx55.com". + - When `Target=url`, enter the partial URL path under the current site, such as "/example". + - When `Target=full_url`, enter the complete URL under the current site. It must contain the HTTP protocol, host, and path, such as "https://www.maxx55.cn/example". + - When `Target=client_country`, enter the ISO-3166 country/region code. + - When `Target=query_string`, enter the value of the query string, such as "cn" and "1" in "lang=cn&version=1". + - When `Target=request_header`, enter the HTTP request header value, such as "zh-CN,zh;q=0.9" in the "Accept-Language:zh-CN,zh;q=0.9" header. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class FunctionRuntimeEnvironmentEnvironmentVariable(dict): + def __init__(__self__, *, + key: str, + type: str, + value: str): + """ + :param str key: The name of the variable, which is limited to alphanumeric characters and the special characters `@`, `.`, `-`, and `_`. It can have a maximum of 64 bytes and should not be duplicated. + :param str type: The type of the variable can have the following values: - `string`: Represents a string type. - `json`: Represents a JSON object type. + :param str value: The value of the variable, which is limited to a maximum of 5000 bytes. The default value is empty. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def key(self) -> str: + """ + The name of the variable, which is limited to alphanumeric characters and the special characters `@`, `.`, `-`, and `_`. It can have a maximum of 64 bytes and should not be duplicated. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of the variable can have the following values: - `string`: Represents a string type. - `json`: Represents a JSON object type. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter + def value(self) -> str: + """ + The value of the variable, which is limited to a maximum of 5000 bytes. The default value is empty. + """ + return pulumi.get(self, "value") + + @pulumi.output_type class L4ProxyDdosProtectionConfig(dict): @staticmethod @@ -2013,6 +2192,64 @@ def values(self) -> Optional[Sequence[str]]: return pulumi.get(self, "values") +@pulumi.output_type +class SecurityIpGroupIpGroup(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "groupId": + suggest = "group_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SecurityIpGroupIpGroup. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SecurityIpGroupIpGroup.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SecurityIpGroupIpGroup.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + contents: Sequence[str], + name: str, + group_id: Optional[int] = None): + """ + :param Sequence[str] contents: IP group content. Only supports IP and IP mask. + :param str name: Group name. + :param int group_id: Group ID. + """ + pulumi.set(__self__, "contents", contents) + pulumi.set(__self__, "name", name) + if group_id is not None: + pulumi.set(__self__, "group_id", group_id) + + @property + @pulumi.getter + def contents(self) -> Sequence[str]: + """ + IP group content. Only supports IP and IP mask. + """ + return pulumi.get(self, "contents") + + @property + @pulumi.getter + def name(self) -> str: + """ + Group name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="groupId") + def group_id(self) -> Optional[int]: + """ + Group ID. + """ + return pulumi.get(self, "group_id") + + @pulumi.output_type class ZoneOwnershipVerification(dict): @staticmethod diff --git a/sdk/python/tencentcloud_iac_pulumi/teo/rule_engine.py b/sdk/python/tencentcloud_iac_pulumi/teo/rule_engine.py index c7ad672c3..1bc58daf1 100644 --- a/sdk/python/tencentcloud_iac_pulumi/teo/rule_engine.py +++ b/sdk/python/tencentcloud_iac_pulumi/teo/rule_engine.py @@ -102,6 +102,7 @@ class _RuleEngineState: def __init__(__self__, *, rule_id: Optional[pulumi.Input[str]] = None, rule_name: Optional[pulumi.Input[str]] = None, + rule_priority: Optional[pulumi.Input[int]] = None, rules: Optional[pulumi.Input[Sequence[pulumi.Input['RuleEngineRuleArgs']]]] = None, status: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -110,6 +111,7 @@ def __init__(__self__, *, Input properties used for looking up and filtering RuleEngine resources. :param pulumi.Input[str] rule_id: Rule ID. :param pulumi.Input[str] rule_name: The rule name (1 to 255 characters). + :param pulumi.Input[int] rule_priority: Rule priority, the larger the value, the higher the priority, the minimum is 1. :param pulumi.Input[Sequence[pulumi.Input['RuleEngineRuleArgs']]] rules: Rule items list. :param pulumi.Input[str] status: Rule status. Values: :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: rule tag list. @@ -119,6 +121,8 @@ def __init__(__self__, *, pulumi.set(__self__, "rule_id", rule_id) if rule_name is not None: pulumi.set(__self__, "rule_name", rule_name) + if rule_priority is not None: + pulumi.set(__self__, "rule_priority", rule_priority) if rules is not None: pulumi.set(__self__, "rules", rules) if status is not None: @@ -152,6 +156,18 @@ def rule_name(self) -> Optional[pulumi.Input[str]]: def rule_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "rule_name", value) + @property + @pulumi.getter(name="rulePriority") + def rule_priority(self) -> Optional[pulumi.Input[int]]: + """ + Rule priority, the larger the value, the higher the priority, the minimum is 1. + """ + return pulumi.get(self, "rule_priority") + + @rule_priority.setter + def rule_priority(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "rule_priority", value) + @property @pulumi.getter def rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RuleEngineRuleArgs']]]]: @@ -513,6 +529,7 @@ def _internal_init(__self__, raise TypeError("Missing required property 'zone_id'") __props__.__dict__["zone_id"] = zone_id __props__.__dict__["rule_id"] = None + __props__.__dict__["rule_priority"] = None super(RuleEngine, __self__).__init__( 'tencentcloud:Teo/ruleEngine:RuleEngine', resource_name, @@ -525,6 +542,7 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, rule_id: Optional[pulumi.Input[str]] = None, rule_name: Optional[pulumi.Input[str]] = None, + rule_priority: Optional[pulumi.Input[int]] = None, rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RuleEngineRuleArgs']]]]] = None, status: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -538,6 +556,7 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] rule_id: Rule ID. :param pulumi.Input[str] rule_name: The rule name (1 to 255 characters). + :param pulumi.Input[int] rule_priority: Rule priority, the larger the value, the higher the priority, the minimum is 1. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RuleEngineRuleArgs']]]] rules: Rule items list. :param pulumi.Input[str] status: Rule status. Values: :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: rule tag list. @@ -549,6 +568,7 @@ def get(resource_name: str, __props__.__dict__["rule_id"] = rule_id __props__.__dict__["rule_name"] = rule_name + __props__.__dict__["rule_priority"] = rule_priority __props__.__dict__["rules"] = rules __props__.__dict__["status"] = status __props__.__dict__["tags"] = tags @@ -571,6 +591,14 @@ def rule_name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "rule_name") + @property + @pulumi.getter(name="rulePriority") + def rule_priority(self) -> pulumi.Output[int]: + """ + Rule priority, the larger the value, the higher the priority, the minimum is 1. + """ + return pulumi.get(self, "rule_priority") + @property @pulumi.getter def rules(self) -> pulumi.Output[Sequence['outputs.RuleEngineRule']]: diff --git a/sdk/python/tencentcloud_iac_pulumi/teo/security_ip_group.py b/sdk/python/tencentcloud_iac_pulumi/teo/security_ip_group.py new file mode 100644 index 000000000..2e6ba33c5 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/teo/security_ip_group.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 +from ._inputs import * + +__all__ = ['SecurityIpGroupArgs', 'SecurityIpGroup'] + +@pulumi.input_type +class SecurityIpGroupArgs: + def __init__(__self__, *, + ip_group: pulumi.Input['SecurityIpGroupIpGroupArgs'], + zone_id: pulumi.Input[str]): + """ + The set of arguments for constructing a SecurityIpGroup resource. + :param pulumi.Input['SecurityIpGroupIpGroupArgs'] ip_group: IP group information, replace all when modifying. + :param pulumi.Input[str] zone_id: Site ID. + """ + pulumi.set(__self__, "ip_group", ip_group) + pulumi.set(__self__, "zone_id", zone_id) + + @property + @pulumi.getter(name="ipGroup") + def ip_group(self) -> pulumi.Input['SecurityIpGroupIpGroupArgs']: + """ + IP group information, replace all when modifying. + """ + return pulumi.get(self, "ip_group") + + @ip_group.setter + def ip_group(self, value: pulumi.Input['SecurityIpGroupIpGroupArgs']): + pulumi.set(self, "ip_group", value) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Input[str]: + """ + Site 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 _SecurityIpGroupState: + def __init__(__self__, *, + ip_group: Optional[pulumi.Input['SecurityIpGroupIpGroupArgs']] = None, + zone_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering SecurityIpGroup resources. + :param pulumi.Input['SecurityIpGroupIpGroupArgs'] ip_group: IP group information, replace all when modifying. + :param pulumi.Input[str] zone_id: Site ID. + """ + if ip_group is not None: + pulumi.set(__self__, "ip_group", ip_group) + if zone_id is not None: + pulumi.set(__self__, "zone_id", zone_id) + + @property + @pulumi.getter(name="ipGroup") + def ip_group(self) -> Optional[pulumi.Input['SecurityIpGroupIpGroupArgs']]: + """ + IP group information, replace all when modifying. + """ + return pulumi.get(self, "ip_group") + + @ip_group.setter + def ip_group(self, value: Optional[pulumi.Input['SecurityIpGroupIpGroupArgs']]): + pulumi.set(self, "ip_group", value) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> Optional[pulumi.Input[str]]: + """ + Site 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 SecurityIpGroup(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + ip_group: Optional[pulumi.Input[pulumi.InputType['SecurityIpGroupIpGroupArgs']]] = None, + zone_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Create a SecurityIpGroup 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[pulumi.InputType['SecurityIpGroupIpGroupArgs']] ip_group: IP group information, replace all when modifying. + :param pulumi.Input[str] zone_id: Site ID. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: SecurityIpGroupArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Create a SecurityIpGroup resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param SecurityIpGroupArgs 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(SecurityIpGroupArgs, 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, + ip_group: Optional[pulumi.Input[pulumi.InputType['SecurityIpGroupIpGroupArgs']]] = 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__ = SecurityIpGroupArgs.__new__(SecurityIpGroupArgs) + + if ip_group is None and not opts.urn: + raise TypeError("Missing required property 'ip_group'") + __props__.__dict__["ip_group"] = ip_group + if zone_id is None and not opts.urn: + raise TypeError("Missing required property 'zone_id'") + __props__.__dict__["zone_id"] = zone_id + super(SecurityIpGroup, __self__).__init__( + 'tencentcloud:Teo/securityIpGroup:SecurityIpGroup', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + ip_group: Optional[pulumi.Input[pulumi.InputType['SecurityIpGroupIpGroupArgs']]] = None, + zone_id: Optional[pulumi.Input[str]] = None) -> 'SecurityIpGroup': + """ + Get an existing SecurityIpGroup 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['SecurityIpGroupIpGroupArgs']] ip_group: IP group information, replace all when modifying. + :param pulumi.Input[str] zone_id: Site ID. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _SecurityIpGroupState.__new__(_SecurityIpGroupState) + + __props__.__dict__["ip_group"] = ip_group + __props__.__dict__["zone_id"] = zone_id + return SecurityIpGroup(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="ipGroup") + def ip_group(self) -> pulumi.Output['outputs.SecurityIpGroupIpGroup']: + """ + IP group information, replace all when modifying. + """ + return pulumi.get(self, "ip_group") + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Output[str]: + """ + Site ID. + """ + return pulumi.get(self, "zone_id") + 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/flow_log.py b/sdk/python/tencentcloud_iac_pulumi/vpc/flow_log.py index c5497ae93..33d35ee2b 100644 --- a/sdk/python/tencentcloud_iac_pulumi/vpc/flow_log.py +++ b/sdk/python/tencentcloud_iac_pulumi/vpc/flow_log.py @@ -406,7 +406,7 @@ def __init__(__self__, vpc flow_log can be imported using the flow log Id combine vpc Id, e.g. ```sh - $ pulumi import tencentcloud:Vpc/flowLog:FlowLog flow_log flow_log_id fl-xxxx1234#vpc-yyyy5678 + $ pulumi import tencentcloud:Vpc/flowLog:FlowLog example fl-7k59x22l#vpc-n6qjlen5 ``` :param str resource_name: The name of the resource. @@ -441,7 +441,7 @@ def __init__(__self__, vpc flow_log can be imported using the flow log Id combine vpc Id, e.g. ```sh - $ pulumi import tencentcloud:Vpc/flowLog:FlowLog flow_log flow_log_id fl-xxxx1234#vpc-yyyy5678 + $ pulumi import tencentcloud:Vpc/flowLog:FlowLog example fl-7k59x22l#vpc-n6qjlen5 ``` :param str resource_name: The name of the resource. 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..2df43e9e3 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,23 @@ 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. + Provides a resource to create a vpc notify_routes + + ## Import + + vpc notify_routes can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Vpc/notifyRoutes:NotifyRoutes notify_routes route_table_id#route_item_id + ``` + :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. """ ... @@ -127,7 +136,16 @@ def __init__(__self__, args: NotifyRoutesArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Create a NotifyRoutes resource with the given unique name, props, and options. + Provides a resource to create a vpc notify_routes + + ## Import + + vpc notify_routes can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Vpc/notifyRoutes:NotifyRoutes notify_routes route_table_id#route_item_id + ``` + :param str resource_name: The name of the resource. :param NotifyRoutesArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. @@ -143,7 +161,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 +190,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 +200,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 +222,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") + diff --git a/sdk/python/tencentcloud_iac_pulumi/vpn/connection.py b/sdk/python/tencentcloud_iac_pulumi/vpn/connection.py index 124d9798a..84e42007c 100644 --- a/sdk/python/tencentcloud_iac_pulumi/vpn/connection.py +++ b/sdk/python/tencentcloud_iac_pulumi/vpn/connection.py @@ -1616,7 +1616,7 @@ def ike_local_address(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter(name="ikeLocalFqdnName") - def ike_local_fqdn_name(self) -> pulumi.Output[Optional[str]]: + def ike_local_fqdn_name(self) -> pulumi.Output[str]: """ Local FQDN name of the IKE operation specification. """ @@ -1656,7 +1656,7 @@ def ike_remote_address(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter(name="ikeRemoteFqdnName") - def ike_remote_fqdn_name(self) -> pulumi.Output[Optional[str]]: + def ike_remote_fqdn_name(self) -> pulumi.Output[str]: """ Remote FQDN name of the IKE operation specification. """ diff --git a/sdk/python/tencentcloud_iac_pulumi/waf/__init__.py b/sdk/python/tencentcloud_iac_pulumi/waf/__init__.py index 8d83c3424..5f1373282 100644 --- a/sdk/python/tencentcloud_iac_pulumi/waf/__init__.py +++ b/sdk/python/tencentcloud_iac_pulumi/waf/__init__.py @@ -28,9 +28,8 @@ from .get_tls_versions import * from .get_user_clb_regions import * from .get_user_domains import * -from .get_waf_infos import * from .ip_access_control import * -from .modify_access_period import * +from .ip_access_control_v2 import * from .module_status import * from .protection_mode import * from .saas_domain import * diff --git a/sdk/python/tencentcloud_iac_pulumi/waf/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/waf/_inputs.py index 8223625a6..6b7193678 100644 --- a/sdk/python/tencentcloud_iac_pulumi/waf/_inputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/waf/_inputs.py @@ -15,8 +15,10 @@ 'CustomRuleStrategyArgs', 'CustomWhiteRuleStrategyArgs', 'IpAccessControlItemArgs', + 'IpAccessControlV2JobDateTimeArgs', + 'IpAccessControlV2JobDateTimeCronArgs', + 'IpAccessControlV2JobDateTimeTimedArgs', 'SaasDomainPortArgs', - 'GetWafInfosParamArgs', ] @pulumi.input_type @@ -479,6 +481,193 @@ def valid_status(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "valid_status", value) +@pulumi.input_type +class IpAccessControlV2JobDateTimeArgs: + def __init__(__self__, *, + crons: Optional[pulumi.Input[Sequence[pulumi.Input['IpAccessControlV2JobDateTimeCronArgs']]]] = None, + time_t_zone: Optional[pulumi.Input[str]] = None, + timeds: Optional[pulumi.Input[Sequence[pulumi.Input['IpAccessControlV2JobDateTimeTimedArgs']]]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input['IpAccessControlV2JobDateTimeCronArgs']]] crons: Time parameters for periodic execution + Note: This field may return null, indicating that no valid values can be obtained. + :param pulumi.Input[str] time_t_zone: Time zone + Note: This field may return null, indicating that no valid values can be obtained. + :param pulumi.Input[Sequence[pulumi.Input['IpAccessControlV2JobDateTimeTimedArgs']]] timeds: Time parameters for scheduled execution + Note: This field may return null, indicating that no valid values can be obtained. + """ + if crons is not None: + pulumi.set(__self__, "crons", crons) + if time_t_zone is not None: + pulumi.set(__self__, "time_t_zone", time_t_zone) + if timeds is not None: + pulumi.set(__self__, "timeds", timeds) + + @property + @pulumi.getter + def crons(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['IpAccessControlV2JobDateTimeCronArgs']]]]: + """ + Time parameters for periodic execution + Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "crons") + + @crons.setter + def crons(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['IpAccessControlV2JobDateTimeCronArgs']]]]): + pulumi.set(self, "crons", value) + + @property + @pulumi.getter(name="timeTZone") + def time_t_zone(self) -> Optional[pulumi.Input[str]]: + """ + Time zone + Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "time_t_zone") + + @time_t_zone.setter + def time_t_zone(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "time_t_zone", value) + + @property + @pulumi.getter + def timeds(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['IpAccessControlV2JobDateTimeTimedArgs']]]]: + """ + Time parameters for scheduled execution + Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "timeds") + + @timeds.setter + def timeds(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['IpAccessControlV2JobDateTimeTimedArgs']]]]): + pulumi.set(self, "timeds", value) + + +@pulumi.input_type +class IpAccessControlV2JobDateTimeCronArgs: + def __init__(__self__, *, + days: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + end_time: Optional[pulumi.Input[str]] = None, + start_time: Optional[pulumi.Input[str]] = None, + w_days: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[int]]] days: Days in each month for execution + Note: This field may return null, indicating that no valid values can be obtained. + :param pulumi.Input[str] end_time: End time + + Note: This field may return null, indicating that no valid values can be obtained. + :param pulumi.Input[str] start_time: Start time + + Note: This field may return null, indicating that no valid values can be obtained. + :param pulumi.Input[Sequence[pulumi.Input[int]]] w_days: Days of each week for execution + Note: This field may return null, indicating that no valid values can be obtained. + """ + if days is not None: + pulumi.set(__self__, "days", days) + if end_time is not None: + pulumi.set(__self__, "end_time", end_time) + if start_time is not None: + pulumi.set(__self__, "start_time", start_time) + if w_days is not None: + pulumi.set(__self__, "w_days", w_days) + + @property + @pulumi.getter + def days(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]: + """ + Days in each month for execution + Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "days") + + @days.setter + def days(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]): + pulumi.set(self, "days", value) + + @property + @pulumi.getter(name="endTime") + def end_time(self) -> Optional[pulumi.Input[str]]: + """ + End time + + Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "end_time") + + @end_time.setter + def end_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "end_time", value) + + @property + @pulumi.getter(name="startTime") + def start_time(self) -> Optional[pulumi.Input[str]]: + """ + Start time + + Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "start_time") + + @start_time.setter + def start_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "start_time", value) + + @property + @pulumi.getter(name="wDays") + def w_days(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]: + """ + Days of each week for execution + Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "w_days") + + @w_days.setter + def w_days(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]): + pulumi.set(self, "w_days", value) + + +@pulumi.input_type +class IpAccessControlV2JobDateTimeTimedArgs: + def __init__(__self__, *, + end_date_time: Optional[pulumi.Input[int]] = None, + start_date_time: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[int] end_date_time: End timestamp, in seconds + Note: This field may return null, indicating that no valid values can be obtained. + :param pulumi.Input[int] start_date_time: Start timestamp, in seconds + Note: This field may return null, indicating that no valid values can be obtained. + """ + if end_date_time is not None: + pulumi.set(__self__, "end_date_time", end_date_time) + if start_date_time is not None: + pulumi.set(__self__, "start_date_time", start_date_time) + + @property + @pulumi.getter(name="endDateTime") + def end_date_time(self) -> Optional[pulumi.Input[int]]: + """ + End timestamp, in seconds + Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "end_date_time") + + @end_date_time.setter + def end_date_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "end_date_time", value) + + @property + @pulumi.getter(name="startDateTime") + def start_date_time(self) -> Optional[pulumi.Input[int]]: + """ + Start timestamp, in seconds + Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "start_date_time") + + @start_date_time.setter + def start_date_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "start_date_time", value) + + @pulumi.input_type class SaasDomainPortArgs: def __init__(__self__, *, @@ -562,57 +751,3 @@ def nginx_server_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "nginx_server_id", value) -@pulumi.input_type -class GetWafInfosParamArgs: - def __init__(__self__, *, - load_balancer_id: str, - domain_id: Optional[str] = None, - listener_id: Optional[str] = None): - """ - :param str load_balancer_id: Loadbalancer unique ID.If this parameter is not passed, it will operate all listeners of this appid. If this parameter is not empty, it will operate listeners of the LoadBalancer only. - :param str domain_id: Domain unique ID. - :param str listener_id: Listener ID of LoadBalancer. - """ - pulumi.set(__self__, "load_balancer_id", load_balancer_id) - if domain_id is not None: - pulumi.set(__self__, "domain_id", domain_id) - if listener_id is not None: - pulumi.set(__self__, "listener_id", listener_id) - - @property - @pulumi.getter(name="loadBalancerId") - def load_balancer_id(self) -> str: - """ - Loadbalancer unique ID.If this parameter is not passed, it will operate all listeners of this appid. If this parameter is not empty, it will operate listeners of the LoadBalancer only. - """ - return pulumi.get(self, "load_balancer_id") - - @load_balancer_id.setter - def load_balancer_id(self, value: str): - pulumi.set(self, "load_balancer_id", value) - - @property - @pulumi.getter(name="domainId") - def domain_id(self) -> Optional[str]: - """ - Domain unique ID. - """ - return pulumi.get(self, "domain_id") - - @domain_id.setter - def domain_id(self, value: Optional[str]): - pulumi.set(self, "domain_id", value) - - @property - @pulumi.getter(name="listenerId") - def listener_id(self) -> Optional[str]: - """ - Listener ID of LoadBalancer. - """ - return pulumi.get(self, "listener_id") - - @listener_id.setter - def listener_id(self, value: Optional[str]): - pulumi.set(self, "listener_id", value) - - diff --git a/sdk/python/tencentcloud_iac_pulumi/waf/ip_access_control.py b/sdk/python/tencentcloud_iac_pulumi/waf/ip_access_control.py index ec5601d01..498ebefec 100644 --- a/sdk/python/tencentcloud_iac_pulumi/waf/ip_access_control.py +++ b/sdk/python/tencentcloud_iac_pulumi/waf/ip_access_control.py @@ -166,6 +166,8 @@ def __init__(__self__, """ Provides a resource to create a waf ip_access_control + > **NOTE:** This resource is no longer under maintenance, please use `Waf.IpAccessControlV2` instead + ## Example Usage @@ -224,6 +226,8 @@ def __init__(__self__, """ Provides a resource to create a waf ip_access_control + > **NOTE:** This resource is no longer under maintenance, please use `Waf.IpAccessControlV2` instead + ## Example Usage diff --git a/sdk/python/tencentcloud_iac_pulumi/waf/ip_access_control_v2.py b/sdk/python/tencentcloud_iac_pulumi/waf/ip_access_control_v2.py new file mode 100644 index 000000000..a8bf64da0 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/waf/ip_access_control_v2.py @@ -0,0 +1,512 @@ +# 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__ = ['IpAccessControlV2Args', 'IpAccessControlV2'] + +@pulumi.input_type +class IpAccessControlV2Args: + def __init__(__self__, *, + action_type: pulumi.Input[int], + domain: pulumi.Input[str], + instance_id: pulumi.Input[str], + ip_lists: pulumi.Input[Sequence[pulumi.Input[str]]], + job_date_time: Optional[pulumi.Input['IpAccessControlV2JobDateTimeArgs']] = None, + job_type: Optional[pulumi.Input[str]] = None, + note: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a IpAccessControlV2 resource. + :param pulumi.Input[int] action_type: 42: blocklist; 40: allowlist. + :param pulumi.Input[str] domain: Specific domain name, for example, test.qcloudwaf.com. + Global domain name, that is, global. + :param pulumi.Input[str] instance_id: Instance ID. + :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_lists: IP parameter list. + :param pulumi.Input['IpAccessControlV2JobDateTimeArgs'] job_date_time: Details of scheduled configuration. + :param pulumi.Input[str] job_type: Scheduled configuration type. + :param pulumi.Input[str] note: Remarks. + """ + pulumi.set(__self__, "action_type", action_type) + pulumi.set(__self__, "domain", domain) + pulumi.set(__self__, "instance_id", instance_id) + pulumi.set(__self__, "ip_lists", ip_lists) + if job_date_time is not None: + pulumi.set(__self__, "job_date_time", job_date_time) + if job_type is not None: + pulumi.set(__self__, "job_type", job_type) + if note is not None: + pulumi.set(__self__, "note", note) + + @property + @pulumi.getter(name="actionType") + def action_type(self) -> pulumi.Input[int]: + """ + 42: blocklist; 40: allowlist. + """ + return pulumi.get(self, "action_type") + + @action_type.setter + def action_type(self, value: pulumi.Input[int]): + pulumi.set(self, "action_type", value) + + @property + @pulumi.getter + def domain(self) -> pulumi.Input[str]: + """ + Specific domain name, for example, test.qcloudwaf.com. + Global domain name, that is, global. + """ + return pulumi.get(self, "domain") + + @domain.setter + def domain(self, value: pulumi.Input[str]): + pulumi.set(self, "domain", 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="ipLists") + def ip_lists(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + IP parameter list. + """ + return pulumi.get(self, "ip_lists") + + @ip_lists.setter + def ip_lists(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "ip_lists", value) + + @property + @pulumi.getter(name="jobDateTime") + def job_date_time(self) -> Optional[pulumi.Input['IpAccessControlV2JobDateTimeArgs']]: + """ + Details of scheduled configuration. + """ + return pulumi.get(self, "job_date_time") + + @job_date_time.setter + def job_date_time(self, value: Optional[pulumi.Input['IpAccessControlV2JobDateTimeArgs']]): + pulumi.set(self, "job_date_time", value) + + @property + @pulumi.getter(name="jobType") + def job_type(self) -> Optional[pulumi.Input[str]]: + """ + Scheduled configuration type. + """ + return pulumi.get(self, "job_type") + + @job_type.setter + def job_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "job_type", value) + + @property + @pulumi.getter + def note(self) -> Optional[pulumi.Input[str]]: + """ + Remarks. + """ + return pulumi.get(self, "note") + + @note.setter + def note(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "note", value) + + +@pulumi.input_type +class _IpAccessControlV2State: + def __init__(__self__, *, + action_type: Optional[pulumi.Input[int]] = None, + domain: Optional[pulumi.Input[str]] = None, + instance_id: Optional[pulumi.Input[str]] = None, + ip_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + job_date_time: Optional[pulumi.Input['IpAccessControlV2JobDateTimeArgs']] = None, + job_type: Optional[pulumi.Input[str]] = None, + note: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering IpAccessControlV2 resources. + :param pulumi.Input[int] action_type: 42: blocklist; 40: allowlist. + :param pulumi.Input[str] domain: Specific domain name, for example, test.qcloudwaf.com. + Global domain name, that is, global. + :param pulumi.Input[str] instance_id: Instance ID. + :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_lists: IP parameter list. + :param pulumi.Input['IpAccessControlV2JobDateTimeArgs'] job_date_time: Details of scheduled configuration. + :param pulumi.Input[str] job_type: Scheduled configuration type. + :param pulumi.Input[str] note: Remarks. + """ + if action_type is not None: + pulumi.set(__self__, "action_type", action_type) + if domain is not None: + pulumi.set(__self__, "domain", domain) + if instance_id is not None: + pulumi.set(__self__, "instance_id", instance_id) + if ip_lists is not None: + pulumi.set(__self__, "ip_lists", ip_lists) + if job_date_time is not None: + pulumi.set(__self__, "job_date_time", job_date_time) + if job_type is not None: + pulumi.set(__self__, "job_type", job_type) + if note is not None: + pulumi.set(__self__, "note", note) + + @property + @pulumi.getter(name="actionType") + def action_type(self) -> Optional[pulumi.Input[int]]: + """ + 42: blocklist; 40: allowlist. + """ + return pulumi.get(self, "action_type") + + @action_type.setter + def action_type(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "action_type", value) + + @property + @pulumi.getter + def domain(self) -> Optional[pulumi.Input[str]]: + """ + Specific domain name, for example, test.qcloudwaf.com. + Global domain name, that is, global. + """ + return pulumi.get(self, "domain") + + @domain.setter + def domain(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "domain", 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="ipLists") + def ip_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + IP parameter list. + """ + return pulumi.get(self, "ip_lists") + + @ip_lists.setter + def ip_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "ip_lists", value) + + @property + @pulumi.getter(name="jobDateTime") + def job_date_time(self) -> Optional[pulumi.Input['IpAccessControlV2JobDateTimeArgs']]: + """ + Details of scheduled configuration. + """ + return pulumi.get(self, "job_date_time") + + @job_date_time.setter + def job_date_time(self, value: Optional[pulumi.Input['IpAccessControlV2JobDateTimeArgs']]): + pulumi.set(self, "job_date_time", value) + + @property + @pulumi.getter(name="jobType") + def job_type(self) -> Optional[pulumi.Input[str]]: + """ + Scheduled configuration type. + """ + return pulumi.get(self, "job_type") + + @job_type.setter + def job_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "job_type", value) + + @property + @pulumi.getter + def note(self) -> Optional[pulumi.Input[str]]: + """ + Remarks. + """ + return pulumi.get(self, "note") + + @note.setter + def note(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "note", value) + + +class IpAccessControlV2(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + action_type: Optional[pulumi.Input[int]] = None, + domain: Optional[pulumi.Input[str]] = None, + instance_id: Optional[pulumi.Input[str]] = None, + ip_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + job_date_time: Optional[pulumi.Input[pulumi.InputType['IpAccessControlV2JobDateTimeArgs']]] = None, + job_type: Optional[pulumi.Input[str]] = None, + note: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to create a waf ip access control v2 + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.waf.IpAccessControlV2("example", + action_type=40, + domain="example.com", + instance_id="waf_2kxtlbky11bbcr4b", + ip_lists=[ + "10.0.0.10", + "172.0.0.16", + "192.168.0.30", + ], + job_date_time=tencentcloud.waf.IpAccessControlV2JobDateTimeArgs( + time_t_zone="UTC+8", + timeds=[tencentcloud.waf.IpAccessControlV2JobDateTimeTimedArgs( + end_date_time=0, + start_date_time=0, + )], + ), + job_type="TimedJob", + note="note.") + ``` + + + ## Import + + waf ip access control v2 can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Waf/ipAccessControlV2:IpAccessControlV2 example waf_2kxtlbky11bbcr4b#example.com#5503616778 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[int] action_type: 42: blocklist; 40: allowlist. + :param pulumi.Input[str] domain: Specific domain name, for example, test.qcloudwaf.com. + Global domain name, that is, global. + :param pulumi.Input[str] instance_id: Instance ID. + :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_lists: IP parameter list. + :param pulumi.Input[pulumi.InputType['IpAccessControlV2JobDateTimeArgs']] job_date_time: Details of scheduled configuration. + :param pulumi.Input[str] job_type: Scheduled configuration type. + :param pulumi.Input[str] note: Remarks. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: IpAccessControlV2Args, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a waf ip access control v2 + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.waf.IpAccessControlV2("example", + action_type=40, + domain="example.com", + instance_id="waf_2kxtlbky11bbcr4b", + ip_lists=[ + "10.0.0.10", + "172.0.0.16", + "192.168.0.30", + ], + job_date_time=tencentcloud.waf.IpAccessControlV2JobDateTimeArgs( + time_t_zone="UTC+8", + timeds=[tencentcloud.waf.IpAccessControlV2JobDateTimeTimedArgs( + end_date_time=0, + start_date_time=0, + )], + ), + job_type="TimedJob", + note="note.") + ``` + + + ## Import + + waf ip access control v2 can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Waf/ipAccessControlV2:IpAccessControlV2 example waf_2kxtlbky11bbcr4b#example.com#5503616778 + ``` + + :param str resource_name: The name of the resource. + :param IpAccessControlV2Args 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(IpAccessControlV2Args, 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, + action_type: Optional[pulumi.Input[int]] = None, + domain: Optional[pulumi.Input[str]] = None, + instance_id: Optional[pulumi.Input[str]] = None, + ip_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + job_date_time: Optional[pulumi.Input[pulumi.InputType['IpAccessControlV2JobDateTimeArgs']]] = None, + job_type: Optional[pulumi.Input[str]] = None, + note: 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__ = IpAccessControlV2Args.__new__(IpAccessControlV2Args) + + if action_type is None and not opts.urn: + raise TypeError("Missing required property 'action_type'") + __props__.__dict__["action_type"] = action_type + if domain is None and not opts.urn: + raise TypeError("Missing required property 'domain'") + __props__.__dict__["domain"] = domain + if instance_id is None and not opts.urn: + raise TypeError("Missing required property 'instance_id'") + __props__.__dict__["instance_id"] = instance_id + if ip_lists is None and not opts.urn: + raise TypeError("Missing required property 'ip_lists'") + __props__.__dict__["ip_lists"] = ip_lists + __props__.__dict__["job_date_time"] = job_date_time + __props__.__dict__["job_type"] = job_type + __props__.__dict__["note"] = note + super(IpAccessControlV2, __self__).__init__( + 'tencentcloud:Waf/ipAccessControlV2:IpAccessControlV2', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + action_type: Optional[pulumi.Input[int]] = None, + domain: Optional[pulumi.Input[str]] = None, + instance_id: Optional[pulumi.Input[str]] = None, + ip_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + job_date_time: Optional[pulumi.Input[pulumi.InputType['IpAccessControlV2JobDateTimeArgs']]] = None, + job_type: Optional[pulumi.Input[str]] = None, + note: Optional[pulumi.Input[str]] = None) -> 'IpAccessControlV2': + """ + Get an existing IpAccessControlV2 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] action_type: 42: blocklist; 40: allowlist. + :param pulumi.Input[str] domain: Specific domain name, for example, test.qcloudwaf.com. + Global domain name, that is, global. + :param pulumi.Input[str] instance_id: Instance ID. + :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_lists: IP parameter list. + :param pulumi.Input[pulumi.InputType['IpAccessControlV2JobDateTimeArgs']] job_date_time: Details of scheduled configuration. + :param pulumi.Input[str] job_type: Scheduled configuration type. + :param pulumi.Input[str] note: Remarks. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _IpAccessControlV2State.__new__(_IpAccessControlV2State) + + __props__.__dict__["action_type"] = action_type + __props__.__dict__["domain"] = domain + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["ip_lists"] = ip_lists + __props__.__dict__["job_date_time"] = job_date_time + __props__.__dict__["job_type"] = job_type + __props__.__dict__["note"] = note + return IpAccessControlV2(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="actionType") + def action_type(self) -> pulumi.Output[int]: + """ + 42: blocklist; 40: allowlist. + """ + return pulumi.get(self, "action_type") + + @property + @pulumi.getter + def domain(self) -> pulumi.Output[str]: + """ + Specific domain name, for example, test.qcloudwaf.com. + Global domain name, that is, global. + """ + return pulumi.get(self, "domain") + + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Output[str]: + """ + Instance ID. + """ + return pulumi.get(self, "instance_id") + + @property + @pulumi.getter(name="ipLists") + def ip_lists(self) -> pulumi.Output[Sequence[str]]: + """ + IP parameter list. + """ + return pulumi.get(self, "ip_lists") + + @property + @pulumi.getter(name="jobDateTime") + def job_date_time(self) -> pulumi.Output['outputs.IpAccessControlV2JobDateTime']: + """ + Details of scheduled configuration. + """ + return pulumi.get(self, "job_date_time") + + @property + @pulumi.getter(name="jobType") + def job_type(self) -> pulumi.Output[str]: + """ + Scheduled configuration type. + """ + return pulumi.get(self, "job_type") + + @property + @pulumi.getter + def note(self) -> pulumi.Output[Optional[str]]: + """ + Remarks. + """ + return pulumi.get(self, "note") + diff --git a/sdk/python/tencentcloud_iac_pulumi/waf/outputs.py b/sdk/python/tencentcloud_iac_pulumi/waf/outputs.py index 4bc86e8ad..11df0d96f 100644 --- a/sdk/python/tencentcloud_iac_pulumi/waf/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/waf/outputs.py @@ -16,6 +16,9 @@ 'CustomRuleStrategy', 'CustomWhiteRuleStrategy', 'IpAccessControlItem', + 'IpAccessControlV2JobDateTime', + 'IpAccessControlV2JobDateTimeCron', + 'IpAccessControlV2JobDateTimeTimed', 'SaasDomainPort', 'GetAttackLogHistogramDataResult', 'GetAttackLogListDataResult', @@ -29,9 +32,6 @@ 'GetTlsVersionsTlResult', 'GetUserClbRegionsRichDataResult', 'GetUserDomainsUsersInfoResult', - 'GetWafInfosHostListResult', - 'GetWafInfosHostListLoadBalancerResult', - 'GetWafInfosParamResult', ] @pulumi.output_type @@ -462,6 +462,214 @@ def valid_status(self) -> Optional[int]: return pulumi.get(self, "valid_status") +@pulumi.output_type +class IpAccessControlV2JobDateTime(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "timeTZone": + suggest = "time_t_zone" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in IpAccessControlV2JobDateTime. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + IpAccessControlV2JobDateTime.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + IpAccessControlV2JobDateTime.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + crons: Optional[Sequence['outputs.IpAccessControlV2JobDateTimeCron']] = None, + time_t_zone: Optional[str] = None, + timeds: Optional[Sequence['outputs.IpAccessControlV2JobDateTimeTimed']] = None): + """ + :param Sequence['IpAccessControlV2JobDateTimeCronArgs'] crons: Time parameters for periodic execution + Note: This field may return null, indicating that no valid values can be obtained. + :param str time_t_zone: Time zone + Note: This field may return null, indicating that no valid values can be obtained. + :param Sequence['IpAccessControlV2JobDateTimeTimedArgs'] timeds: Time parameters for scheduled execution + Note: This field may return null, indicating that no valid values can be obtained. + """ + if crons is not None: + pulumi.set(__self__, "crons", crons) + if time_t_zone is not None: + pulumi.set(__self__, "time_t_zone", time_t_zone) + if timeds is not None: + pulumi.set(__self__, "timeds", timeds) + + @property + @pulumi.getter + def crons(self) -> Optional[Sequence['outputs.IpAccessControlV2JobDateTimeCron']]: + """ + Time parameters for periodic execution + Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "crons") + + @property + @pulumi.getter(name="timeTZone") + def time_t_zone(self) -> Optional[str]: + """ + Time zone + Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "time_t_zone") + + @property + @pulumi.getter + def timeds(self) -> Optional[Sequence['outputs.IpAccessControlV2JobDateTimeTimed']]: + """ + Time parameters for scheduled execution + Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "timeds") + + +@pulumi.output_type +class IpAccessControlV2JobDateTimeCron(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "endTime": + suggest = "end_time" + elif key == "startTime": + suggest = "start_time" + elif key == "wDays": + suggest = "w_days" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in IpAccessControlV2JobDateTimeCron. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + IpAccessControlV2JobDateTimeCron.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + IpAccessControlV2JobDateTimeCron.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + days: Optional[Sequence[int]] = None, + end_time: Optional[str] = None, + start_time: Optional[str] = None, + w_days: Optional[Sequence[int]] = None): + """ + :param Sequence[int] days: Days in each month for execution + Note: This field may return null, indicating that no valid values can be obtained. + :param str end_time: End time + + Note: This field may return null, indicating that no valid values can be obtained. + :param str start_time: Start time + + Note: This field may return null, indicating that no valid values can be obtained. + :param Sequence[int] w_days: Days of each week for execution + Note: This field may return null, indicating that no valid values can be obtained. + """ + if days is not None: + pulumi.set(__self__, "days", days) + if end_time is not None: + pulumi.set(__self__, "end_time", end_time) + if start_time is not None: + pulumi.set(__self__, "start_time", start_time) + if w_days is not None: + pulumi.set(__self__, "w_days", w_days) + + @property + @pulumi.getter + def days(self) -> Optional[Sequence[int]]: + """ + Days in each month for execution + Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "days") + + @property + @pulumi.getter(name="endTime") + def end_time(self) -> Optional[str]: + """ + End time + + Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "end_time") + + @property + @pulumi.getter(name="startTime") + def start_time(self) -> Optional[str]: + """ + Start time + + Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "start_time") + + @property + @pulumi.getter(name="wDays") + def w_days(self) -> Optional[Sequence[int]]: + """ + Days of each week for execution + Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "w_days") + + +@pulumi.output_type +class IpAccessControlV2JobDateTimeTimed(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "endDateTime": + suggest = "end_date_time" + elif key == "startDateTime": + suggest = "start_date_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in IpAccessControlV2JobDateTimeTimed. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + IpAccessControlV2JobDateTimeTimed.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + IpAccessControlV2JobDateTimeTimed.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + end_date_time: Optional[int] = None, + start_date_time: Optional[int] = None): + """ + :param int end_date_time: End timestamp, in seconds + Note: This field may return null, indicating that no valid values can be obtained. + :param int start_date_time: Start timestamp, in seconds + Note: This field may return null, indicating that no valid values can be obtained. + """ + if end_date_time is not None: + pulumi.set(__self__, "end_date_time", end_date_time) + if start_date_time is not None: + pulumi.set(__self__, "start_date_time", start_date_time) + + @property + @pulumi.getter(name="endDateTime") + def end_date_time(self) -> Optional[int]: + """ + End timestamp, in seconds + Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "end_date_time") + + @property + @pulumi.getter(name="startDateTime") + def start_date_time(self) -> Optional[int]: + """ + Start timestamp, in seconds + Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "start_date_time") + + @pulumi.output_type class SaasDomainPort(dict): @staticmethod @@ -1686,235 +1894,3 @@ def write_config(self) -> str: return pulumi.get(self, "write_config") -@pulumi.output_type -class GetWafInfosHostListResult(dict): - def __init__(__self__, *, - domain: str, - domain_id: str, - flow_mode: int, - load_balancers: Sequence['outputs.GetWafInfosHostListLoadBalancerResult'], - status: int): - """ - :param str domain: Domain name. - :param str domain_id: Domain unique ID. - :param int flow_mode: WAF traffic mode, 1 cleaning mode, 0 mirroring mode. - :param Sequence['GetWafInfosHostListLoadBalancerArgs'] load_balancers: LoadBalancer info bound by waf. - :param int status: Waf switch,0 off 1 on. - """ - pulumi.set(__self__, "domain", domain) - pulumi.set(__self__, "domain_id", domain_id) - pulumi.set(__self__, "flow_mode", flow_mode) - pulumi.set(__self__, "load_balancers", load_balancers) - pulumi.set(__self__, "status", status) - - @property - @pulumi.getter - def domain(self) -> str: - """ - Domain name. - """ - return pulumi.get(self, "domain") - - @property - @pulumi.getter(name="domainId") - def domain_id(self) -> str: - """ - Domain unique ID. - """ - return pulumi.get(self, "domain_id") - - @property - @pulumi.getter(name="flowMode") - def flow_mode(self) -> int: - """ - WAF traffic mode, 1 cleaning mode, 0 mirroring mode. - """ - return pulumi.get(self, "flow_mode") - - @property - @pulumi.getter(name="loadBalancers") - def load_balancers(self) -> Sequence['outputs.GetWafInfosHostListLoadBalancerResult']: - """ - LoadBalancer info bound by waf. - """ - return pulumi.get(self, "load_balancers") - - @property - @pulumi.getter - def status(self) -> int: - """ - Waf switch,0 off 1 on. - """ - return pulumi.get(self, "status") - - -@pulumi.output_type -class GetWafInfosHostListLoadBalancerResult(dict): - def __init__(__self__, *, - listener_id: str, - listener_name: str, - load_balancer_id: str, - load_balancer_name: str, - load_balancer_type: str, - numerical_vpc_id: int, - protocol: str, - region: str, - vip: str, - vport: int, - zone: str): - """ - :param str listener_id: Unique ID of listener in LB. - :param str listener_name: Listener name. - :param str load_balancer_id: LoadBalancer ID. - :param str load_balancer_name: LoadBalancer name. - :param str load_balancer_type: Network type for load balancerNote: This field may return null, indicating that a valid value cannot be obtained. - :param int numerical_vpc_id: VPCID for load balancer, public network is -1, and internal network is filled in according to actual conditionsNote: This field may return null, indicating that a valid value cannot be obtained. - :param str protocol: Protocol of listener,http or https. - :param str region: LoadBalancer region. - :param str vip: LoadBalancer IP. - :param int vport: LoadBalancer port. - :param str zone: LoadBalancer zone. - """ - pulumi.set(__self__, "listener_id", listener_id) - pulumi.set(__self__, "listener_name", listener_name) - pulumi.set(__self__, "load_balancer_id", load_balancer_id) - pulumi.set(__self__, "load_balancer_name", load_balancer_name) - pulumi.set(__self__, "load_balancer_type", load_balancer_type) - pulumi.set(__self__, "numerical_vpc_id", numerical_vpc_id) - pulumi.set(__self__, "protocol", protocol) - pulumi.set(__self__, "region", region) - pulumi.set(__self__, "vip", vip) - pulumi.set(__self__, "vport", vport) - pulumi.set(__self__, "zone", zone) - - @property - @pulumi.getter(name="listenerId") - def listener_id(self) -> str: - """ - Unique ID of listener in LB. - """ - return pulumi.get(self, "listener_id") - - @property - @pulumi.getter(name="listenerName") - def listener_name(self) -> str: - """ - Listener name. - """ - return pulumi.get(self, "listener_name") - - @property - @pulumi.getter(name="loadBalancerId") - def load_balancer_id(self) -> str: - """ - LoadBalancer ID. - """ - return pulumi.get(self, "load_balancer_id") - - @property - @pulumi.getter(name="loadBalancerName") - def load_balancer_name(self) -> str: - """ - LoadBalancer name. - """ - return pulumi.get(self, "load_balancer_name") - - @property - @pulumi.getter(name="loadBalancerType") - def load_balancer_type(self) -> str: - """ - Network type for load balancerNote: This field may return null, indicating that a valid value cannot be obtained. - """ - return pulumi.get(self, "load_balancer_type") - - @property - @pulumi.getter(name="numericalVpcId") - def numerical_vpc_id(self) -> int: - """ - VPCID for load balancer, public network is -1, and internal network is filled in according to actual conditionsNote: This field may return null, indicating that a valid value cannot be obtained. - """ - return pulumi.get(self, "numerical_vpc_id") - - @property - @pulumi.getter - def protocol(self) -> str: - """ - Protocol of listener,http or https. - """ - return pulumi.get(self, "protocol") - - @property - @pulumi.getter - def region(self) -> str: - """ - LoadBalancer region. - """ - return pulumi.get(self, "region") - - @property - @pulumi.getter - def vip(self) -> str: - """ - LoadBalancer IP. - """ - return pulumi.get(self, "vip") - - @property - @pulumi.getter - def vport(self) -> int: - """ - LoadBalancer port. - """ - return pulumi.get(self, "vport") - - @property - @pulumi.getter - def zone(self) -> str: - """ - LoadBalancer zone. - """ - return pulumi.get(self, "zone") - - -@pulumi.output_type -class GetWafInfosParamResult(dict): - def __init__(__self__, *, - load_balancer_id: str, - domain_id: Optional[str] = None, - listener_id: Optional[str] = None): - """ - :param str load_balancer_id: Loadbalancer unique ID.If this parameter is not passed, it will operate all listeners of this appid. If this parameter is not empty, it will operate listeners of the LoadBalancer only. - :param str domain_id: Domain unique ID. - :param str listener_id: Listener ID of LoadBalancer. - """ - pulumi.set(__self__, "load_balancer_id", load_balancer_id) - if domain_id is not None: - pulumi.set(__self__, "domain_id", domain_id) - if listener_id is not None: - pulumi.set(__self__, "listener_id", listener_id) - - @property - @pulumi.getter(name="loadBalancerId") - def load_balancer_id(self) -> str: - """ - Loadbalancer unique ID.If this parameter is not passed, it will operate all listeners of this appid. If this parameter is not empty, it will operate listeners of the LoadBalancer only. - """ - return pulumi.get(self, "load_balancer_id") - - @property - @pulumi.getter(name="domainId") - def domain_id(self) -> Optional[str]: - """ - Domain unique ID. - """ - return pulumi.get(self, "domain_id") - - @property - @pulumi.getter(name="listenerId") - def listener_id(self) -> Optional[str]: - """ - Listener ID of LoadBalancer. - """ - return pulumi.get(self, "listener_id") - -